strongdm.models

    1# Copyright 2020 StrongDM Inc
    2#
    3# Licensed under the Apache License, Version 2.0 (the "License");
    4# you may not use this file except in compliance with the License.
    5# You may obtain a copy of the License at
    6#
    7#     http://www.apache.org/licenses/LICENSE-2.0
    8#
    9# Unless required by applicable law or agreed to in writing, software
   10# distributed under the License is distributed on an "AS IS" BASIS,
   11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   12# See the License for the specific language governing permissions and
   13# limitations under the License.
   14#
   15
   16# Code generated by protogen. DO NOT EDIT.
   17
   18import collections
   19
   20
   21class AKS:
   22    __slots__ = [
   23        'allow_resource_role_bypass',
   24        'bind_interface',
   25        'certificate_authority',
   26        'client_certificate',
   27        'client_key',
   28        'discovery_enabled',
   29        'discovery_username',
   30        'egress_filter',
   31        'healthcheck_namespace',
   32        'healthy',
   33        'hostname',
   34        'id',
   35        'identity_alias_healthcheck_username',
   36        'identity_set_id',
   37        'name',
   38        'port',
   39        'port_override',
   40        'proxy_cluster_id',
   41        'secret_store_id',
   42        'subdomain',
   43        'tags',
   44    ]
   45
   46    def __init__(
   47        self,
   48        allow_resource_role_bypass=None,
   49        bind_interface=None,
   50        certificate_authority=None,
   51        client_certificate=None,
   52        client_key=None,
   53        discovery_enabled=None,
   54        discovery_username=None,
   55        egress_filter=None,
   56        healthcheck_namespace=None,
   57        healthy=None,
   58        hostname=None,
   59        id=None,
   60        identity_alias_healthcheck_username=None,
   61        identity_set_id=None,
   62        name=None,
   63        port=None,
   64        port_override=None,
   65        proxy_cluster_id=None,
   66        secret_store_id=None,
   67        subdomain=None,
   68        tags=None,
   69    ):
   70        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
   71        '''
   72         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
   73         when a resource role is not provided.
   74        '''
   75        self.bind_interface = bind_interface if bind_interface is not None else ''
   76        '''
   77         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
   78        '''
   79        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
   80        '''
   81         The CA to authenticate TLS connections with.
   82        '''
   83        self.client_certificate = client_certificate if client_certificate is not None else ''
   84        '''
   85         The certificate to authenticate TLS connections with.
   86        '''
   87        self.client_key = client_key if client_key is not None else ''
   88        '''
   89         The key to authenticate TLS connections with.
   90        '''
   91        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
   92        '''
   93         If true, configures discovery of a cluster to be run from a node.
   94        '''
   95        self.discovery_username = discovery_username if discovery_username is not None else ''
   96        '''
   97         If a cluster is configured for user impersonation, this is the user to impersonate when
   98         running discovery.
   99        '''
  100        self.egress_filter = egress_filter if egress_filter is not None else ''
  101        '''
  102         A filter applied to the routing logic to pin datasource to nodes.
  103        '''
  104        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
  105        '''
  106         The path used to check the health of your connection.  Defaults to `default`.
  107        '''
  108        self.healthy = healthy if healthy is not None else False
  109        '''
  110         True if the datasource is reachable and the credentials are valid.
  111        '''
  112        self.hostname = hostname if hostname is not None else ''
  113        '''
  114         The host to dial to initiate a connection from the egress node to this resource.
  115        '''
  116        self.id = id if id is not None else ''
  117        '''
  118         Unique identifier of the Resource.
  119        '''
  120        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
  121        '''
  122         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
  123        '''
  124        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
  125        '''
  126         The ID of the identity set to use for identity connections.
  127        '''
  128        self.name = name if name is not None else ''
  129        '''
  130         Unique human-readable name of the Resource.
  131        '''
  132        self.port = port if port is not None else 0
  133        '''
  134         The port to dial to initiate a connection from the egress node to this resource.
  135        '''
  136        self.port_override = port_override if port_override is not None else 0
  137        '''
  138         The local port used by clients to connect to this resource.
  139        '''
  140        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
  141        '''
  142         ID of the proxy cluster for this resource, if any.
  143        '''
  144        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
  145        '''
  146         ID of the secret store containing credentials for this resource, if any.
  147        '''
  148        self.subdomain = subdomain if subdomain is not None else ''
  149        '''
  150         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
  151        '''
  152        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
  153        '''
  154         Tags is a map of key, value pairs.
  155        '''
  156
  157    def __repr__(self):
  158        return '<sdm.AKS ' + \
  159            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
  160            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
  161            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
  162            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
  163            'client_key: ' + repr(self.client_key) + ' ' +\
  164            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
  165            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
  166            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
  167            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
  168            'healthy: ' + repr(self.healthy) + ' ' +\
  169            'hostname: ' + repr(self.hostname) + ' ' +\
  170            'id: ' + repr(self.id) + ' ' +\
  171            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
  172            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
  173            'name: ' + repr(self.name) + ' ' +\
  174            'port: ' + repr(self.port) + ' ' +\
  175            'port_override: ' + repr(self.port_override) + ' ' +\
  176            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
  177            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
  178            'subdomain: ' + repr(self.subdomain) + ' ' +\
  179            'tags: ' + repr(self.tags) + ' ' +\
  180            '>'
  181
  182    def to_dict(self):
  183        return {
  184            'allow_resource_role_bypass': self.allow_resource_role_bypass,
  185            'bind_interface': self.bind_interface,
  186            'certificate_authority': self.certificate_authority,
  187            'client_certificate': self.client_certificate,
  188            'client_key': self.client_key,
  189            'discovery_enabled': self.discovery_enabled,
  190            'discovery_username': self.discovery_username,
  191            'egress_filter': self.egress_filter,
  192            'healthcheck_namespace': self.healthcheck_namespace,
  193            'healthy': self.healthy,
  194            'hostname': self.hostname,
  195            'id': self.id,
  196            'identity_alias_healthcheck_username':
  197            self.identity_alias_healthcheck_username,
  198            'identity_set_id': self.identity_set_id,
  199            'name': self.name,
  200            'port': self.port,
  201            'port_override': self.port_override,
  202            'proxy_cluster_id': self.proxy_cluster_id,
  203            'secret_store_id': self.secret_store_id,
  204            'subdomain': self.subdomain,
  205            'tags': self.tags,
  206        }
  207
  208    @classmethod
  209    def from_dict(cls, d):
  210        return cls(
  211            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
  212            bind_interface=d.get('bind_interface'),
  213            certificate_authority=d.get('certificate_authority'),
  214            client_certificate=d.get('client_certificate'),
  215            client_key=d.get('client_key'),
  216            discovery_enabled=d.get('discovery_enabled'),
  217            discovery_username=d.get('discovery_username'),
  218            egress_filter=d.get('egress_filter'),
  219            healthcheck_namespace=d.get('healthcheck_namespace'),
  220            healthy=d.get('healthy'),
  221            hostname=d.get('hostname'),
  222            id=d.get('id'),
  223            identity_alias_healthcheck_username=d.get(
  224                'identity_alias_healthcheck_username'),
  225            identity_set_id=d.get('identity_set_id'),
  226            name=d.get('name'),
  227            port=d.get('port'),
  228            port_override=d.get('port_override'),
  229            proxy_cluster_id=d.get('proxy_cluster_id'),
  230            secret_store_id=d.get('secret_store_id'),
  231            subdomain=d.get('subdomain'),
  232            tags=d.get('tags'),
  233        )
  234
  235
  236class AKSBasicAuth:
  237    '''
  238    AKSBasicAuth is currently unstable, and its API may change, or it may be removed,
  239    without a major version bump.
  240    '''
  241    __slots__ = [
  242        'bind_interface',
  243        'egress_filter',
  244        'healthcheck_namespace',
  245        'healthy',
  246        'hostname',
  247        'id',
  248        'name',
  249        'password',
  250        'port',
  251        'port_override',
  252        'proxy_cluster_id',
  253        'secret_store_id',
  254        'subdomain',
  255        'tags',
  256        'username',
  257    ]
  258
  259    def __init__(
  260        self,
  261        bind_interface=None,
  262        egress_filter=None,
  263        healthcheck_namespace=None,
  264        healthy=None,
  265        hostname=None,
  266        id=None,
  267        name=None,
  268        password=None,
  269        port=None,
  270        port_override=None,
  271        proxy_cluster_id=None,
  272        secret_store_id=None,
  273        subdomain=None,
  274        tags=None,
  275        username=None,
  276    ):
  277        self.bind_interface = bind_interface if bind_interface is not None else ''
  278        '''
  279         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
  280        '''
  281        self.egress_filter = egress_filter if egress_filter is not None else ''
  282        '''
  283         A filter applied to the routing logic to pin datasource to nodes.
  284        '''
  285        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
  286        '''
  287         The path used to check the health of your connection.  Defaults to `default`.
  288        '''
  289        self.healthy = healthy if healthy is not None else False
  290        '''
  291         True if the datasource is reachable and the credentials are valid.
  292        '''
  293        self.hostname = hostname if hostname is not None else ''
  294        '''
  295         The host to dial to initiate a connection from the egress node to this resource.
  296        '''
  297        self.id = id if id is not None else ''
  298        '''
  299         Unique identifier of the Resource.
  300        '''
  301        self.name = name if name is not None else ''
  302        '''
  303         Unique human-readable name of the Resource.
  304        '''
  305        self.password = password if password is not None else ''
  306        '''
  307         The password to authenticate with.
  308        '''
  309        self.port = port if port is not None else 0
  310        '''
  311         The port to dial to initiate a connection from the egress node to this resource.
  312        '''
  313        self.port_override = port_override if port_override is not None else 0
  314        '''
  315         The local port used by clients to connect to this resource.
  316        '''
  317        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
  318        '''
  319         ID of the proxy cluster for this resource, if any.
  320        '''
  321        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
  322        '''
  323         ID of the secret store containing credentials for this resource, if any.
  324        '''
  325        self.subdomain = subdomain if subdomain is not None else ''
  326        '''
  327         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
  328        '''
  329        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
  330        '''
  331         Tags is a map of key, value pairs.
  332        '''
  333        self.username = username if username is not None else ''
  334        '''
  335         The username to authenticate with.
  336        '''
  337
  338    def __repr__(self):
  339        return '<sdm.AKSBasicAuth ' + \
  340            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
  341            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
  342            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
  343            'healthy: ' + repr(self.healthy) + ' ' +\
  344            'hostname: ' + repr(self.hostname) + ' ' +\
  345            'id: ' + repr(self.id) + ' ' +\
  346            'name: ' + repr(self.name) + ' ' +\
  347            'password: ' + repr(self.password) + ' ' +\
  348            'port: ' + repr(self.port) + ' ' +\
  349            'port_override: ' + repr(self.port_override) + ' ' +\
  350            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
  351            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
  352            'subdomain: ' + repr(self.subdomain) + ' ' +\
  353            'tags: ' + repr(self.tags) + ' ' +\
  354            'username: ' + repr(self.username) + ' ' +\
  355            '>'
  356
  357    def to_dict(self):
  358        return {
  359            'bind_interface': self.bind_interface,
  360            'egress_filter': self.egress_filter,
  361            'healthcheck_namespace': self.healthcheck_namespace,
  362            'healthy': self.healthy,
  363            'hostname': self.hostname,
  364            'id': self.id,
  365            'name': self.name,
  366            'password': self.password,
  367            'port': self.port,
  368            'port_override': self.port_override,
  369            'proxy_cluster_id': self.proxy_cluster_id,
  370            'secret_store_id': self.secret_store_id,
  371            'subdomain': self.subdomain,
  372            'tags': self.tags,
  373            'username': self.username,
  374        }
  375
  376    @classmethod
  377    def from_dict(cls, d):
  378        return cls(
  379            bind_interface=d.get('bind_interface'),
  380            egress_filter=d.get('egress_filter'),
  381            healthcheck_namespace=d.get('healthcheck_namespace'),
  382            healthy=d.get('healthy'),
  383            hostname=d.get('hostname'),
  384            id=d.get('id'),
  385            name=d.get('name'),
  386            password=d.get('password'),
  387            port=d.get('port'),
  388            port_override=d.get('port_override'),
  389            proxy_cluster_id=d.get('proxy_cluster_id'),
  390            secret_store_id=d.get('secret_store_id'),
  391            subdomain=d.get('subdomain'),
  392            tags=d.get('tags'),
  393            username=d.get('username'),
  394        )
  395
  396
  397class AKSServiceAccount:
  398    __slots__ = [
  399        'allow_resource_role_bypass',
  400        'bind_interface',
  401        'discovery_enabled',
  402        'discovery_username',
  403        'egress_filter',
  404        'healthcheck_namespace',
  405        'healthy',
  406        'hostname',
  407        'id',
  408        'identity_alias_healthcheck_username',
  409        'identity_set_id',
  410        'name',
  411        'port',
  412        'port_override',
  413        'proxy_cluster_id',
  414        'secret_store_id',
  415        'subdomain',
  416        'tags',
  417        'token',
  418    ]
  419
  420    def __init__(
  421        self,
  422        allow_resource_role_bypass=None,
  423        bind_interface=None,
  424        discovery_enabled=None,
  425        discovery_username=None,
  426        egress_filter=None,
  427        healthcheck_namespace=None,
  428        healthy=None,
  429        hostname=None,
  430        id=None,
  431        identity_alias_healthcheck_username=None,
  432        identity_set_id=None,
  433        name=None,
  434        port=None,
  435        port_override=None,
  436        proxy_cluster_id=None,
  437        secret_store_id=None,
  438        subdomain=None,
  439        tags=None,
  440        token=None,
  441    ):
  442        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
  443        '''
  444         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
  445         when a resource role is not provided.
  446        '''
  447        self.bind_interface = bind_interface if bind_interface is not None else ''
  448        '''
  449         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
  450        '''
  451        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
  452        '''
  453         If true, configures discovery of a cluster to be run from a node.
  454        '''
  455        self.discovery_username = discovery_username if discovery_username is not None else ''
  456        '''
  457         If a cluster is configured for user impersonation, this is the user to impersonate when
  458         running discovery.
  459        '''
  460        self.egress_filter = egress_filter if egress_filter is not None else ''
  461        '''
  462         A filter applied to the routing logic to pin datasource to nodes.
  463        '''
  464        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
  465        '''
  466         The path used to check the health of your connection.  Defaults to `default`.
  467        '''
  468        self.healthy = healthy if healthy is not None else False
  469        '''
  470         True if the datasource is reachable and the credentials are valid.
  471        '''
  472        self.hostname = hostname if hostname is not None else ''
  473        '''
  474         The host to dial to initiate a connection from the egress node to this resource.
  475        '''
  476        self.id = id if id is not None else ''
  477        '''
  478         Unique identifier of the Resource.
  479        '''
  480        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
  481        '''
  482         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
  483        '''
  484        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
  485        '''
  486         The ID of the identity set to use for identity connections.
  487        '''
  488        self.name = name if name is not None else ''
  489        '''
  490         Unique human-readable name of the Resource.
  491        '''
  492        self.port = port if port is not None else 0
  493        '''
  494         The port to dial to initiate a connection from the egress node to this resource.
  495        '''
  496        self.port_override = port_override if port_override is not None else 0
  497        '''
  498         The local port used by clients to connect to this resource.
  499        '''
  500        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
  501        '''
  502         ID of the proxy cluster for this resource, if any.
  503        '''
  504        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
  505        '''
  506         ID of the secret store containing credentials for this resource, if any.
  507        '''
  508        self.subdomain = subdomain if subdomain is not None else ''
  509        '''
  510         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
  511        '''
  512        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
  513        '''
  514         Tags is a map of key, value pairs.
  515        '''
  516        self.token = token if token is not None else ''
  517        '''
  518         The API token to authenticate with.
  519        '''
  520
  521    def __repr__(self):
  522        return '<sdm.AKSServiceAccount ' + \
  523            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
  524            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
  525            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
  526            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
  527            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
  528            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
  529            'healthy: ' + repr(self.healthy) + ' ' +\
  530            'hostname: ' + repr(self.hostname) + ' ' +\
  531            'id: ' + repr(self.id) + ' ' +\
  532            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
  533            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
  534            'name: ' + repr(self.name) + ' ' +\
  535            'port: ' + repr(self.port) + ' ' +\
  536            'port_override: ' + repr(self.port_override) + ' ' +\
  537            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
  538            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
  539            'subdomain: ' + repr(self.subdomain) + ' ' +\
  540            'tags: ' + repr(self.tags) + ' ' +\
  541            'token: ' + repr(self.token) + ' ' +\
  542            '>'
  543
  544    def to_dict(self):
  545        return {
  546            'allow_resource_role_bypass': self.allow_resource_role_bypass,
  547            'bind_interface': self.bind_interface,
  548            'discovery_enabled': self.discovery_enabled,
  549            'discovery_username': self.discovery_username,
  550            'egress_filter': self.egress_filter,
  551            'healthcheck_namespace': self.healthcheck_namespace,
  552            'healthy': self.healthy,
  553            'hostname': self.hostname,
  554            'id': self.id,
  555            'identity_alias_healthcheck_username':
  556            self.identity_alias_healthcheck_username,
  557            'identity_set_id': self.identity_set_id,
  558            'name': self.name,
  559            'port': self.port,
  560            'port_override': self.port_override,
  561            'proxy_cluster_id': self.proxy_cluster_id,
  562            'secret_store_id': self.secret_store_id,
  563            'subdomain': self.subdomain,
  564            'tags': self.tags,
  565            'token': self.token,
  566        }
  567
  568    @classmethod
  569    def from_dict(cls, d):
  570        return cls(
  571            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
  572            bind_interface=d.get('bind_interface'),
  573            discovery_enabled=d.get('discovery_enabled'),
  574            discovery_username=d.get('discovery_username'),
  575            egress_filter=d.get('egress_filter'),
  576            healthcheck_namespace=d.get('healthcheck_namespace'),
  577            healthy=d.get('healthy'),
  578            hostname=d.get('hostname'),
  579            id=d.get('id'),
  580            identity_alias_healthcheck_username=d.get(
  581                'identity_alias_healthcheck_username'),
  582            identity_set_id=d.get('identity_set_id'),
  583            name=d.get('name'),
  584            port=d.get('port'),
  585            port_override=d.get('port_override'),
  586            proxy_cluster_id=d.get('proxy_cluster_id'),
  587            secret_store_id=d.get('secret_store_id'),
  588            subdomain=d.get('subdomain'),
  589            tags=d.get('tags'),
  590            token=d.get('token'),
  591        )
  592
  593
  594class AKSServiceAccountUserImpersonation:
  595    __slots__ = [
  596        'bind_interface',
  597        'egress_filter',
  598        'healthcheck_namespace',
  599        'healthy',
  600        'hostname',
  601        'id',
  602        'name',
  603        'port',
  604        'port_override',
  605        'proxy_cluster_id',
  606        'secret_store_id',
  607        'subdomain',
  608        'tags',
  609        'token',
  610    ]
  611
  612    def __init__(
  613        self,
  614        bind_interface=None,
  615        egress_filter=None,
  616        healthcheck_namespace=None,
  617        healthy=None,
  618        hostname=None,
  619        id=None,
  620        name=None,
  621        port=None,
  622        port_override=None,
  623        proxy_cluster_id=None,
  624        secret_store_id=None,
  625        subdomain=None,
  626        tags=None,
  627        token=None,
  628    ):
  629        self.bind_interface = bind_interface if bind_interface is not None else ''
  630        '''
  631         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
  632        '''
  633        self.egress_filter = egress_filter if egress_filter is not None else ''
  634        '''
  635         A filter applied to the routing logic to pin datasource to nodes.
  636        '''
  637        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
  638        '''
  639         The path used to check the health of your connection.  Defaults to `default`.
  640        '''
  641        self.healthy = healthy if healthy is not None else False
  642        '''
  643         True if the datasource is reachable and the credentials are valid.
  644        '''
  645        self.hostname = hostname if hostname is not None else ''
  646        '''
  647         The host to dial to initiate a connection from the egress node to this resource.
  648        '''
  649        self.id = id if id is not None else ''
  650        '''
  651         Unique identifier of the Resource.
  652        '''
  653        self.name = name if name is not None else ''
  654        '''
  655         Unique human-readable name of the Resource.
  656        '''
  657        self.port = port if port is not None else 0
  658        '''
  659         The port to dial to initiate a connection from the egress node to this resource.
  660        '''
  661        self.port_override = port_override if port_override is not None else 0
  662        '''
  663         The local port used by clients to connect to this resource.
  664        '''
  665        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
  666        '''
  667         ID of the proxy cluster for this resource, if any.
  668        '''
  669        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
  670        '''
  671         ID of the secret store containing credentials for this resource, if any.
  672        '''
  673        self.subdomain = subdomain if subdomain is not None else ''
  674        '''
  675         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
  676        '''
  677        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
  678        '''
  679         Tags is a map of key, value pairs.
  680        '''
  681        self.token = token if token is not None else ''
  682        '''
  683         The API token to authenticate with.
  684        '''
  685
  686    def __repr__(self):
  687        return '<sdm.AKSServiceAccountUserImpersonation ' + \
  688            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
  689            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
  690            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
  691            'healthy: ' + repr(self.healthy) + ' ' +\
  692            'hostname: ' + repr(self.hostname) + ' ' +\
  693            'id: ' + repr(self.id) + ' ' +\
  694            'name: ' + repr(self.name) + ' ' +\
  695            'port: ' + repr(self.port) + ' ' +\
  696            'port_override: ' + repr(self.port_override) + ' ' +\
  697            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
  698            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
  699            'subdomain: ' + repr(self.subdomain) + ' ' +\
  700            'tags: ' + repr(self.tags) + ' ' +\
  701            'token: ' + repr(self.token) + ' ' +\
  702            '>'
  703
  704    def to_dict(self):
  705        return {
  706            'bind_interface': self.bind_interface,
  707            'egress_filter': self.egress_filter,
  708            'healthcheck_namespace': self.healthcheck_namespace,
  709            'healthy': self.healthy,
  710            'hostname': self.hostname,
  711            'id': self.id,
  712            'name': self.name,
  713            'port': self.port,
  714            'port_override': self.port_override,
  715            'proxy_cluster_id': self.proxy_cluster_id,
  716            'secret_store_id': self.secret_store_id,
  717            'subdomain': self.subdomain,
  718            'tags': self.tags,
  719            'token': self.token,
  720        }
  721
  722    @classmethod
  723    def from_dict(cls, d):
  724        return cls(
  725            bind_interface=d.get('bind_interface'),
  726            egress_filter=d.get('egress_filter'),
  727            healthcheck_namespace=d.get('healthcheck_namespace'),
  728            healthy=d.get('healthy'),
  729            hostname=d.get('hostname'),
  730            id=d.get('id'),
  731            name=d.get('name'),
  732            port=d.get('port'),
  733            port_override=d.get('port_override'),
  734            proxy_cluster_id=d.get('proxy_cluster_id'),
  735            secret_store_id=d.get('secret_store_id'),
  736            subdomain=d.get('subdomain'),
  737            tags=d.get('tags'),
  738            token=d.get('token'),
  739        )
  740
  741
  742class AKSUserImpersonation:
  743    __slots__ = [
  744        'bind_interface',
  745        'certificate_authority',
  746        'client_certificate',
  747        'client_key',
  748        'egress_filter',
  749        'healthcheck_namespace',
  750        'healthy',
  751        'hostname',
  752        'id',
  753        'name',
  754        'port',
  755        'port_override',
  756        'proxy_cluster_id',
  757        'secret_store_id',
  758        'subdomain',
  759        'tags',
  760    ]
  761
  762    def __init__(
  763        self,
  764        bind_interface=None,
  765        certificate_authority=None,
  766        client_certificate=None,
  767        client_key=None,
  768        egress_filter=None,
  769        healthcheck_namespace=None,
  770        healthy=None,
  771        hostname=None,
  772        id=None,
  773        name=None,
  774        port=None,
  775        port_override=None,
  776        proxy_cluster_id=None,
  777        secret_store_id=None,
  778        subdomain=None,
  779        tags=None,
  780    ):
  781        self.bind_interface = bind_interface if bind_interface is not None else ''
  782        '''
  783         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
  784        '''
  785        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
  786        '''
  787         The CA to authenticate TLS connections with.
  788        '''
  789        self.client_certificate = client_certificate if client_certificate is not None else ''
  790        '''
  791         The certificate to authenticate TLS connections with.
  792        '''
  793        self.client_key = client_key if client_key is not None else ''
  794        '''
  795         The key to authenticate TLS connections with.
  796        '''
  797        self.egress_filter = egress_filter if egress_filter is not None else ''
  798        '''
  799         A filter applied to the routing logic to pin datasource to nodes.
  800        '''
  801        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
  802        '''
  803         The path used to check the health of your connection.  Defaults to `default`.
  804        '''
  805        self.healthy = healthy if healthy is not None else False
  806        '''
  807         True if the datasource is reachable and the credentials are valid.
  808        '''
  809        self.hostname = hostname if hostname is not None else ''
  810        '''
  811         The host to dial to initiate a connection from the egress node to this resource.
  812        '''
  813        self.id = id if id is not None else ''
  814        '''
  815         Unique identifier of the Resource.
  816        '''
  817        self.name = name if name is not None else ''
  818        '''
  819         Unique human-readable name of the Resource.
  820        '''
  821        self.port = port if port is not None else 0
  822        '''
  823         The port to dial to initiate a connection from the egress node to this resource.
  824        '''
  825        self.port_override = port_override if port_override is not None else 0
  826        '''
  827         The local port used by clients to connect to this resource.
  828        '''
  829        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
  830        '''
  831         ID of the proxy cluster for this resource, if any.
  832        '''
  833        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
  834        '''
  835         ID of the secret store containing credentials for this resource, if any.
  836        '''
  837        self.subdomain = subdomain if subdomain is not None else ''
  838        '''
  839         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
  840        '''
  841        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
  842        '''
  843         Tags is a map of key, value pairs.
  844        '''
  845
  846    def __repr__(self):
  847        return '<sdm.AKSUserImpersonation ' + \
  848            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
  849            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
  850            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
  851            'client_key: ' + repr(self.client_key) + ' ' +\
  852            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
  853            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
  854            'healthy: ' + repr(self.healthy) + ' ' +\
  855            'hostname: ' + repr(self.hostname) + ' ' +\
  856            'id: ' + repr(self.id) + ' ' +\
  857            'name: ' + repr(self.name) + ' ' +\
  858            'port: ' + repr(self.port) + ' ' +\
  859            'port_override: ' + repr(self.port_override) + ' ' +\
  860            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
  861            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
  862            'subdomain: ' + repr(self.subdomain) + ' ' +\
  863            'tags: ' + repr(self.tags) + ' ' +\
  864            '>'
  865
  866    def to_dict(self):
  867        return {
  868            'bind_interface': self.bind_interface,
  869            'certificate_authority': self.certificate_authority,
  870            'client_certificate': self.client_certificate,
  871            'client_key': self.client_key,
  872            'egress_filter': self.egress_filter,
  873            'healthcheck_namespace': self.healthcheck_namespace,
  874            'healthy': self.healthy,
  875            'hostname': self.hostname,
  876            'id': self.id,
  877            'name': self.name,
  878            'port': self.port,
  879            'port_override': self.port_override,
  880            'proxy_cluster_id': self.proxy_cluster_id,
  881            'secret_store_id': self.secret_store_id,
  882            'subdomain': self.subdomain,
  883            'tags': self.tags,
  884        }
  885
  886    @classmethod
  887    def from_dict(cls, d):
  888        return cls(
  889            bind_interface=d.get('bind_interface'),
  890            certificate_authority=d.get('certificate_authority'),
  891            client_certificate=d.get('client_certificate'),
  892            client_key=d.get('client_key'),
  893            egress_filter=d.get('egress_filter'),
  894            healthcheck_namespace=d.get('healthcheck_namespace'),
  895            healthy=d.get('healthy'),
  896            hostname=d.get('hostname'),
  897            id=d.get('id'),
  898            name=d.get('name'),
  899            port=d.get('port'),
  900            port_override=d.get('port_override'),
  901            proxy_cluster_id=d.get('proxy_cluster_id'),
  902            secret_store_id=d.get('secret_store_id'),
  903            subdomain=d.get('subdomain'),
  904            tags=d.get('tags'),
  905        )
  906
  907
  908class AWS:
  909    __slots__ = [
  910        'access_key',
  911        'bind_interface',
  912        'egress_filter',
  913        'healthcheck_region',
  914        'healthy',
  915        'id',
  916        'name',
  917        'port_override',
  918        'proxy_cluster_id',
  919        'role_arn',
  920        'role_external_id',
  921        'secret_access_key',
  922        'secret_store_id',
  923        'subdomain',
  924        'tags',
  925    ]
  926
  927    def __init__(
  928        self,
  929        access_key=None,
  930        bind_interface=None,
  931        egress_filter=None,
  932        healthcheck_region=None,
  933        healthy=None,
  934        id=None,
  935        name=None,
  936        port_override=None,
  937        proxy_cluster_id=None,
  938        role_arn=None,
  939        role_external_id=None,
  940        secret_access_key=None,
  941        secret_store_id=None,
  942        subdomain=None,
  943        tags=None,
  944    ):
  945        self.access_key = access_key if access_key is not None else ''
  946        '''
  947         The Access Key ID to use to authenticate.
  948        '''
  949        self.bind_interface = bind_interface if bind_interface is not None else ''
  950        '''
  951         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
  952        '''
  953        self.egress_filter = egress_filter if egress_filter is not None else ''
  954        '''
  955         A filter applied to the routing logic to pin datasource to nodes.
  956        '''
  957        self.healthcheck_region = healthcheck_region if healthcheck_region is not None else ''
  958        '''
  959         The AWS region healthcheck requests should attempt to connect to.
  960        '''
  961        self.healthy = healthy if healthy is not None else False
  962        '''
  963         True if the datasource is reachable and the credentials are valid.
  964        '''
  965        self.id = id if id is not None else ''
  966        '''
  967         Unique identifier of the Resource.
  968        '''
  969        self.name = name if name is not None else ''
  970        '''
  971         Unique human-readable name of the Resource.
  972        '''
  973        self.port_override = port_override if port_override is not None else 0
  974        '''
  975         The local port used by clients to connect to this resource.
  976        '''
  977        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
  978        '''
  979         ID of the proxy cluster for this resource, if any.
  980        '''
  981        self.role_arn = role_arn if role_arn is not None else ''
  982        '''
  983         The role to assume after logging in.
  984        '''
  985        self.role_external_id = role_external_id if role_external_id is not None else ''
  986        '''
  987         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
  988        '''
  989        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
  990        '''
  991         The Secret Access Key to use to authenticate.
  992        '''
  993        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
  994        '''
  995         ID of the secret store containing credentials for this resource, if any.
  996        '''
  997        self.subdomain = subdomain if subdomain is not None else ''
  998        '''
  999         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 1000        '''
 1001        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 1002        '''
 1003         Tags is a map of key, value pairs.
 1004        '''
 1005
 1006    def __repr__(self):
 1007        return '<sdm.AWS ' + \
 1008            'access_key: ' + repr(self.access_key) + ' ' +\
 1009            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 1010            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 1011            'healthcheck_region: ' + repr(self.healthcheck_region) + ' ' +\
 1012            'healthy: ' + repr(self.healthy) + ' ' +\
 1013            'id: ' + repr(self.id) + ' ' +\
 1014            'name: ' + repr(self.name) + ' ' +\
 1015            'port_override: ' + repr(self.port_override) + ' ' +\
 1016            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 1017            'role_arn: ' + repr(self.role_arn) + ' ' +\
 1018            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 1019            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
 1020            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 1021            'subdomain: ' + repr(self.subdomain) + ' ' +\
 1022            'tags: ' + repr(self.tags) + ' ' +\
 1023            '>'
 1024
 1025    def to_dict(self):
 1026        return {
 1027            'access_key': self.access_key,
 1028            'bind_interface': self.bind_interface,
 1029            'egress_filter': self.egress_filter,
 1030            'healthcheck_region': self.healthcheck_region,
 1031            'healthy': self.healthy,
 1032            'id': self.id,
 1033            'name': self.name,
 1034            'port_override': self.port_override,
 1035            'proxy_cluster_id': self.proxy_cluster_id,
 1036            'role_arn': self.role_arn,
 1037            'role_external_id': self.role_external_id,
 1038            'secret_access_key': self.secret_access_key,
 1039            'secret_store_id': self.secret_store_id,
 1040            'subdomain': self.subdomain,
 1041            'tags': self.tags,
 1042        }
 1043
 1044    @classmethod
 1045    def from_dict(cls, d):
 1046        return cls(
 1047            access_key=d.get('access_key'),
 1048            bind_interface=d.get('bind_interface'),
 1049            egress_filter=d.get('egress_filter'),
 1050            healthcheck_region=d.get('healthcheck_region'),
 1051            healthy=d.get('healthy'),
 1052            id=d.get('id'),
 1053            name=d.get('name'),
 1054            port_override=d.get('port_override'),
 1055            proxy_cluster_id=d.get('proxy_cluster_id'),
 1056            role_arn=d.get('role_arn'),
 1057            role_external_id=d.get('role_external_id'),
 1058            secret_access_key=d.get('secret_access_key'),
 1059            secret_store_id=d.get('secret_store_id'),
 1060            subdomain=d.get('subdomain'),
 1061            tags=d.get('tags'),
 1062        )
 1063
 1064
 1065class AWSCertX509Store:
 1066    __slots__ = [
 1067        'caarn',
 1068        'certificatetemplatearn',
 1069        'id',
 1070        'issuedcertttlminutes',
 1071        'name',
 1072        'region',
 1073        'signingalgo',
 1074        'tags',
 1075    ]
 1076
 1077    def __init__(
 1078        self,
 1079        caarn=None,
 1080        certificatetemplatearn=None,
 1081        id=None,
 1082        issuedcertttlminutes=None,
 1083        name=None,
 1084        region=None,
 1085        signingalgo=None,
 1086        tags=None,
 1087    ):
 1088        self.caarn = caarn if caarn is not None else ''
 1089        '''
 1090         The ARN of the CA in AWS Private CA
 1091        '''
 1092        self.certificatetemplatearn = certificatetemplatearn if certificatetemplatearn is not None else ''
 1093        '''
 1094         The ARN of the AWS certificate template for requested certificates. Must allow SAN, key usage, and ext key usage passthrough from CSR
 1095        '''
 1096        self.id = id if id is not None else ''
 1097        '''
 1098         Unique identifier of the SecretStore.
 1099        '''
 1100        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
 1101        '''
 1102         The lifetime of certificates issued by this CA represented in minutes.
 1103        '''
 1104        self.name = name if name is not None else ''
 1105        '''
 1106         Unique human-readable name of the SecretStore.
 1107        '''
 1108        self.region = region if region is not None else ''
 1109        '''
 1110         The AWS region to target e.g. us-east-1
 1111        '''
 1112        self.signingalgo = signingalgo if signingalgo is not None else ''
 1113        '''
 1114         The specified signing algorithm family (RSA or ECDSA) must match the algorithm family of the CA's secret key. e.g. SHA256WITHRSA
 1115        '''
 1116        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 1117        '''
 1118         Tags is a map of key, value pairs.
 1119        '''
 1120
 1121    def __repr__(self):
 1122        return '<sdm.AWSCertX509Store ' + \
 1123            'caarn: ' + repr(self.caarn) + ' ' +\
 1124            'certificatetemplatearn: ' + repr(self.certificatetemplatearn) + ' ' +\
 1125            'id: ' + repr(self.id) + ' ' +\
 1126            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
 1127            'name: ' + repr(self.name) + ' ' +\
 1128            'region: ' + repr(self.region) + ' ' +\
 1129            'signingalgo: ' + repr(self.signingalgo) + ' ' +\
 1130            'tags: ' + repr(self.tags) + ' ' +\
 1131            '>'
 1132
 1133    def to_dict(self):
 1134        return {
 1135            'caarn': self.caarn,
 1136            'certificatetemplatearn': self.certificatetemplatearn,
 1137            'id': self.id,
 1138            'issuedcertttlminutes': self.issuedcertttlminutes,
 1139            'name': self.name,
 1140            'region': self.region,
 1141            'signingalgo': self.signingalgo,
 1142            'tags': self.tags,
 1143        }
 1144
 1145    @classmethod
 1146    def from_dict(cls, d):
 1147        return cls(
 1148            caarn=d.get('caarn'),
 1149            certificatetemplatearn=d.get('certificatetemplatearn'),
 1150            id=d.get('id'),
 1151            issuedcertttlminutes=d.get('issuedcertttlminutes'),
 1152            name=d.get('name'),
 1153            region=d.get('region'),
 1154            signingalgo=d.get('signingalgo'),
 1155            tags=d.get('tags'),
 1156        )
 1157
 1158
 1159class AWSConsole:
 1160    __slots__ = [
 1161        'bind_interface',
 1162        'egress_filter',
 1163        'enable_env_variables',
 1164        'healthy',
 1165        'id',
 1166        'identity_alias_healthcheck_username',
 1167        'identity_set_id',
 1168        'name',
 1169        'port_override',
 1170        'proxy_cluster_id',
 1171        'region',
 1172        'role_arn',
 1173        'role_external_id',
 1174        'secret_store_id',
 1175        'session_expiry',
 1176        'subdomain',
 1177        'tags',
 1178    ]
 1179
 1180    def __init__(
 1181        self,
 1182        bind_interface=None,
 1183        egress_filter=None,
 1184        enable_env_variables=None,
 1185        healthy=None,
 1186        id=None,
 1187        identity_alias_healthcheck_username=None,
 1188        identity_set_id=None,
 1189        name=None,
 1190        port_override=None,
 1191        proxy_cluster_id=None,
 1192        region=None,
 1193        role_arn=None,
 1194        role_external_id=None,
 1195        secret_store_id=None,
 1196        session_expiry=None,
 1197        subdomain=None,
 1198        tags=None,
 1199    ):
 1200        self.bind_interface = bind_interface if bind_interface is not None else ''
 1201        '''
 1202         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 1203        '''
 1204        self.egress_filter = egress_filter if egress_filter is not None else ''
 1205        '''
 1206         A filter applied to the routing logic to pin datasource to nodes.
 1207        '''
 1208        self.enable_env_variables = enable_env_variables if enable_env_variables is not None else False
 1209        '''
 1210         If true, prefer environment variables to authenticate connection even if EC2 roles are configured.
 1211        '''
 1212        self.healthy = healthy if healthy is not None else False
 1213        '''
 1214         True if the datasource is reachable and the credentials are valid.
 1215        '''
 1216        self.id = id if id is not None else ''
 1217        '''
 1218         Unique identifier of the Resource.
 1219        '''
 1220        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
 1221        '''
 1222         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
 1223        '''
 1224        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
 1225        '''
 1226         The ID of the identity set to use for identity connections.
 1227        '''
 1228        self.name = name if name is not None else ''
 1229        '''
 1230         Unique human-readable name of the Resource.
 1231        '''
 1232        self.port_override = port_override if port_override is not None else 0
 1233        '''
 1234         The local port used by clients to connect to this resource.
 1235        '''
 1236        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 1237        '''
 1238         ID of the proxy cluster for this resource, if any.
 1239        '''
 1240        self.region = region if region is not None else ''
 1241        '''
 1242         The AWS region to connect to.
 1243        '''
 1244        self.role_arn = role_arn if role_arn is not None else ''
 1245        '''
 1246         The role to assume after logging in.
 1247        '''
 1248        self.role_external_id = role_external_id if role_external_id is not None else ''
 1249        '''
 1250         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 1251        '''
 1252        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 1253        '''
 1254         ID of the secret store containing credentials for this resource, if any.
 1255        '''
 1256        self.session_expiry = session_expiry if session_expiry is not None else 0
 1257        '''
 1258         The length of time in seconds AWS console sessions will live before needing to reauthenticate.
 1259        '''
 1260        self.subdomain = subdomain if subdomain is not None else ''
 1261        '''
 1262         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 1263        '''
 1264        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 1265        '''
 1266         Tags is a map of key, value pairs.
 1267        '''
 1268
 1269    def __repr__(self):
 1270        return '<sdm.AWSConsole ' + \
 1271            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 1272            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 1273            'enable_env_variables: ' + repr(self.enable_env_variables) + ' ' +\
 1274            'healthy: ' + repr(self.healthy) + ' ' +\
 1275            'id: ' + repr(self.id) + ' ' +\
 1276            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
 1277            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
 1278            'name: ' + repr(self.name) + ' ' +\
 1279            'port_override: ' + repr(self.port_override) + ' ' +\
 1280            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 1281            'region: ' + repr(self.region) + ' ' +\
 1282            'role_arn: ' + repr(self.role_arn) + ' ' +\
 1283            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 1284            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 1285            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
 1286            'subdomain: ' + repr(self.subdomain) + ' ' +\
 1287            'tags: ' + repr(self.tags) + ' ' +\
 1288            '>'
 1289
 1290    def to_dict(self):
 1291        return {
 1292            'bind_interface': self.bind_interface,
 1293            'egress_filter': self.egress_filter,
 1294            'enable_env_variables': self.enable_env_variables,
 1295            'healthy': self.healthy,
 1296            'id': self.id,
 1297            'identity_alias_healthcheck_username':
 1298            self.identity_alias_healthcheck_username,
 1299            'identity_set_id': self.identity_set_id,
 1300            'name': self.name,
 1301            'port_override': self.port_override,
 1302            'proxy_cluster_id': self.proxy_cluster_id,
 1303            'region': self.region,
 1304            'role_arn': self.role_arn,
 1305            'role_external_id': self.role_external_id,
 1306            'secret_store_id': self.secret_store_id,
 1307            'session_expiry': self.session_expiry,
 1308            'subdomain': self.subdomain,
 1309            'tags': self.tags,
 1310        }
 1311
 1312    @classmethod
 1313    def from_dict(cls, d):
 1314        return cls(
 1315            bind_interface=d.get('bind_interface'),
 1316            egress_filter=d.get('egress_filter'),
 1317            enable_env_variables=d.get('enable_env_variables'),
 1318            healthy=d.get('healthy'),
 1319            id=d.get('id'),
 1320            identity_alias_healthcheck_username=d.get(
 1321                'identity_alias_healthcheck_username'),
 1322            identity_set_id=d.get('identity_set_id'),
 1323            name=d.get('name'),
 1324            port_override=d.get('port_override'),
 1325            proxy_cluster_id=d.get('proxy_cluster_id'),
 1326            region=d.get('region'),
 1327            role_arn=d.get('role_arn'),
 1328            role_external_id=d.get('role_external_id'),
 1329            secret_store_id=d.get('secret_store_id'),
 1330            session_expiry=d.get('session_expiry'),
 1331            subdomain=d.get('subdomain'),
 1332            tags=d.get('tags'),
 1333        )
 1334
 1335
 1336class AWSConsoleStaticKeyPair:
 1337    __slots__ = [
 1338        'access_key',
 1339        'bind_interface',
 1340        'egress_filter',
 1341        'healthy',
 1342        'id',
 1343        'identity_alias_healthcheck_username',
 1344        'identity_set_id',
 1345        'name',
 1346        'port_override',
 1347        'proxy_cluster_id',
 1348        'region',
 1349        'role_arn',
 1350        'role_external_id',
 1351        'secret_access_key',
 1352        'secret_store_id',
 1353        'session_expiry',
 1354        'subdomain',
 1355        'tags',
 1356    ]
 1357
 1358    def __init__(
 1359        self,
 1360        access_key=None,
 1361        bind_interface=None,
 1362        egress_filter=None,
 1363        healthy=None,
 1364        id=None,
 1365        identity_alias_healthcheck_username=None,
 1366        identity_set_id=None,
 1367        name=None,
 1368        port_override=None,
 1369        proxy_cluster_id=None,
 1370        region=None,
 1371        role_arn=None,
 1372        role_external_id=None,
 1373        secret_access_key=None,
 1374        secret_store_id=None,
 1375        session_expiry=None,
 1376        subdomain=None,
 1377        tags=None,
 1378    ):
 1379        self.access_key = access_key if access_key is not None else ''
 1380        '''
 1381         The Access Key ID to authenticate with.
 1382        '''
 1383        self.bind_interface = bind_interface if bind_interface is not None else ''
 1384        '''
 1385         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 1386        '''
 1387        self.egress_filter = egress_filter if egress_filter is not None else ''
 1388        '''
 1389         A filter applied to the routing logic to pin datasource to nodes.
 1390        '''
 1391        self.healthy = healthy if healthy is not None else False
 1392        '''
 1393         True if the datasource is reachable and the credentials are valid.
 1394        '''
 1395        self.id = id if id is not None else ''
 1396        '''
 1397         Unique identifier of the Resource.
 1398        '''
 1399        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
 1400        '''
 1401         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
 1402        '''
 1403        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
 1404        '''
 1405         The ID of the identity set to use for identity connections.
 1406        '''
 1407        self.name = name if name is not None else ''
 1408        '''
 1409         Unique human-readable name of the Resource.
 1410        '''
 1411        self.port_override = port_override if port_override is not None else 0
 1412        '''
 1413         The local port used by clients to connect to this resource.
 1414        '''
 1415        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 1416        '''
 1417         ID of the proxy cluster for this resource, if any.
 1418        '''
 1419        self.region = region if region is not None else ''
 1420        '''
 1421         The AWS region to connect to.
 1422        '''
 1423        self.role_arn = role_arn if role_arn is not None else ''
 1424        '''
 1425         The role to assume after logging in.
 1426        '''
 1427        self.role_external_id = role_external_id if role_external_id is not None else ''
 1428        '''
 1429         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 1430        '''
 1431        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
 1432        '''
 1433         The Secret Access Key to authenticate with.
 1434        '''
 1435        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 1436        '''
 1437         ID of the secret store containing credentials for this resource, if any.
 1438        '''
 1439        self.session_expiry = session_expiry if session_expiry is not None else 0
 1440        '''
 1441         The length of time in seconds AWS console sessions will live before needing to reauthenticate.
 1442        '''
 1443        self.subdomain = subdomain if subdomain is not None else ''
 1444        '''
 1445         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 1446        '''
 1447        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 1448        '''
 1449         Tags is a map of key, value pairs.
 1450        '''
 1451
 1452    def __repr__(self):
 1453        return '<sdm.AWSConsoleStaticKeyPair ' + \
 1454            'access_key: ' + repr(self.access_key) + ' ' +\
 1455            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 1456            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 1457            'healthy: ' + repr(self.healthy) + ' ' +\
 1458            'id: ' + repr(self.id) + ' ' +\
 1459            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
 1460            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
 1461            'name: ' + repr(self.name) + ' ' +\
 1462            'port_override: ' + repr(self.port_override) + ' ' +\
 1463            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 1464            'region: ' + repr(self.region) + ' ' +\
 1465            'role_arn: ' + repr(self.role_arn) + ' ' +\
 1466            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 1467            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
 1468            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 1469            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
 1470            'subdomain: ' + repr(self.subdomain) + ' ' +\
 1471            'tags: ' + repr(self.tags) + ' ' +\
 1472            '>'
 1473
 1474    def to_dict(self):
 1475        return {
 1476            'access_key': self.access_key,
 1477            'bind_interface': self.bind_interface,
 1478            'egress_filter': self.egress_filter,
 1479            'healthy': self.healthy,
 1480            'id': self.id,
 1481            'identity_alias_healthcheck_username':
 1482            self.identity_alias_healthcheck_username,
 1483            'identity_set_id': self.identity_set_id,
 1484            'name': self.name,
 1485            'port_override': self.port_override,
 1486            'proxy_cluster_id': self.proxy_cluster_id,
 1487            'region': self.region,
 1488            'role_arn': self.role_arn,
 1489            'role_external_id': self.role_external_id,
 1490            'secret_access_key': self.secret_access_key,
 1491            'secret_store_id': self.secret_store_id,
 1492            'session_expiry': self.session_expiry,
 1493            'subdomain': self.subdomain,
 1494            'tags': self.tags,
 1495        }
 1496
 1497    @classmethod
 1498    def from_dict(cls, d):
 1499        return cls(
 1500            access_key=d.get('access_key'),
 1501            bind_interface=d.get('bind_interface'),
 1502            egress_filter=d.get('egress_filter'),
 1503            healthy=d.get('healthy'),
 1504            id=d.get('id'),
 1505            identity_alias_healthcheck_username=d.get(
 1506                'identity_alias_healthcheck_username'),
 1507            identity_set_id=d.get('identity_set_id'),
 1508            name=d.get('name'),
 1509            port_override=d.get('port_override'),
 1510            proxy_cluster_id=d.get('proxy_cluster_id'),
 1511            region=d.get('region'),
 1512            role_arn=d.get('role_arn'),
 1513            role_external_id=d.get('role_external_id'),
 1514            secret_access_key=d.get('secret_access_key'),
 1515            secret_store_id=d.get('secret_store_id'),
 1516            session_expiry=d.get('session_expiry'),
 1517            subdomain=d.get('subdomain'),
 1518            tags=d.get('tags'),
 1519        )
 1520
 1521
 1522class AWSInstanceProfile:
 1523    __slots__ = [
 1524        'bind_interface',
 1525        'egress_filter',
 1526        'enable_env_variables',
 1527        'healthy',
 1528        'id',
 1529        'name',
 1530        'port_override',
 1531        'proxy_cluster_id',
 1532        'region',
 1533        'role_arn',
 1534        'role_external_id',
 1535        'secret_store_id',
 1536        'subdomain',
 1537        'tags',
 1538    ]
 1539
 1540    def __init__(
 1541        self,
 1542        bind_interface=None,
 1543        egress_filter=None,
 1544        enable_env_variables=None,
 1545        healthy=None,
 1546        id=None,
 1547        name=None,
 1548        port_override=None,
 1549        proxy_cluster_id=None,
 1550        region=None,
 1551        role_arn=None,
 1552        role_external_id=None,
 1553        secret_store_id=None,
 1554        subdomain=None,
 1555        tags=None,
 1556    ):
 1557        self.bind_interface = bind_interface if bind_interface is not None else ''
 1558        '''
 1559         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 1560        '''
 1561        self.egress_filter = egress_filter if egress_filter is not None else ''
 1562        '''
 1563         A filter applied to the routing logic to pin datasource to nodes.
 1564        '''
 1565        self.enable_env_variables = enable_env_variables if enable_env_variables is not None else False
 1566        '''
 1567         If true, prefer environment variables to authenticate connection even if EC2 roles are configured.
 1568        '''
 1569        self.healthy = healthy if healthy is not None else False
 1570        '''
 1571         True if the datasource is reachable and the credentials are valid.
 1572        '''
 1573        self.id = id if id is not None else ''
 1574        '''
 1575         Unique identifier of the Resource.
 1576        '''
 1577        self.name = name if name is not None else ''
 1578        '''
 1579         Unique human-readable name of the Resource.
 1580        '''
 1581        self.port_override = port_override if port_override is not None else 0
 1582        '''
 1583         The local port used by clients to connect to this resource.
 1584        '''
 1585        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 1586        '''
 1587         ID of the proxy cluster for this resource, if any.
 1588        '''
 1589        self.region = region if region is not None else ''
 1590        '''
 1591         The AWS region to connect to.
 1592        '''
 1593        self.role_arn = role_arn if role_arn is not None else ''
 1594        '''
 1595         The role to assume after logging in.
 1596        '''
 1597        self.role_external_id = role_external_id if role_external_id is not None else ''
 1598        '''
 1599         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 1600        '''
 1601        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 1602        '''
 1603         ID of the secret store containing credentials for this resource, if any.
 1604        '''
 1605        self.subdomain = subdomain if subdomain is not None else ''
 1606        '''
 1607         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 1608        '''
 1609        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 1610        '''
 1611         Tags is a map of key, value pairs.
 1612        '''
 1613
 1614    def __repr__(self):
 1615        return '<sdm.AWSInstanceProfile ' + \
 1616            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 1617            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 1618            'enable_env_variables: ' + repr(self.enable_env_variables) + ' ' +\
 1619            'healthy: ' + repr(self.healthy) + ' ' +\
 1620            'id: ' + repr(self.id) + ' ' +\
 1621            'name: ' + repr(self.name) + ' ' +\
 1622            'port_override: ' + repr(self.port_override) + ' ' +\
 1623            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 1624            'region: ' + repr(self.region) + ' ' +\
 1625            'role_arn: ' + repr(self.role_arn) + ' ' +\
 1626            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 1627            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 1628            'subdomain: ' + repr(self.subdomain) + ' ' +\
 1629            'tags: ' + repr(self.tags) + ' ' +\
 1630            '>'
 1631
 1632    def to_dict(self):
 1633        return {
 1634            'bind_interface': self.bind_interface,
 1635            'egress_filter': self.egress_filter,
 1636            'enable_env_variables': self.enable_env_variables,
 1637            'healthy': self.healthy,
 1638            'id': self.id,
 1639            'name': self.name,
 1640            'port_override': self.port_override,
 1641            'proxy_cluster_id': self.proxy_cluster_id,
 1642            'region': self.region,
 1643            'role_arn': self.role_arn,
 1644            'role_external_id': self.role_external_id,
 1645            'secret_store_id': self.secret_store_id,
 1646            'subdomain': self.subdomain,
 1647            'tags': self.tags,
 1648        }
 1649
 1650    @classmethod
 1651    def from_dict(cls, d):
 1652        return cls(
 1653            bind_interface=d.get('bind_interface'),
 1654            egress_filter=d.get('egress_filter'),
 1655            enable_env_variables=d.get('enable_env_variables'),
 1656            healthy=d.get('healthy'),
 1657            id=d.get('id'),
 1658            name=d.get('name'),
 1659            port_override=d.get('port_override'),
 1660            proxy_cluster_id=d.get('proxy_cluster_id'),
 1661            region=d.get('region'),
 1662            role_arn=d.get('role_arn'),
 1663            role_external_id=d.get('role_external_id'),
 1664            secret_store_id=d.get('secret_store_id'),
 1665            subdomain=d.get('subdomain'),
 1666            tags=d.get('tags'),
 1667        )
 1668
 1669
 1670class AWSStore:
 1671    __slots__ = [
 1672        'id',
 1673        'name',
 1674        'region',
 1675        'tags',
 1676    ]
 1677
 1678    def __init__(
 1679        self,
 1680        id=None,
 1681        name=None,
 1682        region=None,
 1683        tags=None,
 1684    ):
 1685        self.id = id if id is not None else ''
 1686        '''
 1687         Unique identifier of the SecretStore.
 1688        '''
 1689        self.name = name if name is not None else ''
 1690        '''
 1691         Unique human-readable name of the SecretStore.
 1692        '''
 1693        self.region = region if region is not None else ''
 1694        '''
 1695         The AWS region to target e.g. us-east-1
 1696        '''
 1697        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 1698        '''
 1699         Tags is a map of key, value pairs.
 1700        '''
 1701
 1702    def __repr__(self):
 1703        return '<sdm.AWSStore ' + \
 1704            'id: ' + repr(self.id) + ' ' +\
 1705            'name: ' + repr(self.name) + ' ' +\
 1706            'region: ' + repr(self.region) + ' ' +\
 1707            'tags: ' + repr(self.tags) + ' ' +\
 1708            '>'
 1709
 1710    def to_dict(self):
 1711        return {
 1712            'id': self.id,
 1713            'name': self.name,
 1714            'region': self.region,
 1715            'tags': self.tags,
 1716        }
 1717
 1718    @classmethod
 1719    def from_dict(cls, d):
 1720        return cls(
 1721            id=d.get('id'),
 1722            name=d.get('name'),
 1723            region=d.get('region'),
 1724            tags=d.get('tags'),
 1725        )
 1726
 1727
 1728class AccessRequest:
 1729    '''
 1730         AccessRequests are requests for access to a resource that may match a Workflow.
 1731    '''
 1732    __slots__ = [
 1733        'account_id',
 1734        'duration',
 1735        'grant_id',
 1736        'id',
 1737        'reason',
 1738        'requestedduration',
 1739        'resource_id',
 1740        'resultduration',
 1741        'start_from',
 1742        'status',
 1743        'status_at',
 1744        'valid_until',
 1745        'workflow_id',
 1746    ]
 1747
 1748    def __init__(
 1749        self,
 1750        account_id=None,
 1751        duration=None,
 1752        grant_id=None,
 1753        id=None,
 1754        reason=None,
 1755        requestedduration=None,
 1756        resource_id=None,
 1757        resultduration=None,
 1758        start_from=None,
 1759        status=None,
 1760        status_at=None,
 1761        valid_until=None,
 1762        workflow_id=None,
 1763    ):
 1764        self.account_id = account_id if account_id is not None else ''
 1765        '''
 1766         The account that initiated the request.
 1767        '''
 1768        self.duration = duration if duration is not None else 0
 1769        '''
 1770         Duration of the access request.
 1771         Deprecated: use requested/result duration instead
 1772        '''
 1773        self.grant_id = grant_id if grant_id is not None else ''
 1774        '''
 1775         The account grant created, if it exists.
 1776        '''
 1777        self.id = id if id is not None else ''
 1778        '''
 1779         The access request id.
 1780        '''
 1781        self.reason = reason if reason is not None else ''
 1782        '''
 1783         The reason the access was requested.
 1784        '''
 1785        self.requestedduration = requestedduration if requestedduration is not None else None
 1786        '''
 1787         The duration that access was requested for, if any.
 1788        '''
 1789        self.resource_id = resource_id if resource_id is not None else ''
 1790        '''
 1791         The resource id.
 1792        '''
 1793        self.resultduration = resultduration if resultduration is not None else None
 1794        '''
 1795         The duration that results from an approved request.
 1796        '''
 1797        self.start_from = start_from if start_from is not None else None
 1798        '''
 1799         The timestamp when the requested access will be granted.
 1800         If this field is not specified it will default to the current time.
 1801        '''
 1802        self.status = status if status is not None else ''
 1803        '''
 1804         The status of the access request.
 1805        '''
 1806        self.status_at = status_at if status_at is not None else None
 1807        '''
 1808         The timestamp when the status changed.
 1809        '''
 1810        self.valid_until = valid_until if valid_until is not None else None
 1811        '''
 1812         The timestamp when the requested access will expire.
 1813        '''
 1814        self.workflow_id = workflow_id if workflow_id is not None else ''
 1815        '''
 1816         The workflow the request bound to.
 1817        '''
 1818
 1819    def __repr__(self):
 1820        return '<sdm.AccessRequest ' + \
 1821            'account_id: ' + repr(self.account_id) + ' ' +\
 1822            'duration: ' + repr(self.duration) + ' ' +\
 1823            'grant_id: ' + repr(self.grant_id) + ' ' +\
 1824            'id: ' + repr(self.id) + ' ' +\
 1825            'reason: ' + repr(self.reason) + ' ' +\
 1826            'requestedduration: ' + repr(self.requestedduration) + ' ' +\
 1827            'resource_id: ' + repr(self.resource_id) + ' ' +\
 1828            'resultduration: ' + repr(self.resultduration) + ' ' +\
 1829            'start_from: ' + repr(self.start_from) + ' ' +\
 1830            'status: ' + repr(self.status) + ' ' +\
 1831            'status_at: ' + repr(self.status_at) + ' ' +\
 1832            'valid_until: ' + repr(self.valid_until) + ' ' +\
 1833            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
 1834            '>'
 1835
 1836    def to_dict(self):
 1837        return {
 1838            'account_id': self.account_id,
 1839            'duration': self.duration,
 1840            'grant_id': self.grant_id,
 1841            'id': self.id,
 1842            'reason': self.reason,
 1843            'requestedduration': self.requestedduration,
 1844            'resource_id': self.resource_id,
 1845            'resultduration': self.resultduration,
 1846            'start_from': self.start_from,
 1847            'status': self.status,
 1848            'status_at': self.status_at,
 1849            'valid_until': self.valid_until,
 1850            'workflow_id': self.workflow_id,
 1851        }
 1852
 1853    @classmethod
 1854    def from_dict(cls, d):
 1855        return cls(
 1856            account_id=d.get('account_id'),
 1857            duration=d.get('duration'),
 1858            grant_id=d.get('grant_id'),
 1859            id=d.get('id'),
 1860            reason=d.get('reason'),
 1861            requestedduration=d.get('requestedduration'),
 1862            resource_id=d.get('resource_id'),
 1863            resultduration=d.get('resultduration'),
 1864            start_from=d.get('start_from'),
 1865            status=d.get('status'),
 1866            status_at=d.get('status_at'),
 1867            valid_until=d.get('valid_until'),
 1868            workflow_id=d.get('workflow_id'),
 1869        )
 1870
 1871
 1872class AccessRequestConfig:
 1873    '''
 1874         AccessRequestConfig holds the information required to request access to a resource
 1875    '''
 1876    __slots__ = [
 1877        'duration',
 1878        'reason',
 1879        'resource_id',
 1880        'start_from',
 1881    ]
 1882
 1883    def __init__(
 1884        self,
 1885        duration=None,
 1886        reason=None,
 1887        resource_id=None,
 1888        start_from=None,
 1889    ):
 1890        self.duration = duration if duration is not None else ''
 1891        '''
 1892         The time access should end, defaults to the next occurance of 5 pm
 1893        '''
 1894        self.reason = reason if reason is not None else ''
 1895        '''
 1896         The reason for access
 1897        '''
 1898        self.resource_id = resource_id if resource_id is not None else ''
 1899        '''
 1900         The resource for which access is being requested
 1901        '''
 1902        self.start_from = start_from if start_from is not None else None
 1903        '''
 1904         The time access should start, defaults to now
 1905        '''
 1906
 1907    def __repr__(self):
 1908        return '<sdm.AccessRequestConfig ' + \
 1909            'duration: ' + repr(self.duration) + ' ' +\
 1910            'reason: ' + repr(self.reason) + ' ' +\
 1911            'resource_id: ' + repr(self.resource_id) + ' ' +\
 1912            'start_from: ' + repr(self.start_from) + ' ' +\
 1913            '>'
 1914
 1915    def to_dict(self):
 1916        return {
 1917            'duration': self.duration,
 1918            'reason': self.reason,
 1919            'resource_id': self.resource_id,
 1920            'start_from': self.start_from,
 1921        }
 1922
 1923    @classmethod
 1924    def from_dict(cls, d):
 1925        return cls(
 1926            duration=d.get('duration'),
 1927            reason=d.get('reason'),
 1928            resource_id=d.get('resource_id'),
 1929            start_from=d.get('start_from'),
 1930        )
 1931
 1932
 1933class AccessRequestEvent:
 1934    '''
 1935         AccessRequestEvents hold information about events related to an access
 1936     request such as creation, approval and denial.
 1937    '''
 1938    __slots__ = [
 1939        'actor_id',
 1940        'id',
 1941        'metadata',
 1942        'request_id',
 1943        'type',
 1944    ]
 1945
 1946    def __init__(
 1947        self,
 1948        actor_id=None,
 1949        id=None,
 1950        metadata=None,
 1951        request_id=None,
 1952        type=None,
 1953    ):
 1954        self.actor_id = actor_id if actor_id is not None else ''
 1955        '''
 1956         The account responsible for the event.
 1957        '''
 1958        self.id = id if id is not None else ''
 1959        '''
 1960         The access request event id.
 1961        '''
 1962        self.metadata = metadata if metadata is not None else ''
 1963        '''
 1964         The metadata about the event
 1965        '''
 1966        self.request_id = request_id if request_id is not None else ''
 1967        '''
 1968         The request that the event is bound to.
 1969        '''
 1970        self.type = type if type is not None else ''
 1971        '''
 1972         The type of event.
 1973        '''
 1974
 1975    def __repr__(self):
 1976        return '<sdm.AccessRequestEvent ' + \
 1977            'actor_id: ' + repr(self.actor_id) + ' ' +\
 1978            'id: ' + repr(self.id) + ' ' +\
 1979            'metadata: ' + repr(self.metadata) + ' ' +\
 1980            'request_id: ' + repr(self.request_id) + ' ' +\
 1981            'type: ' + repr(self.type) + ' ' +\
 1982            '>'
 1983
 1984    def to_dict(self):
 1985        return {
 1986            'actor_id': self.actor_id,
 1987            'id': self.id,
 1988            'metadata': self.metadata,
 1989            'request_id': self.request_id,
 1990            'type': self.type,
 1991        }
 1992
 1993    @classmethod
 1994    def from_dict(cls, d):
 1995        return cls(
 1996            actor_id=d.get('actor_id'),
 1997            id=d.get('id'),
 1998            metadata=d.get('metadata'),
 1999            request_id=d.get('request_id'),
 2000            type=d.get('type'),
 2001        )
 2002
 2003
 2004class AccessRequestEventHistory:
 2005    '''
 2006         AccessRequestEventHistory records the state of a AccessRequest at a given point in time,
 2007     where every change (create, update and delete) to a AccessRequest produces an
 2008     AccessRequestEventHistory record.
 2009    '''
 2010    __slots__ = [
 2011        'access_request_event',
 2012        'activity_id',
 2013        'deleted_at',
 2014        'timestamp',
 2015    ]
 2016
 2017    def __init__(
 2018        self,
 2019        access_request_event=None,
 2020        activity_id=None,
 2021        deleted_at=None,
 2022        timestamp=None,
 2023    ):
 2024        self.access_request_event = access_request_event if access_request_event is not None else None
 2025        '''
 2026         The complete AccessRequestEvent state at this time.
 2027        '''
 2028        self.activity_id = activity_id if activity_id is not None else ''
 2029        '''
 2030         The unique identifier of the Activity that produced this change to the AccessRequest.
 2031         May be empty for some system-initiated updates.
 2032        '''
 2033        self.deleted_at = deleted_at if deleted_at is not None else None
 2034        '''
 2035         If this Workflow was deleted, the time it was deleted.
 2036        '''
 2037        self.timestamp = timestamp if timestamp is not None else None
 2038        '''
 2039         The time at which the AccessRequest state was recorded.
 2040        '''
 2041
 2042    def __repr__(self):
 2043        return '<sdm.AccessRequestEventHistory ' + \
 2044            'access_request_event: ' + repr(self.access_request_event) + ' ' +\
 2045            'activity_id: ' + repr(self.activity_id) + ' ' +\
 2046            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 2047            'timestamp: ' + repr(self.timestamp) + ' ' +\
 2048            '>'
 2049
 2050    def to_dict(self):
 2051        return {
 2052            'access_request_event': self.access_request_event,
 2053            'activity_id': self.activity_id,
 2054            'deleted_at': self.deleted_at,
 2055            'timestamp': self.timestamp,
 2056        }
 2057
 2058    @classmethod
 2059    def from_dict(cls, d):
 2060        return cls(
 2061            access_request_event=d.get('access_request_event'),
 2062            activity_id=d.get('activity_id'),
 2063            deleted_at=d.get('deleted_at'),
 2064            timestamp=d.get('timestamp'),
 2065        )
 2066
 2067
 2068class AccessRequestHistory:
 2069    '''
 2070         AccessRequestHistory records the state of a AccessRequest at a given point in time,
 2071     where every change (create, update and delete) to a AccessRequest produces an
 2072     AccessRequestHistory record.
 2073    '''
 2074    __slots__ = [
 2075        'access_request',
 2076        'activity_id',
 2077        'deleted_at',
 2078        'timestamp',
 2079    ]
 2080
 2081    def __init__(
 2082        self,
 2083        access_request=None,
 2084        activity_id=None,
 2085        deleted_at=None,
 2086        timestamp=None,
 2087    ):
 2088        self.access_request = access_request if access_request is not None else None
 2089        '''
 2090         The complete AccessRequest state at this time.
 2091        '''
 2092        self.activity_id = activity_id if activity_id is not None else ''
 2093        '''
 2094         The unique identifier of the Activity that produced this change to the AccessRequest.
 2095         May be empty for some system-initiated updates.
 2096        '''
 2097        self.deleted_at = deleted_at if deleted_at is not None else None
 2098        '''
 2099         If this Workflow was deleted, the time it was deleted.
 2100        '''
 2101        self.timestamp = timestamp if timestamp is not None else None
 2102        '''
 2103         The time at which the AccessRequest state was recorded.
 2104        '''
 2105
 2106    def __repr__(self):
 2107        return '<sdm.AccessRequestHistory ' + \
 2108            'access_request: ' + repr(self.access_request) + ' ' +\
 2109            'activity_id: ' + repr(self.activity_id) + ' ' +\
 2110            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 2111            'timestamp: ' + repr(self.timestamp) + ' ' +\
 2112            '>'
 2113
 2114    def to_dict(self):
 2115        return {
 2116            'access_request': self.access_request,
 2117            'activity_id': self.activity_id,
 2118            'deleted_at': self.deleted_at,
 2119            'timestamp': self.timestamp,
 2120        }
 2121
 2122    @classmethod
 2123    def from_dict(cls, d):
 2124        return cls(
 2125            access_request=d.get('access_request'),
 2126            activity_id=d.get('activity_id'),
 2127            deleted_at=d.get('deleted_at'),
 2128            timestamp=d.get('timestamp'),
 2129        )
 2130
 2131
 2132class AccessRequestListRequest:
 2133    '''
 2134         AccessRequestListRequest specifies criteria for retrieving a list of
 2135     AccessRequest records
 2136    '''
 2137    __slots__ = [
 2138        'filter',
 2139    ]
 2140
 2141    def __init__(
 2142        self,
 2143        filter=None,
 2144    ):
 2145        self.filter = filter if filter is not None else ''
 2146        '''
 2147         A human-readable filter query string.
 2148        '''
 2149
 2150    def __repr__(self):
 2151        return '<sdm.AccessRequestListRequest ' + \
 2152            'filter: ' + repr(self.filter) + ' ' +\
 2153            '>'
 2154
 2155    def to_dict(self):
 2156        return {
 2157            'filter': self.filter,
 2158        }
 2159
 2160    @classmethod
 2161    def from_dict(cls, d):
 2162        return cls(filter=d.get('filter'), )
 2163
 2164
 2165class AccessRequestListResponse:
 2166    '''
 2167         AccessRequestListResponse returns a list of access requests records that meet
 2168     the criteria of a AccessRequestListRequest.
 2169    '''
 2170    __slots__ = [
 2171        'rate_limit',
 2172    ]
 2173
 2174    def __init__(
 2175        self,
 2176        rate_limit=None,
 2177    ):
 2178        self.rate_limit = rate_limit if rate_limit is not None else None
 2179        '''
 2180         Rate limit information.
 2181        '''
 2182
 2183    def __repr__(self):
 2184        return '<sdm.AccessRequestListResponse ' + \
 2185            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2186            '>'
 2187
 2188    def to_dict(self):
 2189        return {
 2190            'rate_limit': self.rate_limit,
 2191        }
 2192
 2193    @classmethod
 2194    def from_dict(cls, d):
 2195        return cls(rate_limit=d.get('rate_limit'), )
 2196
 2197
 2198class AccountAttachment:
 2199    '''
 2200         AccountAttachments assign an account to a role.
 2201    '''
 2202    __slots__ = [
 2203        'account_id',
 2204        'id',
 2205        'role_id',
 2206    ]
 2207
 2208    def __init__(
 2209        self,
 2210        account_id=None,
 2211        id=None,
 2212        role_id=None,
 2213    ):
 2214        self.account_id = account_id if account_id is not None else ''
 2215        '''
 2216         The id of the account of this AccountAttachment.
 2217        '''
 2218        self.id = id if id is not None else ''
 2219        '''
 2220         Unique identifier of the AccountAttachment.
 2221        '''
 2222        self.role_id = role_id if role_id is not None else ''
 2223        '''
 2224         The id of the attached role of this AccountAttachment.
 2225        '''
 2226
 2227    def __repr__(self):
 2228        return '<sdm.AccountAttachment ' + \
 2229            'account_id: ' + repr(self.account_id) + ' ' +\
 2230            'id: ' + repr(self.id) + ' ' +\
 2231            'role_id: ' + repr(self.role_id) + ' ' +\
 2232            '>'
 2233
 2234    def to_dict(self):
 2235        return {
 2236            'account_id': self.account_id,
 2237            'id': self.id,
 2238            'role_id': self.role_id,
 2239        }
 2240
 2241    @classmethod
 2242    def from_dict(cls, d):
 2243        return cls(
 2244            account_id=d.get('account_id'),
 2245            id=d.get('id'),
 2246            role_id=d.get('role_id'),
 2247        )
 2248
 2249
 2250class AccountAttachmentCreateResponse:
 2251    '''
 2252         AccountAttachmentCreateResponse reports how the AccountAttachments were created in the system.
 2253    '''
 2254    __slots__ = [
 2255        'account_attachment',
 2256        'meta',
 2257        'rate_limit',
 2258    ]
 2259
 2260    def __init__(
 2261        self,
 2262        account_attachment=None,
 2263        meta=None,
 2264        rate_limit=None,
 2265    ):
 2266        self.account_attachment = account_attachment if account_attachment is not None else None
 2267        '''
 2268         The created AccountAttachment.
 2269        '''
 2270        self.meta = meta if meta is not None else None
 2271        '''
 2272         Reserved for future use.
 2273        '''
 2274        self.rate_limit = rate_limit if rate_limit is not None else None
 2275        '''
 2276         Rate limit information.
 2277        '''
 2278
 2279    def __repr__(self):
 2280        return '<sdm.AccountAttachmentCreateResponse ' + \
 2281            'account_attachment: ' + repr(self.account_attachment) + ' ' +\
 2282            'meta: ' + repr(self.meta) + ' ' +\
 2283            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2284            '>'
 2285
 2286    def to_dict(self):
 2287        return {
 2288            'account_attachment': self.account_attachment,
 2289            'meta': self.meta,
 2290            'rate_limit': self.rate_limit,
 2291        }
 2292
 2293    @classmethod
 2294    def from_dict(cls, d):
 2295        return cls(
 2296            account_attachment=d.get('account_attachment'),
 2297            meta=d.get('meta'),
 2298            rate_limit=d.get('rate_limit'),
 2299        )
 2300
 2301
 2302class AccountAttachmentDeleteResponse:
 2303    '''
 2304         AccountAttachmentDeleteResponse returns information about a AccountAttachment that was deleted.
 2305    '''
 2306    __slots__ = [
 2307        'meta',
 2308        'rate_limit',
 2309    ]
 2310
 2311    def __init__(
 2312        self,
 2313        meta=None,
 2314        rate_limit=None,
 2315    ):
 2316        self.meta = meta if meta is not None else None
 2317        '''
 2318         Reserved for future use.
 2319        '''
 2320        self.rate_limit = rate_limit if rate_limit is not None else None
 2321        '''
 2322         Rate limit information.
 2323        '''
 2324
 2325    def __repr__(self):
 2326        return '<sdm.AccountAttachmentDeleteResponse ' + \
 2327            'meta: ' + repr(self.meta) + ' ' +\
 2328            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2329            '>'
 2330
 2331    def to_dict(self):
 2332        return {
 2333            'meta': self.meta,
 2334            'rate_limit': self.rate_limit,
 2335        }
 2336
 2337    @classmethod
 2338    def from_dict(cls, d):
 2339        return cls(
 2340            meta=d.get('meta'),
 2341            rate_limit=d.get('rate_limit'),
 2342        )
 2343
 2344
 2345class AccountAttachmentGetResponse:
 2346    '''
 2347         AccountAttachmentGetResponse returns a requested AccountAttachment.
 2348    '''
 2349    __slots__ = [
 2350        'account_attachment',
 2351        'meta',
 2352        'rate_limit',
 2353    ]
 2354
 2355    def __init__(
 2356        self,
 2357        account_attachment=None,
 2358        meta=None,
 2359        rate_limit=None,
 2360    ):
 2361        self.account_attachment = account_attachment if account_attachment is not None else None
 2362        '''
 2363         The requested AccountAttachment.
 2364        '''
 2365        self.meta = meta if meta is not None else None
 2366        '''
 2367         Reserved for future use.
 2368        '''
 2369        self.rate_limit = rate_limit if rate_limit is not None else None
 2370        '''
 2371         Rate limit information.
 2372        '''
 2373
 2374    def __repr__(self):
 2375        return '<sdm.AccountAttachmentGetResponse ' + \
 2376            'account_attachment: ' + repr(self.account_attachment) + ' ' +\
 2377            'meta: ' + repr(self.meta) + ' ' +\
 2378            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2379            '>'
 2380
 2381    def to_dict(self):
 2382        return {
 2383            'account_attachment': self.account_attachment,
 2384            'meta': self.meta,
 2385            'rate_limit': self.rate_limit,
 2386        }
 2387
 2388    @classmethod
 2389    def from_dict(cls, d):
 2390        return cls(
 2391            account_attachment=d.get('account_attachment'),
 2392            meta=d.get('meta'),
 2393            rate_limit=d.get('rate_limit'),
 2394        )
 2395
 2396
 2397class AccountAttachmentHistory:
 2398    '''
 2399         AccountAttachmentHistory records the state of an AccountAttachment at a given point in time,
 2400     where every change (create or delete) to an AccountAttachment produces an
 2401     AccountAttachmentHistory record.
 2402    '''
 2403    __slots__ = [
 2404        'account_attachment',
 2405        'activity_id',
 2406        'deleted_at',
 2407        'timestamp',
 2408    ]
 2409
 2410    def __init__(
 2411        self,
 2412        account_attachment=None,
 2413        activity_id=None,
 2414        deleted_at=None,
 2415        timestamp=None,
 2416    ):
 2417        self.account_attachment = account_attachment if account_attachment is not None else None
 2418        '''
 2419         The complete AccountAttachment state at this time.
 2420        '''
 2421        self.activity_id = activity_id if activity_id is not None else ''
 2422        '''
 2423         The unique identifier of the Activity that produced this change to the AccountAttachment.
 2424         May be empty for some system-initiated updates.
 2425        '''
 2426        self.deleted_at = deleted_at if deleted_at is not None else None
 2427        '''
 2428         If this AccountAttachment was deleted, the time it was deleted.
 2429        '''
 2430        self.timestamp = timestamp if timestamp is not None else None
 2431        '''
 2432         The time at which the AccountAttachment state was recorded.
 2433        '''
 2434
 2435    def __repr__(self):
 2436        return '<sdm.AccountAttachmentHistory ' + \
 2437            'account_attachment: ' + repr(self.account_attachment) + ' ' +\
 2438            'activity_id: ' + repr(self.activity_id) + ' ' +\
 2439            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 2440            'timestamp: ' + repr(self.timestamp) + ' ' +\
 2441            '>'
 2442
 2443    def to_dict(self):
 2444        return {
 2445            'account_attachment': self.account_attachment,
 2446            'activity_id': self.activity_id,
 2447            'deleted_at': self.deleted_at,
 2448            'timestamp': self.timestamp,
 2449        }
 2450
 2451    @classmethod
 2452    def from_dict(cls, d):
 2453        return cls(
 2454            account_attachment=d.get('account_attachment'),
 2455            activity_id=d.get('activity_id'),
 2456            deleted_at=d.get('deleted_at'),
 2457            timestamp=d.get('timestamp'),
 2458        )
 2459
 2460
 2461class AccountCreateResponse:
 2462    '''
 2463         AccountCreateResponse reports how the Accounts were created in the system.
 2464    '''
 2465    __slots__ = [
 2466        'access_key',
 2467        'account',
 2468        'meta',
 2469        'rate_limit',
 2470        'secret_key',
 2471        'token',
 2472    ]
 2473
 2474    def __init__(
 2475        self,
 2476        access_key=None,
 2477        account=None,
 2478        meta=None,
 2479        rate_limit=None,
 2480        secret_key=None,
 2481        token=None,
 2482    ):
 2483        self.access_key = access_key if access_key is not None else ''
 2484        '''
 2485         ID part of the API key.
 2486        '''
 2487        self.account = account if account is not None else None
 2488        '''
 2489         The created Account.
 2490        '''
 2491        self.meta = meta if meta is not None else None
 2492        '''
 2493         Reserved for future use.
 2494        '''
 2495        self.rate_limit = rate_limit if rate_limit is not None else None
 2496        '''
 2497         Rate limit information.
 2498        '''
 2499        self.secret_key = secret_key if secret_key is not None else ''
 2500        '''
 2501         Secret part of the API key.
 2502        '''
 2503        self.token = token if token is not None else ''
 2504        '''
 2505         The auth token generated for the Account. The Account will use this token to
 2506         authenticate with the strongDM API.
 2507        '''
 2508
 2509    def __repr__(self):
 2510        return '<sdm.AccountCreateResponse ' + \
 2511            'access_key: ' + repr(self.access_key) + ' ' +\
 2512            'account: ' + repr(self.account) + ' ' +\
 2513            'meta: ' + repr(self.meta) + ' ' +\
 2514            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2515            'secret_key: ' + repr(self.secret_key) + ' ' +\
 2516            'token: ' + repr(self.token) + ' ' +\
 2517            '>'
 2518
 2519    def to_dict(self):
 2520        return {
 2521            'access_key': self.access_key,
 2522            'account': self.account,
 2523            'meta': self.meta,
 2524            'rate_limit': self.rate_limit,
 2525            'secret_key': self.secret_key,
 2526            'token': self.token,
 2527        }
 2528
 2529    @classmethod
 2530    def from_dict(cls, d):
 2531        return cls(
 2532            access_key=d.get('access_key'),
 2533            account=d.get('account'),
 2534            meta=d.get('meta'),
 2535            rate_limit=d.get('rate_limit'),
 2536            secret_key=d.get('secret_key'),
 2537            token=d.get('token'),
 2538        )
 2539
 2540
 2541class AccountDeleteResponse:
 2542    '''
 2543         AccountDeleteResponse returns information about a Account that was deleted.
 2544    '''
 2545    __slots__ = [
 2546        'meta',
 2547        'rate_limit',
 2548    ]
 2549
 2550    def __init__(
 2551        self,
 2552        meta=None,
 2553        rate_limit=None,
 2554    ):
 2555        self.meta = meta if meta is not None else None
 2556        '''
 2557         Reserved for future use.
 2558        '''
 2559        self.rate_limit = rate_limit if rate_limit is not None else None
 2560        '''
 2561         Rate limit information.
 2562        '''
 2563
 2564    def __repr__(self):
 2565        return '<sdm.AccountDeleteResponse ' + \
 2566            'meta: ' + repr(self.meta) + ' ' +\
 2567            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2568            '>'
 2569
 2570    def to_dict(self):
 2571        return {
 2572            'meta': self.meta,
 2573            'rate_limit': self.rate_limit,
 2574        }
 2575
 2576    @classmethod
 2577    def from_dict(cls, d):
 2578        return cls(
 2579            meta=d.get('meta'),
 2580            rate_limit=d.get('rate_limit'),
 2581        )
 2582
 2583
 2584class AccountGetResponse:
 2585    '''
 2586         AccountGetResponse returns a requested Account.
 2587    '''
 2588    __slots__ = [
 2589        'account',
 2590        'meta',
 2591        'rate_limit',
 2592    ]
 2593
 2594    def __init__(
 2595        self,
 2596        account=None,
 2597        meta=None,
 2598        rate_limit=None,
 2599    ):
 2600        self.account = account if account is not None else None
 2601        '''
 2602         The requested Account.
 2603        '''
 2604        self.meta = meta if meta is not None else None
 2605        '''
 2606         Reserved for future use.
 2607        '''
 2608        self.rate_limit = rate_limit if rate_limit is not None else None
 2609        '''
 2610         Rate limit information.
 2611        '''
 2612
 2613    def __repr__(self):
 2614        return '<sdm.AccountGetResponse ' + \
 2615            'account: ' + repr(self.account) + ' ' +\
 2616            'meta: ' + repr(self.meta) + ' ' +\
 2617            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2618            '>'
 2619
 2620    def to_dict(self):
 2621        return {
 2622            'account': self.account,
 2623            'meta': self.meta,
 2624            'rate_limit': self.rate_limit,
 2625        }
 2626
 2627    @classmethod
 2628    def from_dict(cls, d):
 2629        return cls(
 2630            account=d.get('account'),
 2631            meta=d.get('meta'),
 2632            rate_limit=d.get('rate_limit'),
 2633        )
 2634
 2635
 2636class AccountGrant:
 2637    '''
 2638         AccountGrants connect a resource directly to an account, giving the account the permission to connect to that resource.
 2639    '''
 2640    __slots__ = [
 2641        'access_rule',
 2642        'account_id',
 2643        'id',
 2644        'resource_id',
 2645        'start_from',
 2646        'valid_until',
 2647    ]
 2648
 2649    def __init__(
 2650        self,
 2651        access_rule=None,
 2652        account_id=None,
 2653        id=None,
 2654        resource_id=None,
 2655        start_from=None,
 2656        valid_until=None,
 2657    ):
 2658        self.access_rule = access_rule if access_rule is not None else _porcelain_zero_value_access_rule(
 2659        )
 2660        '''
 2661         The access rule associated with this AccountGrant.
 2662        '''
 2663        self.account_id = account_id if account_id is not None else ''
 2664        '''
 2665         The account ID of this AccountGrant.
 2666        '''
 2667        self.id = id if id is not None else ''
 2668        '''
 2669         Unique identifier of the AccountGrant.
 2670        '''
 2671        self.resource_id = resource_id if resource_id is not None else ''
 2672        '''
 2673         The resource ID of this AccountGrant.
 2674        '''
 2675        self.start_from = start_from if start_from is not None else None
 2676        '''
 2677         The timestamp when the resource will be granted. When creating an AccountGrant, if this field is not specified, it will default to the current time.
 2678        '''
 2679        self.valid_until = valid_until if valid_until is not None else None
 2680        '''
 2681         The timestamp when the resource grant will expire.
 2682        '''
 2683
 2684    def __repr__(self):
 2685        return '<sdm.AccountGrant ' + \
 2686            'access_rule: ' + repr(self.access_rule) + ' ' +\
 2687            'account_id: ' + repr(self.account_id) + ' ' +\
 2688            'id: ' + repr(self.id) + ' ' +\
 2689            'resource_id: ' + repr(self.resource_id) + ' ' +\
 2690            'start_from: ' + repr(self.start_from) + ' ' +\
 2691            'valid_until: ' + repr(self.valid_until) + ' ' +\
 2692            '>'
 2693
 2694    def to_dict(self):
 2695        return {
 2696            'access_rule': self.access_rule,
 2697            'account_id': self.account_id,
 2698            'id': self.id,
 2699            'resource_id': self.resource_id,
 2700            'start_from': self.start_from,
 2701            'valid_until': self.valid_until,
 2702        }
 2703
 2704    @classmethod
 2705    def from_dict(cls, d):
 2706        return cls(
 2707            access_rule=d.get('access_rule'),
 2708            account_id=d.get('account_id'),
 2709            id=d.get('id'),
 2710            resource_id=d.get('resource_id'),
 2711            start_from=d.get('start_from'),
 2712            valid_until=d.get('valid_until'),
 2713        )
 2714
 2715
 2716class AccountGrantCreateResponse:
 2717    '''
 2718         AccountGrantCreateResponse reports how the AccountGrants were created in the system.
 2719    '''
 2720    __slots__ = [
 2721        'account_grant',
 2722        'meta',
 2723        'rate_limit',
 2724    ]
 2725
 2726    def __init__(
 2727        self,
 2728        account_grant=None,
 2729        meta=None,
 2730        rate_limit=None,
 2731    ):
 2732        self.account_grant = account_grant if account_grant is not None else None
 2733        '''
 2734         The created AccountGrant.
 2735        '''
 2736        self.meta = meta if meta is not None else None
 2737        '''
 2738         Reserved for future use.
 2739        '''
 2740        self.rate_limit = rate_limit if rate_limit is not None else None
 2741        '''
 2742         Rate limit information.
 2743        '''
 2744
 2745    def __repr__(self):
 2746        return '<sdm.AccountGrantCreateResponse ' + \
 2747            'account_grant: ' + repr(self.account_grant) + ' ' +\
 2748            'meta: ' + repr(self.meta) + ' ' +\
 2749            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2750            '>'
 2751
 2752    def to_dict(self):
 2753        return {
 2754            'account_grant': self.account_grant,
 2755            'meta': self.meta,
 2756            'rate_limit': self.rate_limit,
 2757        }
 2758
 2759    @classmethod
 2760    def from_dict(cls, d):
 2761        return cls(
 2762            account_grant=d.get('account_grant'),
 2763            meta=d.get('meta'),
 2764            rate_limit=d.get('rate_limit'),
 2765        )
 2766
 2767
 2768class AccountGrantDeleteResponse:
 2769    '''
 2770         AccountGrantDeleteResponse returns information about a AccountGrant that was deleted.
 2771    '''
 2772    __slots__ = [
 2773        'meta',
 2774        'rate_limit',
 2775    ]
 2776
 2777    def __init__(
 2778        self,
 2779        meta=None,
 2780        rate_limit=None,
 2781    ):
 2782        self.meta = meta if meta is not None else None
 2783        '''
 2784         Reserved for future use.
 2785        '''
 2786        self.rate_limit = rate_limit if rate_limit is not None else None
 2787        '''
 2788         Rate limit information.
 2789        '''
 2790
 2791    def __repr__(self):
 2792        return '<sdm.AccountGrantDeleteResponse ' + \
 2793            'meta: ' + repr(self.meta) + ' ' +\
 2794            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2795            '>'
 2796
 2797    def to_dict(self):
 2798        return {
 2799            'meta': self.meta,
 2800            'rate_limit': self.rate_limit,
 2801        }
 2802
 2803    @classmethod
 2804    def from_dict(cls, d):
 2805        return cls(
 2806            meta=d.get('meta'),
 2807            rate_limit=d.get('rate_limit'),
 2808        )
 2809
 2810
 2811class AccountGrantGetResponse:
 2812    '''
 2813         AccountGrantGetResponse returns a requested AccountGrant.
 2814    '''
 2815    __slots__ = [
 2816        'account_grant',
 2817        'meta',
 2818        'rate_limit',
 2819    ]
 2820
 2821    def __init__(
 2822        self,
 2823        account_grant=None,
 2824        meta=None,
 2825        rate_limit=None,
 2826    ):
 2827        self.account_grant = account_grant if account_grant is not None else None
 2828        '''
 2829         The requested AccountGrant.
 2830        '''
 2831        self.meta = meta if meta is not None else None
 2832        '''
 2833         Reserved for future use.
 2834        '''
 2835        self.rate_limit = rate_limit if rate_limit is not None else None
 2836        '''
 2837         Rate limit information.
 2838        '''
 2839
 2840    def __repr__(self):
 2841        return '<sdm.AccountGrantGetResponse ' + \
 2842            'account_grant: ' + repr(self.account_grant) + ' ' +\
 2843            'meta: ' + repr(self.meta) + ' ' +\
 2844            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2845            '>'
 2846
 2847    def to_dict(self):
 2848        return {
 2849            'account_grant': self.account_grant,
 2850            'meta': self.meta,
 2851            'rate_limit': self.rate_limit,
 2852        }
 2853
 2854    @classmethod
 2855    def from_dict(cls, d):
 2856        return cls(
 2857            account_grant=d.get('account_grant'),
 2858            meta=d.get('meta'),
 2859            rate_limit=d.get('rate_limit'),
 2860        )
 2861
 2862
 2863class AccountGrantHistory:
 2864    '''
 2865         AccountGrantHistory records the state of an AccountGrant at a given point in time,
 2866     where every change (create or delete) to an AccountGrant produces an
 2867     AccountGrantHistory record.
 2868    '''
 2869    __slots__ = [
 2870        'account_grant',
 2871        'activity_id',
 2872        'deleted_at',
 2873        'timestamp',
 2874    ]
 2875
 2876    def __init__(
 2877        self,
 2878        account_grant=None,
 2879        activity_id=None,
 2880        deleted_at=None,
 2881        timestamp=None,
 2882    ):
 2883        self.account_grant = account_grant if account_grant is not None else None
 2884        '''
 2885         The complete AccountGrant state at this time.
 2886        '''
 2887        self.activity_id = activity_id if activity_id is not None else ''
 2888        '''
 2889         The unique identifier of the Activity that produced this change to the AccountGrant.
 2890         May be empty for some system-initiated updates.
 2891        '''
 2892        self.deleted_at = deleted_at if deleted_at is not None else None
 2893        '''
 2894         If this AccountGrant was deleted, the time it was deleted.
 2895        '''
 2896        self.timestamp = timestamp if timestamp is not None else None
 2897        '''
 2898         The time at which the AccountGrant state was recorded.
 2899        '''
 2900
 2901    def __repr__(self):
 2902        return '<sdm.AccountGrantHistory ' + \
 2903            'account_grant: ' + repr(self.account_grant) + ' ' +\
 2904            'activity_id: ' + repr(self.activity_id) + ' ' +\
 2905            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 2906            'timestamp: ' + repr(self.timestamp) + ' ' +\
 2907            '>'
 2908
 2909    def to_dict(self):
 2910        return {
 2911            'account_grant': self.account_grant,
 2912            'activity_id': self.activity_id,
 2913            'deleted_at': self.deleted_at,
 2914            'timestamp': self.timestamp,
 2915        }
 2916
 2917    @classmethod
 2918    def from_dict(cls, d):
 2919        return cls(
 2920            account_grant=d.get('account_grant'),
 2921            activity_id=d.get('activity_id'),
 2922            deleted_at=d.get('deleted_at'),
 2923            timestamp=d.get('timestamp'),
 2924        )
 2925
 2926
 2927class AccountHistory:
 2928    '''
 2929         AccountHistory records the state of an Account at a given point in time,
 2930     where every change (create, update and delete) to an Account produces an
 2931     AccountHistory record.
 2932    '''
 2933    __slots__ = [
 2934        'account',
 2935        'activity_id',
 2936        'deleted_at',
 2937        'timestamp',
 2938    ]
 2939
 2940    def __init__(
 2941        self,
 2942        account=None,
 2943        activity_id=None,
 2944        deleted_at=None,
 2945        timestamp=None,
 2946    ):
 2947        self.account = account if account is not None else None
 2948        '''
 2949         The complete Account state at this time.
 2950        '''
 2951        self.activity_id = activity_id if activity_id is not None else ''
 2952        '''
 2953         The unique identifier of the Activity that produced this change to the Account.
 2954         May be empty for some system-initiated updates.
 2955        '''
 2956        self.deleted_at = deleted_at if deleted_at is not None else None
 2957        '''
 2958         If this Account was deleted, the time it was deleted.
 2959        '''
 2960        self.timestamp = timestamp if timestamp is not None else None
 2961        '''
 2962         The time at which the Account state was recorded.
 2963        '''
 2964
 2965    def __repr__(self):
 2966        return '<sdm.AccountHistory ' + \
 2967            'account: ' + repr(self.account) + ' ' +\
 2968            'activity_id: ' + repr(self.activity_id) + ' ' +\
 2969            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 2970            'timestamp: ' + repr(self.timestamp) + ' ' +\
 2971            '>'
 2972
 2973    def to_dict(self):
 2974        return {
 2975            'account': self.account,
 2976            'activity_id': self.activity_id,
 2977            'deleted_at': self.deleted_at,
 2978            'timestamp': self.timestamp,
 2979        }
 2980
 2981    @classmethod
 2982    def from_dict(cls, d):
 2983        return cls(
 2984            account=d.get('account'),
 2985            activity_id=d.get('activity_id'),
 2986            deleted_at=d.get('deleted_at'),
 2987            timestamp=d.get('timestamp'),
 2988        )
 2989
 2990
 2991class AccountPermission:
 2992    '''
 2993         AccountPermission represents an individual API action available to an account.
 2994    '''
 2995    __slots__ = [
 2996        'account_id',
 2997        'granted_at',
 2998        'permission',
 2999        'scope',
 3000        'scoped_id',
 3001    ]
 3002
 3003    def __init__(
 3004        self,
 3005        account_id=None,
 3006        granted_at=None,
 3007        permission=None,
 3008        scope=None,
 3009        scoped_id=None,
 3010    ):
 3011        self.account_id = account_id if account_id is not None else ''
 3012        '''
 3013         The unique identifier of the Account this permission belongs to.
 3014        '''
 3015        self.granted_at = granted_at if granted_at is not None else None
 3016        '''
 3017         The most recent time at which the permission was granted. If a permission was
 3018         granted, revoked, and granted again, this will reflect the later time.
 3019        '''
 3020        self.permission = permission if permission is not None else ''
 3021        '''
 3022         The value of this permission, split into vertical and action, one of the Permission constants.
 3023        '''
 3024        self.scope = scope if scope is not None else ''
 3025        '''
 3026         The scope of this permission. A global scope means this action can be taken
 3027         on any entity; otherwise the action can only be taken on or in the scope of
 3028         the scoped id.
 3029        '''
 3030        self.scoped_id = scoped_id if scoped_id is not None else ''
 3031        '''
 3032         The ID to which or in whose context this operation is permitted. e.g. The ID of a
 3033         role that a team leader has the abillity to remove and add accounts to, or the
 3034         ID of a resource that a user has the permission to connect to. If Scope is global,
 3035         scoped id is not populated.
 3036        '''
 3037
 3038    def __repr__(self):
 3039        return '<sdm.AccountPermission ' + \
 3040            'account_id: ' + repr(self.account_id) + ' ' +\
 3041            'granted_at: ' + repr(self.granted_at) + ' ' +\
 3042            'permission: ' + repr(self.permission) + ' ' +\
 3043            'scope: ' + repr(self.scope) + ' ' +\
 3044            'scoped_id: ' + repr(self.scoped_id) + ' ' +\
 3045            '>'
 3046
 3047    def to_dict(self):
 3048        return {
 3049            'account_id': self.account_id,
 3050            'granted_at': self.granted_at,
 3051            'permission': self.permission,
 3052            'scope': self.scope,
 3053            'scoped_id': self.scoped_id,
 3054        }
 3055
 3056    @classmethod
 3057    def from_dict(cls, d):
 3058        return cls(
 3059            account_id=d.get('account_id'),
 3060            granted_at=d.get('granted_at'),
 3061            permission=d.get('permission'),
 3062            scope=d.get('scope'),
 3063            scoped_id=d.get('scoped_id'),
 3064        )
 3065
 3066
 3067class AccountResource:
 3068    '''
 3069         AccountResource represents an individual access grant of a Account to a Resource.
 3070    '''
 3071    __slots__ = [
 3072        'account_grant_id',
 3073        'account_id',
 3074        'created_at',
 3075        'expires_at',
 3076        'granted_at',
 3077        'resource_id',
 3078        'role_id',
 3079    ]
 3080
 3081    def __init__(
 3082        self,
 3083        account_grant_id=None,
 3084        account_id=None,
 3085        created_at=None,
 3086        expires_at=None,
 3087        granted_at=None,
 3088        resource_id=None,
 3089        role_id=None,
 3090    ):
 3091        self.account_grant_id = account_grant_id if account_grant_id is not None else ''
 3092        '''
 3093         The unique identifier of the AccountGrant through which the Account was granted access to the Resource.
 3094         If empty, access was not granted through an AccountGrant.
 3095        '''
 3096        self.account_id = account_id if account_id is not None else ''
 3097        '''
 3098         The unique identifier of the Account to which access is granted.
 3099        '''
 3100        self.created_at = created_at if created_at is not None else None
 3101        '''
 3102         The time this grant was created, distinct from 'granted at' in the case where access is scheduled
 3103         for the future. If access was granted, revoked, and granted again, this will reflect the later creation time.
 3104        '''
 3105        self.expires_at = expires_at if expires_at is not None else None
 3106        '''
 3107         The time at which access will expire. If empty, this access has no expiration.
 3108        '''
 3109        self.granted_at = granted_at if granted_at is not None else None
 3110        '''
 3111         The most recent time at which access was granted. If access was granted,
 3112         revoked, and granted again, this will reflect the later time.
 3113        '''
 3114        self.resource_id = resource_id if resource_id is not None else ''
 3115        '''
 3116         The unique identifier of the Resource to which access is granted.
 3117        '''
 3118        self.role_id = role_id if role_id is not None else ''
 3119        '''
 3120         The unique identifier of the Role through which the Account was granted access to the Resource.
 3121         If empty, access was not granted through an AccountAttachment to a Role.
 3122        '''
 3123
 3124    def __repr__(self):
 3125        return '<sdm.AccountResource ' + \
 3126            'account_grant_id: ' + repr(self.account_grant_id) + ' ' +\
 3127            'account_id: ' + repr(self.account_id) + ' ' +\
 3128            'created_at: ' + repr(self.created_at) + ' ' +\
 3129            'expires_at: ' + repr(self.expires_at) + ' ' +\
 3130            'granted_at: ' + repr(self.granted_at) + ' ' +\
 3131            'resource_id: ' + repr(self.resource_id) + ' ' +\
 3132            'role_id: ' + repr(self.role_id) + ' ' +\
 3133            '>'
 3134
 3135    def to_dict(self):
 3136        return {
 3137            'account_grant_id': self.account_grant_id,
 3138            'account_id': self.account_id,
 3139            'created_at': self.created_at,
 3140            'expires_at': self.expires_at,
 3141            'granted_at': self.granted_at,
 3142            'resource_id': self.resource_id,
 3143            'role_id': self.role_id,
 3144        }
 3145
 3146    @classmethod
 3147    def from_dict(cls, d):
 3148        return cls(
 3149            account_grant_id=d.get('account_grant_id'),
 3150            account_id=d.get('account_id'),
 3151            created_at=d.get('created_at'),
 3152            expires_at=d.get('expires_at'),
 3153            granted_at=d.get('granted_at'),
 3154            resource_id=d.get('resource_id'),
 3155            role_id=d.get('role_id'),
 3156        )
 3157
 3158
 3159class AccountResourceHistory:
 3160    '''
 3161         AccountResourceHistory records the state of a AccountResource at a given point in time,
 3162     where every change (create or delete) to a AccountResource produces an
 3163     AccountResourceHistory record.
 3164    '''
 3165    __slots__ = [
 3166        'account_resource',
 3167        'activity_id',
 3168        'deleted_at',
 3169        'timestamp',
 3170    ]
 3171
 3172    def __init__(
 3173        self,
 3174        account_resource=None,
 3175        activity_id=None,
 3176        deleted_at=None,
 3177        timestamp=None,
 3178    ):
 3179        self.account_resource = account_resource if account_resource is not None else None
 3180        '''
 3181         The complete AccountResource state at this time.
 3182        '''
 3183        self.activity_id = activity_id if activity_id is not None else ''
 3184        '''
 3185         The unique identifier of the Activity that produced this change to the AccountResource.
 3186         May be empty for some system-initiated updates.
 3187        '''
 3188        self.deleted_at = deleted_at if deleted_at is not None else None
 3189        '''
 3190         If this AccountResource was deleted, the time it was deleted.
 3191        '''
 3192        self.timestamp = timestamp if timestamp is not None else None
 3193        '''
 3194         The time at which the AccountResource state was recorded.
 3195        '''
 3196
 3197    def __repr__(self):
 3198        return '<sdm.AccountResourceHistory ' + \
 3199            'account_resource: ' + repr(self.account_resource) + ' ' +\
 3200            'activity_id: ' + repr(self.activity_id) + ' ' +\
 3201            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 3202            'timestamp: ' + repr(self.timestamp) + ' ' +\
 3203            '>'
 3204
 3205    def to_dict(self):
 3206        return {
 3207            'account_resource': self.account_resource,
 3208            'activity_id': self.activity_id,
 3209            'deleted_at': self.deleted_at,
 3210            'timestamp': self.timestamp,
 3211        }
 3212
 3213    @classmethod
 3214    def from_dict(cls, d):
 3215        return cls(
 3216            account_resource=d.get('account_resource'),
 3217            activity_id=d.get('activity_id'),
 3218            deleted_at=d.get('deleted_at'),
 3219            timestamp=d.get('timestamp'),
 3220        )
 3221
 3222
 3223class AccountUpdateResponse:
 3224    '''
 3225         AccountUpdateResponse returns the fields of a Account after it has been updated by
 3226     a AccountUpdateRequest.
 3227    '''
 3228    __slots__ = [
 3229        'account',
 3230        'meta',
 3231        'rate_limit',
 3232    ]
 3233
 3234    def __init__(
 3235        self,
 3236        account=None,
 3237        meta=None,
 3238        rate_limit=None,
 3239    ):
 3240        self.account = account if account is not None else None
 3241        '''
 3242         The updated Account.
 3243        '''
 3244        self.meta = meta if meta is not None else None
 3245        '''
 3246         Reserved for future use.
 3247        '''
 3248        self.rate_limit = rate_limit if rate_limit is not None else None
 3249        '''
 3250         Rate limit information.
 3251        '''
 3252
 3253    def __repr__(self):
 3254        return '<sdm.AccountUpdateResponse ' + \
 3255            'account: ' + repr(self.account) + ' ' +\
 3256            'meta: ' + repr(self.meta) + ' ' +\
 3257            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 3258            '>'
 3259
 3260    def to_dict(self):
 3261        return {
 3262            'account': self.account,
 3263            'meta': self.meta,
 3264            'rate_limit': self.rate_limit,
 3265        }
 3266
 3267    @classmethod
 3268    def from_dict(cls, d):
 3269        return cls(
 3270            account=d.get('account'),
 3271            meta=d.get('meta'),
 3272            rate_limit=d.get('rate_limit'),
 3273        )
 3274
 3275
 3276class ActiveDirectoryEngine:
 3277    '''
 3278    ActiveDirectoryEngine is currently unstable, and its API may change, or it may be removed,
 3279    without a major version bump.
 3280    '''
 3281    __slots__ = [
 3282        'after_read_ttl',
 3283        'binddn',
 3284        'bindpass',
 3285        'certificate',
 3286        'connection_timeout',
 3287        'do_not_validate_timestamps',
 3288        'id',
 3289        'insecure_tls',
 3290        'key_rotation_interval_days',
 3291        'max_backoff_duration',
 3292        'name',
 3293        'policy',
 3294        'public_key',
 3295        'request_timeout',
 3296        'secret_store_id',
 3297        'secret_store_root_path',
 3298        'start_tls',
 3299        'tags',
 3300        'ttl',
 3301        'upndomain',
 3302        'url',
 3303        'userdn',
 3304    ]
 3305
 3306    def __init__(
 3307        self,
 3308        after_read_ttl=None,
 3309        binddn=None,
 3310        bindpass=None,
 3311        certificate=None,
 3312        connection_timeout=None,
 3313        do_not_validate_timestamps=None,
 3314        id=None,
 3315        insecure_tls=None,
 3316        key_rotation_interval_days=None,
 3317        max_backoff_duration=None,
 3318        name=None,
 3319        policy=None,
 3320        public_key=None,
 3321        request_timeout=None,
 3322        secret_store_id=None,
 3323        secret_store_root_path=None,
 3324        start_tls=None,
 3325        tags=None,
 3326        ttl=None,
 3327        upndomain=None,
 3328        url=None,
 3329        userdn=None,
 3330    ):
 3331        self.after_read_ttl = after_read_ttl if after_read_ttl is not None else None
 3332        '''
 3333         The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated.
 3334        '''
 3335        self.binddn = binddn if binddn is not None else ''
 3336        '''
 3337         Distinguished name of object to bind when performing user and group search. Example: cn=vault,ou=Users,dc=example,dc=com
 3338        '''
 3339        self.bindpass = bindpass if bindpass is not None else ''
 3340        '''
 3341         Password to use along with binddn when performing user search.
 3342        '''
 3343        self.certificate = certificate if certificate is not None else ''
 3344        '''
 3345         CA certificate to use when verifying LDAP server certificate, must be x509 PEM encoded.
 3346        '''
 3347        self.connection_timeout = connection_timeout if connection_timeout is not None else 0
 3348        '''
 3349         Timeout, in seconds, when attempting to connect to the LDAP server before trying the next URL in the configuration.
 3350        '''
 3351        self.do_not_validate_timestamps = do_not_validate_timestamps if do_not_validate_timestamps is not None else False
 3352        '''
 3353         If set to true this will prevent password change timestamp validation in Active Directory when validating credentials
 3354        '''
 3355        self.id = id if id is not None else ''
 3356        '''
 3357         Unique identifier of the Secret Engine.
 3358        '''
 3359        self.insecure_tls = insecure_tls if insecure_tls is not None else False
 3360        '''
 3361         If true, skips LDAP server SSL certificate verification - insecure, use with caution!
 3362        '''
 3363        self.key_rotation_interval_days = key_rotation_interval_days if key_rotation_interval_days is not None else 0
 3364        '''
 3365         An interval of public/private key rotation for secret engine in days
 3366        '''
 3367        self.max_backoff_duration = max_backoff_duration if max_backoff_duration is not None else None
 3368        '''
 3369         The maximum retry duration in case of automatic failure.
 3370         On failed ttl rotation attempt it will be retried in an increasing intervals until it reaches max_backoff_duration
 3371        '''
 3372        self.name = name if name is not None else ''
 3373        '''
 3374         Unique human-readable name of the Secret Engine.
 3375        '''
 3376        self.policy = policy if policy is not None else None
 3377        '''
 3378         Policy for password creation
 3379        '''
 3380        self.public_key = public_key if public_key is not None else b''
 3381        '''
 3382         Public key linked with a secret engine
 3383        '''
 3384        self.request_timeout = request_timeout if request_timeout is not None else 0
 3385        '''
 3386         Timeout, in seconds, for the connection when making requests against the server before returning back an error.
 3387        '''
 3388        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 3389        '''
 3390         Backing secret store identifier
 3391        '''
 3392        self.secret_store_root_path = secret_store_root_path if secret_store_root_path is not None else ''
 3393        '''
 3394         Backing Secret Store root path where managed secrets are going to be stored
 3395        '''
 3396        self.start_tls = start_tls if start_tls is not None else False
 3397        '''
 3398         If true, issues a StartTLS command after establishing an unencrypted connection.
 3399        '''
 3400        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 3401        '''
 3402         Tags is a map of key, value pairs.
 3403        '''
 3404        self.ttl = ttl if ttl is not None else None
 3405        '''
 3406         The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested.
 3407        '''
 3408        self.upndomain = upndomain if upndomain is not None else ''
 3409        '''
 3410         The domain (userPrincipalDomain) used to construct a UPN string for authentication.
 3411        '''
 3412        self.url = url if url is not None else ''
 3413        '''
 3414         The LDAP server to connect to.
 3415        '''
 3416        self.userdn = userdn if userdn is not None else ''
 3417        '''
 3418         Base DN under which to perform user search. Example: ou=Users,dc=example,dc=com
 3419        '''
 3420
 3421    def __repr__(self):
 3422        return '<sdm.ActiveDirectoryEngine ' + \
 3423            'after_read_ttl: ' + repr(self.after_read_ttl) + ' ' +\
 3424            'binddn: ' + repr(self.binddn) + ' ' +\
 3425            'bindpass: ' + repr(self.bindpass) + ' ' +\
 3426            'certificate: ' + repr(self.certificate) + ' ' +\
 3427            'connection_timeout: ' + repr(self.connection_timeout) + ' ' +\
 3428            'do_not_validate_timestamps: ' + repr(self.do_not_validate_timestamps) + ' ' +\
 3429            'id: ' + repr(self.id) + ' ' +\
 3430            'insecure_tls: ' + repr(self.insecure_tls) + ' ' +\
 3431            'key_rotation_interval_days: ' + repr(self.key_rotation_interval_days) + ' ' +\
 3432            'max_backoff_duration: ' + repr(self.max_backoff_duration) + ' ' +\
 3433            'name: ' + repr(self.name) + ' ' +\
 3434            'policy: ' + repr(self.policy) + ' ' +\
 3435            'public_key: ' + repr(self.public_key) + ' ' +\
 3436            'request_timeout: ' + repr(self.request_timeout) + ' ' +\
 3437            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 3438            'secret_store_root_path: ' + repr(self.secret_store_root_path) + ' ' +\
 3439            'start_tls: ' + repr(self.start_tls) + ' ' +\
 3440            'tags: ' + repr(self.tags) + ' ' +\
 3441            'ttl: ' + repr(self.ttl) + ' ' +\
 3442            'upndomain: ' + repr(self.upndomain) + ' ' +\
 3443            'url: ' + repr(self.url) + ' ' +\
 3444            'userdn: ' + repr(self.userdn) + ' ' +\
 3445            '>'
 3446
 3447    def to_dict(self):
 3448        return {
 3449            'after_read_ttl': self.after_read_ttl,
 3450            'binddn': self.binddn,
 3451            'bindpass': self.bindpass,
 3452            'certificate': self.certificate,
 3453            'connection_timeout': self.connection_timeout,
 3454            'do_not_validate_timestamps': self.do_not_validate_timestamps,
 3455            'id': self.id,
 3456            'insecure_tls': self.insecure_tls,
 3457            'key_rotation_interval_days': self.key_rotation_interval_days,
 3458            'max_backoff_duration': self.max_backoff_duration,
 3459            'name': self.name,
 3460            'policy': self.policy,
 3461            'public_key': self.public_key,
 3462            'request_timeout': self.request_timeout,
 3463            'secret_store_id': self.secret_store_id,
 3464            'secret_store_root_path': self.secret_store_root_path,
 3465            'start_tls': self.start_tls,
 3466            'tags': self.tags,
 3467            'ttl': self.ttl,
 3468            'upndomain': self.upndomain,
 3469            'url': self.url,
 3470            'userdn': self.userdn,
 3471        }
 3472
 3473    @classmethod
 3474    def from_dict(cls, d):
 3475        return cls(
 3476            after_read_ttl=d.get('after_read_ttl'),
 3477            binddn=d.get('binddn'),
 3478            bindpass=d.get('bindpass'),
 3479            certificate=d.get('certificate'),
 3480            connection_timeout=d.get('connection_timeout'),
 3481            do_not_validate_timestamps=d.get('do_not_validate_timestamps'),
 3482            id=d.get('id'),
 3483            insecure_tls=d.get('insecure_tls'),
 3484            key_rotation_interval_days=d.get('key_rotation_interval_days'),
 3485            max_backoff_duration=d.get('max_backoff_duration'),
 3486            name=d.get('name'),
 3487            policy=d.get('policy'),
 3488            public_key=d.get('public_key'),
 3489            request_timeout=d.get('request_timeout'),
 3490            secret_store_id=d.get('secret_store_id'),
 3491            secret_store_root_path=d.get('secret_store_root_path'),
 3492            start_tls=d.get('start_tls'),
 3493            tags=d.get('tags'),
 3494            ttl=d.get('ttl'),
 3495            upndomain=d.get('upndomain'),
 3496            url=d.get('url'),
 3497            userdn=d.get('userdn'),
 3498        )
 3499
 3500
 3501class ActiveDirectoryStore:
 3502    __slots__ = [
 3503        'id',
 3504        'name',
 3505        'server_address',
 3506        'tags',
 3507    ]
 3508
 3509    def __init__(
 3510        self,
 3511        id=None,
 3512        name=None,
 3513        server_address=None,
 3514        tags=None,
 3515    ):
 3516        self.id = id if id is not None else ''
 3517        '''
 3518         Unique identifier of the SecretStore.
 3519        '''
 3520        self.name = name if name is not None else ''
 3521        '''
 3522         Unique human-readable name of the SecretStore.
 3523        '''
 3524        self.server_address = server_address if server_address is not None else ''
 3525        '''
 3526         Hostname of server that is hosting NDES (Network Device Enrollment Services).
 3527         Often this is the same host as Active Directory Certificate Services
 3528        '''
 3529        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 3530        '''
 3531         Tags is a map of key, value pairs.
 3532        '''
 3533
 3534    def __repr__(self):
 3535        return '<sdm.ActiveDirectoryStore ' + \
 3536            'id: ' + repr(self.id) + ' ' +\
 3537            'name: ' + repr(self.name) + ' ' +\
 3538            'server_address: ' + repr(self.server_address) + ' ' +\
 3539            'tags: ' + repr(self.tags) + ' ' +\
 3540            '>'
 3541
 3542    def to_dict(self):
 3543        return {
 3544            'id': self.id,
 3545            'name': self.name,
 3546            'server_address': self.server_address,
 3547            'tags': self.tags,
 3548        }
 3549
 3550    @classmethod
 3551    def from_dict(cls, d):
 3552        return cls(
 3553            id=d.get('id'),
 3554            name=d.get('name'),
 3555            server_address=d.get('server_address'),
 3556            tags=d.get('tags'),
 3557        )
 3558
 3559
 3560class Activity:
 3561    '''
 3562         An Activity is a record of an action taken against a strongDM deployment, e.g.
 3563     a user creation, resource deletion, sso configuration change, etc.
 3564    '''
 3565    __slots__ = [
 3566        'actor',
 3567        'completed_at',
 3568        'description',
 3569        'entities',
 3570        'id',
 3571        'ip_address',
 3572        'user_agent',
 3573        'verb',
 3574    ]
 3575
 3576    def __init__(
 3577        self,
 3578        actor=None,
 3579        completed_at=None,
 3580        description=None,
 3581        entities=None,
 3582        id=None,
 3583        ip_address=None,
 3584        user_agent=None,
 3585        verb=None,
 3586    ):
 3587        self.actor = actor if actor is not None else None
 3588        '''
 3589         The account who executed this activity. If the actor later has a name or email change,
 3590         that change is not reflected here. Actor is a snapshot of the executing account at
 3591         the time an activity took place.
 3592        '''
 3593        self.completed_at = completed_at if completed_at is not None else None
 3594        '''
 3595         The time this activity took effect.
 3596        '''
 3597        self.description = description if description is not None else ''
 3598        '''
 3599         A humanized description of the activity.
 3600        '''
 3601        self.entities = entities if entities is not None else []
 3602        '''
 3603         The entities involved in this activity. These entities can be any first class
 3604         entity in the strongDM system, eg. a user, a role, a node, an account grant. Not
 3605         every activity affects explicit entities.
 3606        '''
 3607        self.id = id if id is not None else ''
 3608        '''
 3609         Unique identifier of the Activity.
 3610        '''
 3611        self.ip_address = ip_address if ip_address is not None else ''
 3612        '''
 3613         The IP from which this action was taken.
 3614        '''
 3615        self.user_agent = user_agent if user_agent is not None else ''
 3616        '''
 3617         The User Agent present when this request was executed. Generally a client type and version
 3618         like strongdm-cli/55.66.77
 3619        '''
 3620        self.verb = verb if verb is not None else ''
 3621        '''
 3622         The kind of activity which has taken place, one of the ActivityVerb constants.
 3623        '''
 3624
 3625    def __repr__(self):
 3626        return '<sdm.Activity ' + \
 3627            'actor: ' + repr(self.actor) + ' ' +\
 3628            'completed_at: ' + repr(self.completed_at) + ' ' +\
 3629            'description: ' + repr(self.description) + ' ' +\
 3630            'entities: ' + repr(self.entities) + ' ' +\
 3631            'id: ' + repr(self.id) + ' ' +\
 3632            'ip_address: ' + repr(self.ip_address) + ' ' +\
 3633            'user_agent: ' + repr(self.user_agent) + ' ' +\
 3634            'verb: ' + repr(self.verb) + ' ' +\
 3635            '>'
 3636
 3637    def to_dict(self):
 3638        return {
 3639            'actor': self.actor,
 3640            'completed_at': self.completed_at,
 3641            'description': self.description,
 3642            'entities': self.entities,
 3643            'id': self.id,
 3644            'ip_address': self.ip_address,
 3645            'user_agent': self.user_agent,
 3646            'verb': self.verb,
 3647        }
 3648
 3649    @classmethod
 3650    def from_dict(cls, d):
 3651        return cls(
 3652            actor=d.get('actor'),
 3653            completed_at=d.get('completed_at'),
 3654            description=d.get('description'),
 3655            entities=d.get('entities'),
 3656            id=d.get('id'),
 3657            ip_address=d.get('ip_address'),
 3658            user_agent=d.get('user_agent'),
 3659            verb=d.get('verb'),
 3660        )
 3661
 3662
 3663class ActivityActor:
 3664    __slots__ = [
 3665        'activity_external_id',
 3666        'email',
 3667        'first_name',
 3668        'id',
 3669        'last_name',
 3670    ]
 3671
 3672    def __init__(
 3673        self,
 3674        activity_external_id=None,
 3675        email=None,
 3676        first_name=None,
 3677        id=None,
 3678        last_name=None,
 3679    ):
 3680        self.activity_external_id = activity_external_id if activity_external_id is not None else ''
 3681        '''
 3682         The external ID of the actor at the time this activity occurred.
 3683        '''
 3684        self.email = email if email is not None else ''
 3685        '''
 3686         The email of the actor at the time this activity occurred.
 3687        '''
 3688        self.first_name = first_name if first_name is not None else ''
 3689        '''
 3690         The first name of the actor at the time this activity occurred.
 3691        '''
 3692        self.id = id if id is not None else ''
 3693        '''
 3694         Unique identifier of the actor. Immutable.
 3695        '''
 3696        self.last_name = last_name if last_name is not None else ''
 3697        '''
 3698         The last name of the actor at the time this activity occurred.
 3699        '''
 3700
 3701    def __repr__(self):
 3702        return '<sdm.ActivityActor ' + \
 3703            'activity_external_id: ' + repr(self.activity_external_id) + ' ' +\
 3704            'email: ' + repr(self.email) + ' ' +\
 3705            'first_name: ' + repr(self.first_name) + ' ' +\
 3706            'id: ' + repr(self.id) + ' ' +\
 3707            'last_name: ' + repr(self.last_name) + ' ' +\
 3708            '>'
 3709
 3710    def to_dict(self):
 3711        return {
 3712            'activity_external_id': self.activity_external_id,
 3713            'email': self.email,
 3714            'first_name': self.first_name,
 3715            'id': self.id,
 3716            'last_name': self.last_name,
 3717        }
 3718
 3719    @classmethod
 3720    def from_dict(cls, d):
 3721        return cls(
 3722            activity_external_id=d.get('activity_external_id'),
 3723            email=d.get('email'),
 3724            first_name=d.get('first_name'),
 3725            id=d.get('id'),
 3726            last_name=d.get('last_name'),
 3727        )
 3728
 3729
 3730class ActivityEntity:
 3731    __slots__ = [
 3732        'email',
 3733        'external_id',
 3734        'id',
 3735        'name',
 3736        'type',
 3737    ]
 3738
 3739    def __init__(
 3740        self,
 3741        email=None,
 3742        external_id=None,
 3743        id=None,
 3744        name=None,
 3745        type=None,
 3746    ):
 3747        self.email = email if email is not None else ''
 3748        '''
 3749         The email of the affected entity, if it has one (for example, if it is an account).
 3750        '''
 3751        self.external_id = external_id if external_id is not None else ''
 3752        '''
 3753         The external ID of the affected entity, if it has one (for example, if it is an account).
 3754        '''
 3755        self.id = id if id is not None else ''
 3756        '''
 3757         The unique identifier of the entity this activity affected.
 3758        '''
 3759        self.name = name if name is not None else ''
 3760        '''
 3761         A display name representing the affected entity.
 3762        '''
 3763        self.type = type if type is not None else ''
 3764        '''
 3765         The type of entity affected, one of the ActivityEntityType constants.
 3766        '''
 3767
 3768    def __repr__(self):
 3769        return '<sdm.ActivityEntity ' + \
 3770            'email: ' + repr(self.email) + ' ' +\
 3771            'external_id: ' + repr(self.external_id) + ' ' +\
 3772            'id: ' + repr(self.id) + ' ' +\
 3773            'name: ' + repr(self.name) + ' ' +\
 3774            'type: ' + repr(self.type) + ' ' +\
 3775            '>'
 3776
 3777    def to_dict(self):
 3778        return {
 3779            'email': self.email,
 3780            'external_id': self.external_id,
 3781            'id': self.id,
 3782            'name': self.name,
 3783            'type': self.type,
 3784        }
 3785
 3786    @classmethod
 3787    def from_dict(cls, d):
 3788        return cls(
 3789            email=d.get('email'),
 3790            external_id=d.get('external_id'),
 3791            id=d.get('id'),
 3792            name=d.get('name'),
 3793            type=d.get('type'),
 3794        )
 3795
 3796
 3797class ActivityGetResponse:
 3798    '''
 3799         ActivityGetResponse returns a requested Activity.
 3800    '''
 3801    __slots__ = [
 3802        'activity',
 3803        'meta',
 3804        'rate_limit',
 3805    ]
 3806
 3807    def __init__(
 3808        self,
 3809        activity=None,
 3810        meta=None,
 3811        rate_limit=None,
 3812    ):
 3813        self.activity = activity if activity is not None else None
 3814        '''
 3815         The requested Activity.
 3816        '''
 3817        self.meta = meta if meta is not None else None
 3818        '''
 3819         Reserved for future use.
 3820        '''
 3821        self.rate_limit = rate_limit if rate_limit is not None else None
 3822        '''
 3823         Rate limit information.
 3824        '''
 3825
 3826    def __repr__(self):
 3827        return '<sdm.ActivityGetResponse ' + \
 3828            'activity: ' + repr(self.activity) + ' ' +\
 3829            'meta: ' + repr(self.meta) + ' ' +\
 3830            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 3831            '>'
 3832
 3833    def to_dict(self):
 3834        return {
 3835            'activity': self.activity,
 3836            'meta': self.meta,
 3837            'rate_limit': self.rate_limit,
 3838        }
 3839
 3840    @classmethod
 3841    def from_dict(cls, d):
 3842        return cls(
 3843            activity=d.get('activity'),
 3844            meta=d.get('meta'),
 3845            rate_limit=d.get('rate_limit'),
 3846        )
 3847
 3848
 3849class Aerospike:
 3850    __slots__ = [
 3851        'bind_interface',
 3852        'egress_filter',
 3853        'healthy',
 3854        'hostname',
 3855        'id',
 3856        'name',
 3857        'password',
 3858        'port',
 3859        'port_override',
 3860        'proxy_cluster_id',
 3861        'secret_store_id',
 3862        'subdomain',
 3863        'tags',
 3864        'use_services_alternate',
 3865        'username',
 3866    ]
 3867
 3868    def __init__(
 3869        self,
 3870        bind_interface=None,
 3871        egress_filter=None,
 3872        healthy=None,
 3873        hostname=None,
 3874        id=None,
 3875        name=None,
 3876        password=None,
 3877        port=None,
 3878        port_override=None,
 3879        proxy_cluster_id=None,
 3880        secret_store_id=None,
 3881        subdomain=None,
 3882        tags=None,
 3883        use_services_alternate=None,
 3884        username=None,
 3885    ):
 3886        self.bind_interface = bind_interface if bind_interface is not None else ''
 3887        '''
 3888         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 3889        '''
 3890        self.egress_filter = egress_filter if egress_filter is not None else ''
 3891        '''
 3892         A filter applied to the routing logic to pin datasource to nodes.
 3893        '''
 3894        self.healthy = healthy if healthy is not None else False
 3895        '''
 3896         True if the datasource is reachable and the credentials are valid.
 3897        '''
 3898        self.hostname = hostname if hostname is not None else ''
 3899        '''
 3900         The host to dial to initiate a connection from the egress node to this resource.
 3901        '''
 3902        self.id = id if id is not None else ''
 3903        '''
 3904         Unique identifier of the Resource.
 3905        '''
 3906        self.name = name if name is not None else ''
 3907        '''
 3908         Unique human-readable name of the Resource.
 3909        '''
 3910        self.password = password if password is not None else ''
 3911        '''
 3912         The password to authenticate with.
 3913        '''
 3914        self.port = port if port is not None else 0
 3915        '''
 3916         The port to dial to initiate a connection from the egress node to this resource.
 3917        '''
 3918        self.port_override = port_override if port_override is not None else 0
 3919        '''
 3920         The local port used by clients to connect to this resource.
 3921        '''
 3922        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 3923        '''
 3924         ID of the proxy cluster for this resource, if any.
 3925        '''
 3926        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 3927        '''
 3928         ID of the secret store containing credentials for this resource, if any.
 3929        '''
 3930        self.subdomain = subdomain if subdomain is not None else ''
 3931        '''
 3932         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 3933        '''
 3934        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 3935        '''
 3936         Tags is a map of key, value pairs.
 3937        '''
 3938        self.use_services_alternate = use_services_alternate if use_services_alternate is not None else False
 3939        '''
 3940         If true, uses UseServicesAlternates directive for Aerospike connection
 3941        '''
 3942        self.username = username if username is not None else ''
 3943        '''
 3944         The username to authenticate with.
 3945        '''
 3946
 3947    def __repr__(self):
 3948        return '<sdm.Aerospike ' + \
 3949            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 3950            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 3951            'healthy: ' + repr(self.healthy) + ' ' +\
 3952            'hostname: ' + repr(self.hostname) + ' ' +\
 3953            'id: ' + repr(self.id) + ' ' +\
 3954            'name: ' + repr(self.name) + ' ' +\
 3955            'password: ' + repr(self.password) + ' ' +\
 3956            'port: ' + repr(self.port) + ' ' +\
 3957            'port_override: ' + repr(self.port_override) + ' ' +\
 3958            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 3959            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 3960            'subdomain: ' + repr(self.subdomain) + ' ' +\
 3961            'tags: ' + repr(self.tags) + ' ' +\
 3962            'use_services_alternate: ' + repr(self.use_services_alternate) + ' ' +\
 3963            'username: ' + repr(self.username) + ' ' +\
 3964            '>'
 3965
 3966    def to_dict(self):
 3967        return {
 3968            'bind_interface': self.bind_interface,
 3969            'egress_filter': self.egress_filter,
 3970            'healthy': self.healthy,
 3971            'hostname': self.hostname,
 3972            'id': self.id,
 3973            'name': self.name,
 3974            'password': self.password,
 3975            'port': self.port,
 3976            'port_override': self.port_override,
 3977            'proxy_cluster_id': self.proxy_cluster_id,
 3978            'secret_store_id': self.secret_store_id,
 3979            'subdomain': self.subdomain,
 3980            'tags': self.tags,
 3981            'use_services_alternate': self.use_services_alternate,
 3982            'username': self.username,
 3983        }
 3984
 3985    @classmethod
 3986    def from_dict(cls, d):
 3987        return cls(
 3988            bind_interface=d.get('bind_interface'),
 3989            egress_filter=d.get('egress_filter'),
 3990            healthy=d.get('healthy'),
 3991            hostname=d.get('hostname'),
 3992            id=d.get('id'),
 3993            name=d.get('name'),
 3994            password=d.get('password'),
 3995            port=d.get('port'),
 3996            port_override=d.get('port_override'),
 3997            proxy_cluster_id=d.get('proxy_cluster_id'),
 3998            secret_store_id=d.get('secret_store_id'),
 3999            subdomain=d.get('subdomain'),
 4000            tags=d.get('tags'),
 4001            use_services_alternate=d.get('use_services_alternate'),
 4002            username=d.get('username'),
 4003        )
 4004
 4005
 4006class AmazonEKS:
 4007    __slots__ = [
 4008        'access_key',
 4009        'allow_resource_role_bypass',
 4010        'bind_interface',
 4011        'certificate_authority',
 4012        'cluster_name',
 4013        'discovery_enabled',
 4014        'discovery_username',
 4015        'egress_filter',
 4016        'endpoint',
 4017        'healthcheck_namespace',
 4018        'healthy',
 4019        'id',
 4020        'identity_alias_healthcheck_username',
 4021        'identity_set_id',
 4022        'name',
 4023        'port_override',
 4024        'proxy_cluster_id',
 4025        'region',
 4026        'role_arn',
 4027        'role_external_id',
 4028        'secret_access_key',
 4029        'secret_store_id',
 4030        'subdomain',
 4031        'tags',
 4032    ]
 4033
 4034    def __init__(
 4035        self,
 4036        access_key=None,
 4037        allow_resource_role_bypass=None,
 4038        bind_interface=None,
 4039        certificate_authority=None,
 4040        cluster_name=None,
 4041        discovery_enabled=None,
 4042        discovery_username=None,
 4043        egress_filter=None,
 4044        endpoint=None,
 4045        healthcheck_namespace=None,
 4046        healthy=None,
 4047        id=None,
 4048        identity_alias_healthcheck_username=None,
 4049        identity_set_id=None,
 4050        name=None,
 4051        port_override=None,
 4052        proxy_cluster_id=None,
 4053        region=None,
 4054        role_arn=None,
 4055        role_external_id=None,
 4056        secret_access_key=None,
 4057        secret_store_id=None,
 4058        subdomain=None,
 4059        tags=None,
 4060    ):
 4061        self.access_key = access_key if access_key is not None else ''
 4062        '''
 4063         The Access Key ID to use to authenticate.
 4064        '''
 4065        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
 4066        '''
 4067         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
 4068         when a resource role is not provided.
 4069        '''
 4070        self.bind_interface = bind_interface if bind_interface is not None else ''
 4071        '''
 4072         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 4073        '''
 4074        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
 4075        '''
 4076         The CA to authenticate TLS connections with.
 4077        '''
 4078        self.cluster_name = cluster_name if cluster_name is not None else ''
 4079        '''
 4080         The name of the cluster to connect to.
 4081        '''
 4082        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
 4083        '''
 4084         If true, configures discovery of a cluster to be run from a node.
 4085        '''
 4086        self.discovery_username = discovery_username if discovery_username is not None else ''
 4087        '''
 4088         If a cluster is configured for user impersonation, this is the user to impersonate when
 4089         running discovery.
 4090        '''
 4091        self.egress_filter = egress_filter if egress_filter is not None else ''
 4092        '''
 4093         A filter applied to the routing logic to pin datasource to nodes.
 4094        '''
 4095        self.endpoint = endpoint if endpoint is not None else ''
 4096        '''
 4097         The endpoint to dial.
 4098        '''
 4099        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
 4100        '''
 4101         The path used to check the health of your connection.  Defaults to `default`.
 4102        '''
 4103        self.healthy = healthy if healthy is not None else False
 4104        '''
 4105         True if the datasource is reachable and the credentials are valid.
 4106        '''
 4107        self.id = id if id is not None else ''
 4108        '''
 4109         Unique identifier of the Resource.
 4110        '''
 4111        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
 4112        '''
 4113         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
 4114        '''
 4115        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
 4116        '''
 4117         The ID of the identity set to use for identity connections.
 4118        '''
 4119        self.name = name if name is not None else ''
 4120        '''
 4121         Unique human-readable name of the Resource.
 4122        '''
 4123        self.port_override = port_override if port_override is not None else 0
 4124        '''
 4125         The local port used by clients to connect to this resource.
 4126        '''
 4127        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 4128        '''
 4129         ID of the proxy cluster for this resource, if any.
 4130        '''
 4131        self.region = region if region is not None else ''
 4132        '''
 4133         The AWS region to connect to e.g. us-east-1.
 4134        '''
 4135        self.role_arn = role_arn if role_arn is not None else ''
 4136        '''
 4137         The role to assume after logging in.
 4138        '''
 4139        self.role_external_id = role_external_id if role_external_id is not None else ''
 4140        '''
 4141         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 4142        '''
 4143        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
 4144        '''
 4145         The Secret Access Key to use to authenticate.
 4146        '''
 4147        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 4148        '''
 4149         ID of the secret store containing credentials for this resource, if any.
 4150        '''
 4151        self.subdomain = subdomain if subdomain is not None else ''
 4152        '''
 4153         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 4154        '''
 4155        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 4156        '''
 4157         Tags is a map of key, value pairs.
 4158        '''
 4159
 4160    def __repr__(self):
 4161        return '<sdm.AmazonEKS ' + \
 4162            'access_key: ' + repr(self.access_key) + ' ' +\
 4163            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
 4164            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 4165            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
 4166            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
 4167            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
 4168            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
 4169            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 4170            'endpoint: ' + repr(self.endpoint) + ' ' +\
 4171            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
 4172            'healthy: ' + repr(self.healthy) + ' ' +\
 4173            'id: ' + repr(self.id) + ' ' +\
 4174            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
 4175            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
 4176            'name: ' + repr(self.name) + ' ' +\
 4177            'port_override: ' + repr(self.port_override) + ' ' +\
 4178            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 4179            'region: ' + repr(self.region) + ' ' +\
 4180            'role_arn: ' + repr(self.role_arn) + ' ' +\
 4181            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 4182            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
 4183            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 4184            'subdomain: ' + repr(self.subdomain) + ' ' +\
 4185            'tags: ' + repr(self.tags) + ' ' +\
 4186            '>'
 4187
 4188    def to_dict(self):
 4189        return {
 4190            'access_key': self.access_key,
 4191            'allow_resource_role_bypass': self.allow_resource_role_bypass,
 4192            'bind_interface': self.bind_interface,
 4193            'certificate_authority': self.certificate_authority,
 4194            'cluster_name': self.cluster_name,
 4195            'discovery_enabled': self.discovery_enabled,
 4196            'discovery_username': self.discovery_username,
 4197            'egress_filter': self.egress_filter,
 4198            'endpoint': self.endpoint,
 4199            'healthcheck_namespace': self.healthcheck_namespace,
 4200            'healthy': self.healthy,
 4201            'id': self.id,
 4202            'identity_alias_healthcheck_username':
 4203            self.identity_alias_healthcheck_username,
 4204            'identity_set_id': self.identity_set_id,
 4205            'name': self.name,
 4206            'port_override': self.port_override,
 4207            'proxy_cluster_id': self.proxy_cluster_id,
 4208            'region': self.region,
 4209            'role_arn': self.role_arn,
 4210            'role_external_id': self.role_external_id,
 4211            'secret_access_key': self.secret_access_key,
 4212            'secret_store_id': self.secret_store_id,
 4213            'subdomain': self.subdomain,
 4214            'tags': self.tags,
 4215        }
 4216
 4217    @classmethod
 4218    def from_dict(cls, d):
 4219        return cls(
 4220            access_key=d.get('access_key'),
 4221            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
 4222            bind_interface=d.get('bind_interface'),
 4223            certificate_authority=d.get('certificate_authority'),
 4224            cluster_name=d.get('cluster_name'),
 4225            discovery_enabled=d.get('discovery_enabled'),
 4226            discovery_username=d.get('discovery_username'),
 4227            egress_filter=d.get('egress_filter'),
 4228            endpoint=d.get('endpoint'),
 4229            healthcheck_namespace=d.get('healthcheck_namespace'),
 4230            healthy=d.get('healthy'),
 4231            id=d.get('id'),
 4232            identity_alias_healthcheck_username=d.get(
 4233                'identity_alias_healthcheck_username'),
 4234            identity_set_id=d.get('identity_set_id'),
 4235            name=d.get('name'),
 4236            port_override=d.get('port_override'),
 4237            proxy_cluster_id=d.get('proxy_cluster_id'),
 4238            region=d.get('region'),
 4239            role_arn=d.get('role_arn'),
 4240            role_external_id=d.get('role_external_id'),
 4241            secret_access_key=d.get('secret_access_key'),
 4242            secret_store_id=d.get('secret_store_id'),
 4243            subdomain=d.get('subdomain'),
 4244            tags=d.get('tags'),
 4245        )
 4246
 4247
 4248class AmazonEKSInstanceProfile:
 4249    __slots__ = [
 4250        'allow_resource_role_bypass',
 4251        'bind_interface',
 4252        'certificate_authority',
 4253        'cluster_name',
 4254        'discovery_enabled',
 4255        'discovery_username',
 4256        'egress_filter',
 4257        'endpoint',
 4258        'healthcheck_namespace',
 4259        'healthy',
 4260        'id',
 4261        'identity_alias_healthcheck_username',
 4262        'identity_set_id',
 4263        'name',
 4264        'port_override',
 4265        'proxy_cluster_id',
 4266        'region',
 4267        'role_arn',
 4268        'role_external_id',
 4269        'secret_store_id',
 4270        'subdomain',
 4271        'tags',
 4272    ]
 4273
 4274    def __init__(
 4275        self,
 4276        allow_resource_role_bypass=None,
 4277        bind_interface=None,
 4278        certificate_authority=None,
 4279        cluster_name=None,
 4280        discovery_enabled=None,
 4281        discovery_username=None,
 4282        egress_filter=None,
 4283        endpoint=None,
 4284        healthcheck_namespace=None,
 4285        healthy=None,
 4286        id=None,
 4287        identity_alias_healthcheck_username=None,
 4288        identity_set_id=None,
 4289        name=None,
 4290        port_override=None,
 4291        proxy_cluster_id=None,
 4292        region=None,
 4293        role_arn=None,
 4294        role_external_id=None,
 4295        secret_store_id=None,
 4296        subdomain=None,
 4297        tags=None,
 4298    ):
 4299        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
 4300        '''
 4301         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
 4302         when a resource role is not provided.
 4303        '''
 4304        self.bind_interface = bind_interface if bind_interface is not None else ''
 4305        '''
 4306         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 4307        '''
 4308        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
 4309        '''
 4310         The CA to authenticate TLS connections with.
 4311        '''
 4312        self.cluster_name = cluster_name if cluster_name is not None else ''
 4313        '''
 4314         The name of the cluster to connect to.
 4315        '''
 4316        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
 4317        '''
 4318         If true, configures discovery of a cluster to be run from a node.
 4319        '''
 4320        self.discovery_username = discovery_username if discovery_username is not None else ''
 4321        '''
 4322         If a cluster is configured for user impersonation, this is the user to impersonate when
 4323         running discovery.
 4324        '''
 4325        self.egress_filter = egress_filter if egress_filter is not None else ''
 4326        '''
 4327         A filter applied to the routing logic to pin datasource to nodes.
 4328        '''
 4329        self.endpoint = endpoint if endpoint is not None else ''
 4330        '''
 4331         The endpoint to dial.
 4332        '''
 4333        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
 4334        '''
 4335         The path used to check the health of your connection.  Defaults to `default`.
 4336        '''
 4337        self.healthy = healthy if healthy is not None else False
 4338        '''
 4339         True if the datasource is reachable and the credentials are valid.
 4340        '''
 4341        self.id = id if id is not None else ''
 4342        '''
 4343         Unique identifier of the Resource.
 4344        '''
 4345        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
 4346        '''
 4347         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
 4348        '''
 4349        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
 4350        '''
 4351         The ID of the identity set to use for identity connections.
 4352        '''
 4353        self.name = name if name is not None else ''
 4354        '''
 4355         Unique human-readable name of the Resource.
 4356        '''
 4357        self.port_override = port_override if port_override is not None else 0
 4358        '''
 4359         The local port used by clients to connect to this resource.
 4360        '''
 4361        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 4362        '''
 4363         ID of the proxy cluster for this resource, if any.
 4364        '''
 4365        self.region = region if region is not None else ''
 4366        '''
 4367         The AWS region to connect to e.g. us-east-1.
 4368        '''
 4369        self.role_arn = role_arn if role_arn is not None else ''
 4370        '''
 4371         The role to assume after logging in.
 4372        '''
 4373        self.role_external_id = role_external_id if role_external_id is not None else ''
 4374        '''
 4375         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 4376        '''
 4377        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 4378        '''
 4379         ID of the secret store containing credentials for this resource, if any.
 4380        '''
 4381        self.subdomain = subdomain if subdomain is not None else ''
 4382        '''
 4383         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 4384        '''
 4385        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 4386        '''
 4387         Tags is a map of key, value pairs.
 4388        '''
 4389
 4390    def __repr__(self):
 4391        return '<sdm.AmazonEKSInstanceProfile ' + \
 4392            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
 4393            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 4394            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
 4395            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
 4396            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
 4397            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
 4398            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 4399            'endpoint: ' + repr(self.endpoint) + ' ' +\
 4400            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
 4401            'healthy: ' + repr(self.healthy) + ' ' +\
 4402            'id: ' + repr(self.id) + ' ' +\
 4403            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
 4404            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
 4405            'name: ' + repr(self.name) + ' ' +\
 4406            'port_override: ' + repr(self.port_override) + ' ' +\
 4407            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 4408            'region: ' + repr(self.region) + ' ' +\
 4409            'role_arn: ' + repr(self.role_arn) + ' ' +\
 4410            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 4411            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 4412            'subdomain: ' + repr(self.subdomain) + ' ' +\
 4413            'tags: ' + repr(self.tags) + ' ' +\
 4414            '>'
 4415
 4416    def to_dict(self):
 4417        return {
 4418            'allow_resource_role_bypass': self.allow_resource_role_bypass,
 4419            'bind_interface': self.bind_interface,
 4420            'certificate_authority': self.certificate_authority,
 4421            'cluster_name': self.cluster_name,
 4422            'discovery_enabled': self.discovery_enabled,
 4423            'discovery_username': self.discovery_username,
 4424            'egress_filter': self.egress_filter,
 4425            'endpoint': self.endpoint,
 4426            'healthcheck_namespace': self.healthcheck_namespace,
 4427            'healthy': self.healthy,
 4428            'id': self.id,
 4429            'identity_alias_healthcheck_username':
 4430            self.identity_alias_healthcheck_username,
 4431            'identity_set_id': self.identity_set_id,
 4432            'name': self.name,
 4433            'port_override': self.port_override,
 4434            'proxy_cluster_id': self.proxy_cluster_id,
 4435            'region': self.region,
 4436            'role_arn': self.role_arn,
 4437            'role_external_id': self.role_external_id,
 4438            'secret_store_id': self.secret_store_id,
 4439            'subdomain': self.subdomain,
 4440            'tags': self.tags,
 4441        }
 4442
 4443    @classmethod
 4444    def from_dict(cls, d):
 4445        return cls(
 4446            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
 4447            bind_interface=d.get('bind_interface'),
 4448            certificate_authority=d.get('certificate_authority'),
 4449            cluster_name=d.get('cluster_name'),
 4450            discovery_enabled=d.get('discovery_enabled'),
 4451            discovery_username=d.get('discovery_username'),
 4452            egress_filter=d.get('egress_filter'),
 4453            endpoint=d.get('endpoint'),
 4454            healthcheck_namespace=d.get('healthcheck_namespace'),
 4455            healthy=d.get('healthy'),
 4456            id=d.get('id'),
 4457            identity_alias_healthcheck_username=d.get(
 4458                'identity_alias_healthcheck_username'),
 4459            identity_set_id=d.get('identity_set_id'),
 4460            name=d.get('name'),
 4461            port_override=d.get('port_override'),
 4462            proxy_cluster_id=d.get('proxy_cluster_id'),
 4463            region=d.get('region'),
 4464            role_arn=d.get('role_arn'),
 4465            role_external_id=d.get('role_external_id'),
 4466            secret_store_id=d.get('secret_store_id'),
 4467            subdomain=d.get('subdomain'),
 4468            tags=d.get('tags'),
 4469        )
 4470
 4471
 4472class AmazonEKSInstanceProfileUserImpersonation:
 4473    __slots__ = [
 4474        'bind_interface',
 4475        'certificate_authority',
 4476        'cluster_name',
 4477        'egress_filter',
 4478        'endpoint',
 4479        'healthcheck_namespace',
 4480        'healthy',
 4481        'id',
 4482        'name',
 4483        'port_override',
 4484        'proxy_cluster_id',
 4485        'region',
 4486        'role_arn',
 4487        'role_external_id',
 4488        'secret_store_id',
 4489        'subdomain',
 4490        'tags',
 4491    ]
 4492
 4493    def __init__(
 4494        self,
 4495        bind_interface=None,
 4496        certificate_authority=None,
 4497        cluster_name=None,
 4498        egress_filter=None,
 4499        endpoint=None,
 4500        healthcheck_namespace=None,
 4501        healthy=None,
 4502        id=None,
 4503        name=None,
 4504        port_override=None,
 4505        proxy_cluster_id=None,
 4506        region=None,
 4507        role_arn=None,
 4508        role_external_id=None,
 4509        secret_store_id=None,
 4510        subdomain=None,
 4511        tags=None,
 4512    ):
 4513        self.bind_interface = bind_interface if bind_interface is not None else ''
 4514        '''
 4515         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 4516        '''
 4517        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
 4518        '''
 4519         The CA to authenticate TLS connections with.
 4520        '''
 4521        self.cluster_name = cluster_name if cluster_name is not None else ''
 4522        '''
 4523         The name of the cluster to connect to.
 4524        '''
 4525        self.egress_filter = egress_filter if egress_filter is not None else ''
 4526        '''
 4527         A filter applied to the routing logic to pin datasource to nodes.
 4528        '''
 4529        self.endpoint = endpoint if endpoint is not None else ''
 4530        '''
 4531         The endpoint to dial.
 4532        '''
 4533        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
 4534        '''
 4535         The path used to check the health of your connection.  Defaults to `default`.
 4536        '''
 4537        self.healthy = healthy if healthy is not None else False
 4538        '''
 4539         True if the datasource is reachable and the credentials are valid.
 4540        '''
 4541        self.id = id if id is not None else ''
 4542        '''
 4543         Unique identifier of the Resource.
 4544        '''
 4545        self.name = name if name is not None else ''
 4546        '''
 4547         Unique human-readable name of the Resource.
 4548        '''
 4549        self.port_override = port_override if port_override is not None else 0
 4550        '''
 4551         The local port used by clients to connect to this resource.
 4552        '''
 4553        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 4554        '''
 4555         ID of the proxy cluster for this resource, if any.
 4556        '''
 4557        self.region = region if region is not None else ''
 4558        '''
 4559         The AWS region to connect to e.g. us-east-1.
 4560        '''
 4561        self.role_arn = role_arn if role_arn is not None else ''
 4562        '''
 4563         The role to assume after logging in.
 4564        '''
 4565        self.role_external_id = role_external_id if role_external_id is not None else ''
 4566        '''
 4567         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 4568        '''
 4569        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 4570        '''
 4571         ID of the secret store containing credentials for this resource, if any.
 4572        '''
 4573        self.subdomain = subdomain if subdomain is not None else ''
 4574        '''
 4575         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 4576        '''
 4577        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 4578        '''
 4579         Tags is a map of key, value pairs.
 4580        '''
 4581
 4582    def __repr__(self):
 4583        return '<sdm.AmazonEKSInstanceProfileUserImpersonation ' + \
 4584            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 4585            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
 4586            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
 4587            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 4588            'endpoint: ' + repr(self.endpoint) + ' ' +\
 4589            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
 4590            'healthy: ' + repr(self.healthy) + ' ' +\
 4591            'id: ' + repr(self.id) + ' ' +\
 4592            'name: ' + repr(self.name) + ' ' +\
 4593            'port_override: ' + repr(self.port_override) + ' ' +\
 4594            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 4595            'region: ' + repr(self.region) + ' ' +\
 4596            'role_arn: ' + repr(self.role_arn) + ' ' +\
 4597            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 4598            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 4599            'subdomain: ' + repr(self.subdomain) + ' ' +\
 4600            'tags: ' + repr(self.tags) + ' ' +\
 4601            '>'
 4602
 4603    def to_dict(self):
 4604        return {
 4605            'bind_interface': self.bind_interface,
 4606            'certificate_authority': self.certificate_authority,
 4607            'cluster_name': self.cluster_name,
 4608            'egress_filter': self.egress_filter,
 4609            'endpoint': self.endpoint,
 4610            'healthcheck_namespace': self.healthcheck_namespace,
 4611            'healthy': self.healthy,
 4612            'id': self.id,
 4613            'name': self.name,
 4614            'port_override': self.port_override,
 4615            'proxy_cluster_id': self.proxy_cluster_id,
 4616            'region': self.region,
 4617            'role_arn': self.role_arn,
 4618            'role_external_id': self.role_external_id,
 4619            'secret_store_id': self.secret_store_id,
 4620            'subdomain': self.subdomain,
 4621            'tags': self.tags,
 4622        }
 4623
 4624    @classmethod
 4625    def from_dict(cls, d):
 4626        return cls(
 4627            bind_interface=d.get('bind_interface'),
 4628            certificate_authority=d.get('certificate_authority'),
 4629            cluster_name=d.get('cluster_name'),
 4630            egress_filter=d.get('egress_filter'),
 4631            endpoint=d.get('endpoint'),
 4632            healthcheck_namespace=d.get('healthcheck_namespace'),
 4633            healthy=d.get('healthy'),
 4634            id=d.get('id'),
 4635            name=d.get('name'),
 4636            port_override=d.get('port_override'),
 4637            proxy_cluster_id=d.get('proxy_cluster_id'),
 4638            region=d.get('region'),
 4639            role_arn=d.get('role_arn'),
 4640            role_external_id=d.get('role_external_id'),
 4641            secret_store_id=d.get('secret_store_id'),
 4642            subdomain=d.get('subdomain'),
 4643            tags=d.get('tags'),
 4644        )
 4645
 4646
 4647class AmazonEKSUserImpersonation:
 4648    __slots__ = [
 4649        'access_key',
 4650        'bind_interface',
 4651        'certificate_authority',
 4652        'cluster_name',
 4653        'egress_filter',
 4654        'endpoint',
 4655        'healthcheck_namespace',
 4656        'healthy',
 4657        'id',
 4658        'name',
 4659        'port_override',
 4660        'proxy_cluster_id',
 4661        'region',
 4662        'role_arn',
 4663        'role_external_id',
 4664        'secret_access_key',
 4665        'secret_store_id',
 4666        'subdomain',
 4667        'tags',
 4668    ]
 4669
 4670    def __init__(
 4671        self,
 4672        access_key=None,
 4673        bind_interface=None,
 4674        certificate_authority=None,
 4675        cluster_name=None,
 4676        egress_filter=None,
 4677        endpoint=None,
 4678        healthcheck_namespace=None,
 4679        healthy=None,
 4680        id=None,
 4681        name=None,
 4682        port_override=None,
 4683        proxy_cluster_id=None,
 4684        region=None,
 4685        role_arn=None,
 4686        role_external_id=None,
 4687        secret_access_key=None,
 4688        secret_store_id=None,
 4689        subdomain=None,
 4690        tags=None,
 4691    ):
 4692        self.access_key = access_key if access_key is not None else ''
 4693        '''
 4694         The Access Key ID to use to authenticate.
 4695        '''
 4696        self.bind_interface = bind_interface if bind_interface is not None else ''
 4697        '''
 4698         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 4699        '''
 4700        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
 4701        '''
 4702         The CA to authenticate TLS connections with.
 4703        '''
 4704        self.cluster_name = cluster_name if cluster_name is not None else ''
 4705        '''
 4706         The name of the cluster to connect to.
 4707        '''
 4708        self.egress_filter = egress_filter if egress_filter is not None else ''
 4709        '''
 4710         A filter applied to the routing logic to pin datasource to nodes.
 4711        '''
 4712        self.endpoint = endpoint if endpoint is not None else ''
 4713        '''
 4714         The endpoint to dial.
 4715        '''
 4716        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
 4717        '''
 4718         The path used to check the health of your connection.  Defaults to `default`.
 4719        '''
 4720        self.healthy = healthy if healthy is not None else False
 4721        '''
 4722         True if the datasource is reachable and the credentials are valid.
 4723        '''
 4724        self.id = id if id is not None else ''
 4725        '''
 4726         Unique identifier of the Resource.
 4727        '''
 4728        self.name = name if name is not None else ''
 4729        '''
 4730         Unique human-readable name of the Resource.
 4731        '''
 4732        self.port_override = port_override if port_override is not None else 0
 4733        '''
 4734         The local port used by clients to connect to this resource.
 4735        '''
 4736        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 4737        '''
 4738         ID of the proxy cluster for this resource, if any.
 4739        '''
 4740        self.region = region if region is not None else ''
 4741        '''
 4742         The AWS region to connect to e.g. us-east-1.
 4743        '''
 4744        self.role_arn = role_arn if role_arn is not None else ''
 4745        '''
 4746         The role to assume after logging in.
 4747        '''
 4748        self.role_external_id = role_external_id if role_external_id is not None else ''
 4749        '''
 4750         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 4751        '''
 4752        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
 4753        '''
 4754         The Secret Access Key to use to authenticate.
 4755        '''
 4756        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 4757        '''
 4758         ID of the secret store containing credentials for this resource, if any.
 4759        '''
 4760        self.subdomain = subdomain if subdomain is not None else ''
 4761        '''
 4762         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 4763        '''
 4764        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 4765        '''
 4766         Tags is a map of key, value pairs.
 4767        '''
 4768
 4769    def __repr__(self):
 4770        return '<sdm.AmazonEKSUserImpersonation ' + \
 4771            'access_key: ' + repr(self.access_key) + ' ' +\
 4772            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 4773            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
 4774            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
 4775            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 4776            'endpoint: ' + repr(self.endpoint) + ' ' +\
 4777            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
 4778            'healthy: ' + repr(self.healthy) + ' ' +\
 4779            'id: ' + repr(self.id) + ' ' +\
 4780            'name: ' + repr(self.name) + ' ' +\
 4781            'port_override: ' + repr(self.port_override) + ' ' +\
 4782            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 4783            'region: ' + repr(self.region) + ' ' +\
 4784            'role_arn: ' + repr(self.role_arn) + ' ' +\
 4785            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 4786            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
 4787            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 4788            'subdomain: ' + repr(self.subdomain) + ' ' +\
 4789            'tags: ' + repr(self.tags) + ' ' +\
 4790            '>'
 4791
 4792    def to_dict(self):
 4793        return {
 4794            'access_key': self.access_key,
 4795            'bind_interface': self.bind_interface,
 4796            'certificate_authority': self.certificate_authority,
 4797            'cluster_name': self.cluster_name,
 4798            'egress_filter': self.egress_filter,
 4799            'endpoint': self.endpoint,
 4800            'healthcheck_namespace': self.healthcheck_namespace,
 4801            'healthy': self.healthy,
 4802            'id': self.id,
 4803            'name': self.name,
 4804            'port_override': self.port_override,
 4805            'proxy_cluster_id': self.proxy_cluster_id,
 4806            'region': self.region,
 4807            'role_arn': self.role_arn,
 4808            'role_external_id': self.role_external_id,
 4809            'secret_access_key': self.secret_access_key,
 4810            'secret_store_id': self.secret_store_id,
 4811            'subdomain': self.subdomain,
 4812            'tags': self.tags,
 4813        }
 4814
 4815    @classmethod
 4816    def from_dict(cls, d):
 4817        return cls(
 4818            access_key=d.get('access_key'),
 4819            bind_interface=d.get('bind_interface'),
 4820            certificate_authority=d.get('certificate_authority'),
 4821            cluster_name=d.get('cluster_name'),
 4822            egress_filter=d.get('egress_filter'),
 4823            endpoint=d.get('endpoint'),
 4824            healthcheck_namespace=d.get('healthcheck_namespace'),
 4825            healthy=d.get('healthy'),
 4826            id=d.get('id'),
 4827            name=d.get('name'),
 4828            port_override=d.get('port_override'),
 4829            proxy_cluster_id=d.get('proxy_cluster_id'),
 4830            region=d.get('region'),
 4831            role_arn=d.get('role_arn'),
 4832            role_external_id=d.get('role_external_id'),
 4833            secret_access_key=d.get('secret_access_key'),
 4834            secret_store_id=d.get('secret_store_id'),
 4835            subdomain=d.get('subdomain'),
 4836            tags=d.get('tags'),
 4837        )
 4838
 4839
 4840class AmazonES:
 4841    __slots__ = [
 4842        'access_key',
 4843        'bind_interface',
 4844        'egress_filter',
 4845        'endpoint',
 4846        'healthy',
 4847        'id',
 4848        'name',
 4849        'port_override',
 4850        'proxy_cluster_id',
 4851        'region',
 4852        'role_arn',
 4853        'role_external_id',
 4854        'secret_access_key',
 4855        'secret_store_id',
 4856        'subdomain',
 4857        'tags',
 4858    ]
 4859
 4860    def __init__(
 4861        self,
 4862        access_key=None,
 4863        bind_interface=None,
 4864        egress_filter=None,
 4865        endpoint=None,
 4866        healthy=None,
 4867        id=None,
 4868        name=None,
 4869        port_override=None,
 4870        proxy_cluster_id=None,
 4871        region=None,
 4872        role_arn=None,
 4873        role_external_id=None,
 4874        secret_access_key=None,
 4875        secret_store_id=None,
 4876        subdomain=None,
 4877        tags=None,
 4878    ):
 4879        self.access_key = access_key if access_key is not None else ''
 4880        '''
 4881         The Access Key ID to use to authenticate.
 4882        '''
 4883        self.bind_interface = bind_interface if bind_interface is not None else ''
 4884        '''
 4885         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 4886        '''
 4887        self.egress_filter = egress_filter if egress_filter is not None else ''
 4888        '''
 4889         A filter applied to the routing logic to pin datasource to nodes.
 4890        '''
 4891        self.endpoint = endpoint if endpoint is not None else ''
 4892        '''
 4893         The endpoint to dial e.g. search-?.region.es.amazonaws.com"
 4894        '''
 4895        self.healthy = healthy if healthy is not None else False
 4896        '''
 4897         True if the datasource is reachable and the credentials are valid.
 4898        '''
 4899        self.id = id if id is not None else ''
 4900        '''
 4901         Unique identifier of the Resource.
 4902        '''
 4903        self.name = name if name is not None else ''
 4904        '''
 4905         Unique human-readable name of the Resource.
 4906        '''
 4907        self.port_override = port_override if port_override is not None else 0
 4908        '''
 4909         The local port used by clients to connect to this resource.
 4910        '''
 4911        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 4912        '''
 4913         ID of the proxy cluster for this resource, if any.
 4914        '''
 4915        self.region = region if region is not None else ''
 4916        '''
 4917         The AWS region to connect to e.g. us-east-1.
 4918        '''
 4919        self.role_arn = role_arn if role_arn is not None else ''
 4920        '''
 4921         The role to assume after logging in.
 4922        '''
 4923        self.role_external_id = role_external_id if role_external_id is not None else ''
 4924        '''
 4925         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 4926        '''
 4927        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
 4928        '''
 4929         The Secret Access Key to use to authenticate.
 4930        '''
 4931        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 4932        '''
 4933         ID of the secret store containing credentials for this resource, if any.
 4934        '''
 4935        self.subdomain = subdomain if subdomain is not None else ''
 4936        '''
 4937         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 4938        '''
 4939        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 4940        '''
 4941         Tags is a map of key, value pairs.
 4942        '''
 4943
 4944    def __repr__(self):
 4945        return '<sdm.AmazonES ' + \
 4946            'access_key: ' + repr(self.access_key) + ' ' +\
 4947            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 4948            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 4949            'endpoint: ' + repr(self.endpoint) + ' ' +\
 4950            'healthy: ' + repr(self.healthy) + ' ' +\
 4951            'id: ' + repr(self.id) + ' ' +\
 4952            'name: ' + repr(self.name) + ' ' +\
 4953            'port_override: ' + repr(self.port_override) + ' ' +\
 4954            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 4955            'region: ' + repr(self.region) + ' ' +\
 4956            'role_arn: ' + repr(self.role_arn) + ' ' +\
 4957            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 4958            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
 4959            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 4960            'subdomain: ' + repr(self.subdomain) + ' ' +\
 4961            'tags: ' + repr(self.tags) + ' ' +\
 4962            '>'
 4963
 4964    def to_dict(self):
 4965        return {
 4966            'access_key': self.access_key,
 4967            'bind_interface': self.bind_interface,
 4968            'egress_filter': self.egress_filter,
 4969            'endpoint': self.endpoint,
 4970            'healthy': self.healthy,
 4971            'id': self.id,
 4972            'name': self.name,
 4973            'port_override': self.port_override,
 4974            'proxy_cluster_id': self.proxy_cluster_id,
 4975            'region': self.region,
 4976            'role_arn': self.role_arn,
 4977            'role_external_id': self.role_external_id,
 4978            'secret_access_key': self.secret_access_key,
 4979            'secret_store_id': self.secret_store_id,
 4980            'subdomain': self.subdomain,
 4981            'tags': self.tags,
 4982        }
 4983
 4984    @classmethod
 4985    def from_dict(cls, d):
 4986        return cls(
 4987            access_key=d.get('access_key'),
 4988            bind_interface=d.get('bind_interface'),
 4989            egress_filter=d.get('egress_filter'),
 4990            endpoint=d.get('endpoint'),
 4991            healthy=d.get('healthy'),
 4992            id=d.get('id'),
 4993            name=d.get('name'),
 4994            port_override=d.get('port_override'),
 4995            proxy_cluster_id=d.get('proxy_cluster_id'),
 4996            region=d.get('region'),
 4997            role_arn=d.get('role_arn'),
 4998            role_external_id=d.get('role_external_id'),
 4999            secret_access_key=d.get('secret_access_key'),
 5000            secret_store_id=d.get('secret_store_id'),
 5001            subdomain=d.get('subdomain'),
 5002            tags=d.get('tags'),
 5003        )
 5004
 5005
 5006class AmazonESIAM:
 5007    __slots__ = [
 5008        'bind_interface',
 5009        'egress_filter',
 5010        'endpoint',
 5011        'healthy',
 5012        'id',
 5013        'name',
 5014        'port_override',
 5015        'proxy_cluster_id',
 5016        'region',
 5017        'role_arn',
 5018        'role_external_id',
 5019        'secret_store_id',
 5020        'subdomain',
 5021        'tags',
 5022        'tlsrequired',
 5023    ]
 5024
 5025    def __init__(
 5026        self,
 5027        bind_interface=None,
 5028        egress_filter=None,
 5029        endpoint=None,
 5030        healthy=None,
 5031        id=None,
 5032        name=None,
 5033        port_override=None,
 5034        proxy_cluster_id=None,
 5035        region=None,
 5036        role_arn=None,
 5037        role_external_id=None,
 5038        secret_store_id=None,
 5039        subdomain=None,
 5040        tags=None,
 5041        tlsrequired=None,
 5042    ):
 5043        self.bind_interface = bind_interface if bind_interface is not None else ''
 5044        '''
 5045         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 5046        '''
 5047        self.egress_filter = egress_filter if egress_filter is not None else ''
 5048        '''
 5049         A filter applied to the routing logic to pin datasource to nodes.
 5050        '''
 5051        self.endpoint = endpoint if endpoint is not None else ''
 5052        '''
 5053         The endpoint to dial e.g. search-?.region.es.amazonaws.com"
 5054        '''
 5055        self.healthy = healthy if healthy is not None else False
 5056        '''
 5057         True if the datasource is reachable and the credentials are valid.
 5058        '''
 5059        self.id = id if id is not None else ''
 5060        '''
 5061         Unique identifier of the Resource.
 5062        '''
 5063        self.name = name if name is not None else ''
 5064        '''
 5065         Unique human-readable name of the Resource.
 5066        '''
 5067        self.port_override = port_override if port_override is not None else 0
 5068        '''
 5069         The local port used by clients to connect to this resource.
 5070        '''
 5071        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 5072        '''
 5073         ID of the proxy cluster for this resource, if any.
 5074        '''
 5075        self.region = region if region is not None else ''
 5076        '''
 5077         The AWS region to connect to.
 5078        '''
 5079        self.role_arn = role_arn if role_arn is not None else ''
 5080        '''
 5081         The role to assume after logging in.
 5082        '''
 5083        self.role_external_id = role_external_id if role_external_id is not None else ''
 5084        '''
 5085         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 5086        '''
 5087        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 5088        '''
 5089         ID of the secret store containing credentials for this resource, if any.
 5090        '''
 5091        self.subdomain = subdomain if subdomain is not None else ''
 5092        '''
 5093         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 5094        '''
 5095        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 5096        '''
 5097         Tags is a map of key, value pairs.
 5098        '''
 5099        self.tlsrequired = tlsrequired if tlsrequired is not None else False
 5100        '''
 5101         Use TLS to connect to the OpenSearch server
 5102        '''
 5103
 5104    def __repr__(self):
 5105        return '<sdm.AmazonESIAM ' + \
 5106            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 5107            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 5108            'endpoint: ' + repr(self.endpoint) + ' ' +\
 5109            'healthy: ' + repr(self.healthy) + ' ' +\
 5110            'id: ' + repr(self.id) + ' ' +\
 5111            'name: ' + repr(self.name) + ' ' +\
 5112            'port_override: ' + repr(self.port_override) + ' ' +\
 5113            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 5114            'region: ' + repr(self.region) + ' ' +\
 5115            'role_arn: ' + repr(self.role_arn) + ' ' +\
 5116            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 5117            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 5118            'subdomain: ' + repr(self.subdomain) + ' ' +\
 5119            'tags: ' + repr(self.tags) + ' ' +\
 5120            'tlsrequired: ' + repr(self.tlsrequired) + ' ' +\
 5121            '>'
 5122
 5123    def to_dict(self):
 5124        return {
 5125            'bind_interface': self.bind_interface,
 5126            'egress_filter': self.egress_filter,
 5127            'endpoint': self.endpoint,
 5128            'healthy': self.healthy,
 5129            'id': self.id,
 5130            'name': self.name,
 5131            'port_override': self.port_override,
 5132            'proxy_cluster_id': self.proxy_cluster_id,
 5133            'region': self.region,
 5134            'role_arn': self.role_arn,
 5135            'role_external_id': self.role_external_id,
 5136            'secret_store_id': self.secret_store_id,
 5137            'subdomain': self.subdomain,
 5138            'tags': self.tags,
 5139            'tlsrequired': self.tlsrequired,
 5140        }
 5141
 5142    @classmethod
 5143    def from_dict(cls, d):
 5144        return cls(
 5145            bind_interface=d.get('bind_interface'),
 5146            egress_filter=d.get('egress_filter'),
 5147            endpoint=d.get('endpoint'),
 5148            healthy=d.get('healthy'),
 5149            id=d.get('id'),
 5150            name=d.get('name'),
 5151            port_override=d.get('port_override'),
 5152            proxy_cluster_id=d.get('proxy_cluster_id'),
 5153            region=d.get('region'),
 5154            role_arn=d.get('role_arn'),
 5155            role_external_id=d.get('role_external_id'),
 5156            secret_store_id=d.get('secret_store_id'),
 5157            subdomain=d.get('subdomain'),
 5158            tags=d.get('tags'),
 5159            tlsrequired=d.get('tlsrequired'),
 5160        )
 5161
 5162
 5163class AmazonMQAMQP091:
 5164    __slots__ = [
 5165        'bind_interface',
 5166        'egress_filter',
 5167        'healthy',
 5168        'hostname',
 5169        'id',
 5170        'name',
 5171        'password',
 5172        'port',
 5173        'port_override',
 5174        'proxy_cluster_id',
 5175        'secret_store_id',
 5176        'subdomain',
 5177        'tags',
 5178        'tls_required',
 5179        'username',
 5180    ]
 5181
 5182    def __init__(
 5183        self,
 5184        bind_interface=None,
 5185        egress_filter=None,
 5186        healthy=None,
 5187        hostname=None,
 5188        id=None,
 5189        name=None,
 5190        password=None,
 5191        port=None,
 5192        port_override=None,
 5193        proxy_cluster_id=None,
 5194        secret_store_id=None,
 5195        subdomain=None,
 5196        tags=None,
 5197        tls_required=None,
 5198        username=None,
 5199    ):
 5200        self.bind_interface = bind_interface if bind_interface is not None else ''
 5201        '''
 5202         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 5203        '''
 5204        self.egress_filter = egress_filter if egress_filter is not None else ''
 5205        '''
 5206         A filter applied to the routing logic to pin datasource to nodes.
 5207        '''
 5208        self.healthy = healthy if healthy is not None else False
 5209        '''
 5210         True if the datasource is reachable and the credentials are valid.
 5211        '''
 5212        self.hostname = hostname if hostname is not None else ''
 5213        '''
 5214         The host to dial to initiate a connection from the egress node to this resource.
 5215        '''
 5216        self.id = id if id is not None else ''
 5217        '''
 5218         Unique identifier of the Resource.
 5219        '''
 5220        self.name = name if name is not None else ''
 5221        '''
 5222         Unique human-readable name of the Resource.
 5223        '''
 5224        self.password = password if password is not None else ''
 5225        '''
 5226         The password to authenticate with.
 5227        '''
 5228        self.port = port if port is not None else 0
 5229        '''
 5230         The port to dial to initiate a connection from the egress node to this resource.
 5231        '''
 5232        self.port_override = port_override if port_override is not None else 0
 5233        '''
 5234         The local port used by clients to connect to this resource.
 5235        '''
 5236        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 5237        '''
 5238         ID of the proxy cluster for this resource, if any.
 5239        '''
 5240        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 5241        '''
 5242         ID of the secret store containing credentials for this resource, if any.
 5243        '''
 5244        self.subdomain = subdomain if subdomain is not None else ''
 5245        '''
 5246         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 5247        '''
 5248        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 5249        '''
 5250         Tags is a map of key, value pairs.
 5251        '''
 5252        self.tls_required = tls_required if tls_required is not None else False
 5253        '''
 5254         If set, TLS must be used to connect to this resource.
 5255        '''
 5256        self.username = username if username is not None else ''
 5257        '''
 5258         The username to authenticate with.
 5259        '''
 5260
 5261    def __repr__(self):
 5262        return '<sdm.AmazonMQAMQP091 ' + \
 5263            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 5264            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 5265            'healthy: ' + repr(self.healthy) + ' ' +\
 5266            'hostname: ' + repr(self.hostname) + ' ' +\
 5267            'id: ' + repr(self.id) + ' ' +\
 5268            'name: ' + repr(self.name) + ' ' +\
 5269            'password: ' + repr(self.password) + ' ' +\
 5270            'port: ' + repr(self.port) + ' ' +\
 5271            'port_override: ' + repr(self.port_override) + ' ' +\
 5272            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 5273            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 5274            'subdomain: ' + repr(self.subdomain) + ' ' +\
 5275            'tags: ' + repr(self.tags) + ' ' +\
 5276            'tls_required: ' + repr(self.tls_required) + ' ' +\
 5277            'username: ' + repr(self.username) + ' ' +\
 5278            '>'
 5279
 5280    def to_dict(self):
 5281        return {
 5282            'bind_interface': self.bind_interface,
 5283            'egress_filter': self.egress_filter,
 5284            'healthy': self.healthy,
 5285            'hostname': self.hostname,
 5286            'id': self.id,
 5287            'name': self.name,
 5288            'password': self.password,
 5289            'port': self.port,
 5290            'port_override': self.port_override,
 5291            'proxy_cluster_id': self.proxy_cluster_id,
 5292            'secret_store_id': self.secret_store_id,
 5293            'subdomain': self.subdomain,
 5294            'tags': self.tags,
 5295            'tls_required': self.tls_required,
 5296            'username': self.username,
 5297        }
 5298
 5299    @classmethod
 5300    def from_dict(cls, d):
 5301        return cls(
 5302            bind_interface=d.get('bind_interface'),
 5303            egress_filter=d.get('egress_filter'),
 5304            healthy=d.get('healthy'),
 5305            hostname=d.get('hostname'),
 5306            id=d.get('id'),
 5307            name=d.get('name'),
 5308            password=d.get('password'),
 5309            port=d.get('port'),
 5310            port_override=d.get('port_override'),
 5311            proxy_cluster_id=d.get('proxy_cluster_id'),
 5312            secret_store_id=d.get('secret_store_id'),
 5313            subdomain=d.get('subdomain'),
 5314            tags=d.get('tags'),
 5315            tls_required=d.get('tls_required'),
 5316            username=d.get('username'),
 5317        )
 5318
 5319
 5320class ApprovalFlowApprover:
 5321    '''
 5322         An approver for an approval workflow step. Each approver can specify exactly one of: account_id, role_id, or reference
 5323    '''
 5324    __slots__ = [
 5325        'account_id',
 5326        'reference',
 5327        'role_id',
 5328    ]
 5329
 5330    def __init__(
 5331        self,
 5332        account_id=None,
 5333        reference=None,
 5334        role_id=None,
 5335    ):
 5336        self.account_id = account_id if account_id is not None else ''
 5337        '''
 5338         The approver account id.
 5339        '''
 5340        self.reference = reference if reference is not None else ''
 5341        '''
 5342         A reference to an approver. Must be one of ApproverReference constants.
 5343         If set, the account_id and role_id must be empty.
 5344        '''
 5345        self.role_id = role_id if role_id is not None else ''
 5346        '''
 5347         The approver role id
 5348        '''
 5349
 5350    def __repr__(self):
 5351        return '<sdm.ApprovalFlowApprover ' + \
 5352            'account_id: ' + repr(self.account_id) + ' ' +\
 5353            'reference: ' + repr(self.reference) + ' ' +\
 5354            'role_id: ' + repr(self.role_id) + ' ' +\
 5355            '>'
 5356
 5357    def to_dict(self):
 5358        return {
 5359            'account_id': self.account_id,
 5360            'reference': self.reference,
 5361            'role_id': self.role_id,
 5362        }
 5363
 5364    @classmethod
 5365    def from_dict(cls, d):
 5366        return cls(
 5367            account_id=d.get('account_id'),
 5368            reference=d.get('reference'),
 5369            role_id=d.get('role_id'),
 5370        )
 5371
 5372
 5373class ApprovalFlowStep:
 5374    '''
 5375         An approval step for an approval workflow. Specifies approvers and conditions for approval to be granted.
 5376    '''
 5377    __slots__ = [
 5378        'approvers',
 5379        'quantifier',
 5380        'skip_after',
 5381    ]
 5382
 5383    def __init__(
 5384        self,
 5385        approvers=None,
 5386        quantifier=None,
 5387        skip_after=None,
 5388    ):
 5389        self.approvers = approvers if approvers is not None else []
 5390        '''
 5391         The approvers for this approval step
 5392        '''
 5393        self.quantifier = quantifier if quantifier is not None else ''
 5394        '''
 5395         Whether "any" or "all" approvers must approve for this approval step to pass. Optional, defaults to "any".
 5396        '''
 5397        self.skip_after = skip_after if skip_after is not None else None
 5398        '''
 5399         Duration after which this approval step will be skipped if no approval is given. Optional, if not provided an approver must approve before the step passes.
 5400        '''
 5401
 5402    def __repr__(self):
 5403        return '<sdm.ApprovalFlowStep ' + \
 5404            'approvers: ' + repr(self.approvers) + ' ' +\
 5405            'quantifier: ' + repr(self.quantifier) + ' ' +\
 5406            'skip_after: ' + repr(self.skip_after) + ' ' +\
 5407            '>'
 5408
 5409    def to_dict(self):
 5410        return {
 5411            'approvers': self.approvers,
 5412            'quantifier': self.quantifier,
 5413            'skip_after': self.skip_after,
 5414        }
 5415
 5416    @classmethod
 5417    def from_dict(cls, d):
 5418        return cls(
 5419            approvers=d.get('approvers'),
 5420            quantifier=d.get('quantifier'),
 5421            skip_after=d.get('skip_after'),
 5422        )
 5423
 5424
 5425class ApprovalWorkflow:
 5426    '''
 5427         ApprovalWorkflows are the mechanism by which requests for access can be viewed by authorized
 5428     approvers and be approved or denied.
 5429    '''
 5430    __slots__ = [
 5431        'approval_mode',
 5432        'approval_workflow_steps',
 5433        'description',
 5434        'id',
 5435        'name',
 5436    ]
 5437
 5438    def __init__(
 5439        self,
 5440        approval_mode=None,
 5441        approval_workflow_steps=None,
 5442        description=None,
 5443        id=None,
 5444        name=None,
 5445    ):
 5446        self.approval_mode = approval_mode if approval_mode is not None else ''
 5447        '''
 5448         Approval mode of the ApprovalWorkflow
 5449        '''
 5450        self.approval_workflow_steps = approval_workflow_steps if approval_workflow_steps is not None else []
 5451        '''
 5452         The approval steps of this approval workflow
 5453        '''
 5454        self.description = description if description is not None else ''
 5455        '''
 5456         Optional description of the ApprovalWorkflow.
 5457        '''
 5458        self.id = id if id is not None else ''
 5459        '''
 5460         Unique identifier of the ApprovalWorkflow.
 5461        '''
 5462        self.name = name if name is not None else ''
 5463        '''
 5464         Unique human-readable name of the ApprovalWorkflow.
 5465        '''
 5466
 5467    def __repr__(self):
 5468        return '<sdm.ApprovalWorkflow ' + \
 5469            'approval_mode: ' + repr(self.approval_mode) + ' ' +\
 5470            'approval_workflow_steps: ' + repr(self.approval_workflow_steps) + ' ' +\
 5471            'description: ' + repr(self.description) + ' ' +\
 5472            'id: ' + repr(self.id) + ' ' +\
 5473            'name: ' + repr(self.name) + ' ' +\
 5474            '>'
 5475
 5476    def to_dict(self):
 5477        return {
 5478            'approval_mode': self.approval_mode,
 5479            'approval_workflow_steps': self.approval_workflow_steps,
 5480            'description': self.description,
 5481            'id': self.id,
 5482            'name': self.name,
 5483        }
 5484
 5485    @classmethod
 5486    def from_dict(cls, d):
 5487        return cls(
 5488            approval_mode=d.get('approval_mode'),
 5489            approval_workflow_steps=d.get('approval_workflow_steps'),
 5490            description=d.get('description'),
 5491            id=d.get('id'),
 5492            name=d.get('name'),
 5493        )
 5494
 5495
 5496class ApprovalWorkflowApprover:
 5497    '''
 5498         ApprovalWorkflowApprover links an approval workflow approver to an ApprovalWorkflowStep
 5499    '''
 5500    __slots__ = [
 5501        'account_id',
 5502        'approval_flow_id',
 5503        'approval_step_id',
 5504        'id',
 5505        'reference',
 5506        'role_id',
 5507    ]
 5508
 5509    def __init__(
 5510        self,
 5511        account_id=None,
 5512        approval_flow_id=None,
 5513        approval_step_id=None,
 5514        id=None,
 5515        reference=None,
 5516        role_id=None,
 5517    ):
 5518        self.account_id = account_id if account_id is not None else ''
 5519        '''
 5520         The approver account id.
 5521        '''
 5522        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
 5523        '''
 5524         The approval flow id specified the approval workflow that this approver belongs to
 5525        '''
 5526        self.approval_step_id = approval_step_id if approval_step_id is not None else ''
 5527        '''
 5528         The approval step id specified the approval flow step that this approver belongs to
 5529        '''
 5530        self.id = id if id is not None else ''
 5531        '''
 5532         Unique identifier of the ApprovalWorkflowApprover.
 5533        '''
 5534        self.reference = reference if reference is not None else ''
 5535        '''
 5536         A reference to an approver. Will be one of ApproverReference constants.
 5537         This field is only populated when reading historical Approval Workflow Approvers data through the Approval Workflows History API.
 5538         For the deprecated Approval Workflow Approvers API no value is returned for this field and it is non-settable.
 5539        '''
 5540        self.role_id = role_id if role_id is not None else ''
 5541        '''
 5542         The approver role id
 5543        '''
 5544
 5545    def __repr__(self):
 5546        return '<sdm.ApprovalWorkflowApprover ' + \
 5547            'account_id: ' + repr(self.account_id) + ' ' +\
 5548            'approval_flow_id: ' + repr(self.approval_flow_id) + ' ' +\
 5549            'approval_step_id: ' + repr(self.approval_step_id) + ' ' +\
 5550            'id: ' + repr(self.id) + ' ' +\
 5551            'reference: ' + repr(self.reference) + ' ' +\
 5552            'role_id: ' + repr(self.role_id) + ' ' +\
 5553            '>'
 5554
 5555    def to_dict(self):
 5556        return {
 5557            'account_id': self.account_id,
 5558            'approval_flow_id': self.approval_flow_id,
 5559            'approval_step_id': self.approval_step_id,
 5560            'id': self.id,
 5561            'reference': self.reference,
 5562            'role_id': self.role_id,
 5563        }
 5564
 5565    @classmethod
 5566    def from_dict(cls, d):
 5567        return cls(
 5568            account_id=d.get('account_id'),
 5569            approval_flow_id=d.get('approval_flow_id'),
 5570            approval_step_id=d.get('approval_step_id'),
 5571            id=d.get('id'),
 5572            reference=d.get('reference'),
 5573            role_id=d.get('role_id'),
 5574        )
 5575
 5576
 5577class ApprovalWorkflowApproverCreateResponse:
 5578    '''
 5579         ApprovalWorkflowApproverCreateResponse reports how the ApprovalWorkflowApprover was created in the system.
 5580    '''
 5581    __slots__ = [
 5582        'approval_workflow_approver',
 5583        'rate_limit',
 5584    ]
 5585
 5586    def __init__(
 5587        self,
 5588        approval_workflow_approver=None,
 5589        rate_limit=None,
 5590    ):
 5591        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
 5592        '''
 5593         The created approval workflow approver.
 5594        '''
 5595        self.rate_limit = rate_limit if rate_limit is not None else None
 5596        '''
 5597         Rate limit information.
 5598        '''
 5599
 5600    def __repr__(self):
 5601        return '<sdm.ApprovalWorkflowApproverCreateResponse ' + \
 5602            'approval_workflow_approver: ' + repr(self.approval_workflow_approver) + ' ' +\
 5603            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5604            '>'
 5605
 5606    def to_dict(self):
 5607        return {
 5608            'approval_workflow_approver': self.approval_workflow_approver,
 5609            'rate_limit': self.rate_limit,
 5610        }
 5611
 5612    @classmethod
 5613    def from_dict(cls, d):
 5614        return cls(
 5615            approval_workflow_approver=d.get('approval_workflow_approver'),
 5616            rate_limit=d.get('rate_limit'),
 5617        )
 5618
 5619
 5620class ApprovalWorkflowApproverDeleteResponse:
 5621    '''
 5622         ApprovalWorkflowApproverDeleteResponse returns information about an ApprovalWorkflowApprover that was deleted.
 5623    '''
 5624    __slots__ = [
 5625        'id',
 5626        'rate_limit',
 5627    ]
 5628
 5629    def __init__(
 5630        self,
 5631        id=None,
 5632        rate_limit=None,
 5633    ):
 5634        self.id = id if id is not None else ''
 5635        '''
 5636         The deleted approval workflow approver id.
 5637        '''
 5638        self.rate_limit = rate_limit if rate_limit is not None else None
 5639        '''
 5640         Rate limit information.
 5641        '''
 5642
 5643    def __repr__(self):
 5644        return '<sdm.ApprovalWorkflowApproverDeleteResponse ' + \
 5645            'id: ' + repr(self.id) + ' ' +\
 5646            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5647            '>'
 5648
 5649    def to_dict(self):
 5650        return {
 5651            'id': self.id,
 5652            'rate_limit': self.rate_limit,
 5653        }
 5654
 5655    @classmethod
 5656    def from_dict(cls, d):
 5657        return cls(
 5658            id=d.get('id'),
 5659            rate_limit=d.get('rate_limit'),
 5660        )
 5661
 5662
 5663class ApprovalWorkflowApproverGetResponse:
 5664    '''
 5665         ApprovalWorkflowApproverGetResponse returns a requested ApprovalWorkflowApprover.
 5666    '''
 5667    __slots__ = [
 5668        'approval_workflow_approver',
 5669        'meta',
 5670        'rate_limit',
 5671    ]
 5672
 5673    def __init__(
 5674        self,
 5675        approval_workflow_approver=None,
 5676        meta=None,
 5677        rate_limit=None,
 5678    ):
 5679        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
 5680        '''
 5681         The requested ApprovalWorkflowApprover.
 5682        '''
 5683        self.meta = meta if meta is not None else None
 5684        '''
 5685         Reserved for future use.
 5686        '''
 5687        self.rate_limit = rate_limit if rate_limit is not None else None
 5688        '''
 5689         Rate limit information.
 5690        '''
 5691
 5692    def __repr__(self):
 5693        return '<sdm.ApprovalWorkflowApproverGetResponse ' + \
 5694            'approval_workflow_approver: ' + repr(self.approval_workflow_approver) + ' ' +\
 5695            'meta: ' + repr(self.meta) + ' ' +\
 5696            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5697            '>'
 5698
 5699    def to_dict(self):
 5700        return {
 5701            'approval_workflow_approver': self.approval_workflow_approver,
 5702            'meta': self.meta,
 5703            'rate_limit': self.rate_limit,
 5704        }
 5705
 5706    @classmethod
 5707    def from_dict(cls, d):
 5708        return cls(
 5709            approval_workflow_approver=d.get('approval_workflow_approver'),
 5710            meta=d.get('meta'),
 5711            rate_limit=d.get('rate_limit'),
 5712        )
 5713
 5714
 5715class ApprovalWorkflowApproverHistory:
 5716    '''
 5717         ApprovalWorkflowApproverHistory records the state of an ApprovalWorkflowApprover at a given point in time,
 5718     where every change (create or delete) to an ApprovalWorkflowApprover produces an
 5719     ApprovalWorkflowApproverHistory record.
 5720    '''
 5721    __slots__ = [
 5722        'activity_id',
 5723        'approval_workflow_approver',
 5724        'deleted_at',
 5725        'timestamp',
 5726    ]
 5727
 5728    def __init__(
 5729        self,
 5730        activity_id=None,
 5731        approval_workflow_approver=None,
 5732        deleted_at=None,
 5733        timestamp=None,
 5734    ):
 5735        self.activity_id = activity_id if activity_id is not None else ''
 5736        '''
 5737         The unique identifier of the Activity that produced this change to the ApprovalWorkflowApprover.
 5738         May be empty for some system-initiated updates.
 5739        '''
 5740        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
 5741        '''
 5742         The complete ApprovalWorkflowApprover state at this time.
 5743        '''
 5744        self.deleted_at = deleted_at if deleted_at is not None else None
 5745        '''
 5746         If this ApprovalWorkflowApprover was deleted, the time it was deleted.
 5747        '''
 5748        self.timestamp = timestamp if timestamp is not None else None
 5749        '''
 5750         The time at which the ApprovalWorkflowApprover state was recorded.
 5751        '''
 5752
 5753    def __repr__(self):
 5754        return '<sdm.ApprovalWorkflowApproverHistory ' + \
 5755            'activity_id: ' + repr(self.activity_id) + ' ' +\
 5756            'approval_workflow_approver: ' + repr(self.approval_workflow_approver) + ' ' +\
 5757            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 5758            'timestamp: ' + repr(self.timestamp) + ' ' +\
 5759            '>'
 5760
 5761    def to_dict(self):
 5762        return {
 5763            'activity_id': self.activity_id,
 5764            'approval_workflow_approver': self.approval_workflow_approver,
 5765            'deleted_at': self.deleted_at,
 5766            'timestamp': self.timestamp,
 5767        }
 5768
 5769    @classmethod
 5770    def from_dict(cls, d):
 5771        return cls(
 5772            activity_id=d.get('activity_id'),
 5773            approval_workflow_approver=d.get('approval_workflow_approver'),
 5774            deleted_at=d.get('deleted_at'),
 5775            timestamp=d.get('timestamp'),
 5776        )
 5777
 5778
 5779class ApprovalWorkflowApproverListResponse:
 5780    '''
 5781         ApprovalWorkflowApproverListResponse returns a list of ApprovalWorkflowApprover records that meet
 5782     the criteria of an ApprovalWorkflowApproverListRequest.
 5783    '''
 5784    __slots__ = [
 5785        'rate_limit',
 5786    ]
 5787
 5788    def __init__(
 5789        self,
 5790        rate_limit=None,
 5791    ):
 5792        self.rate_limit = rate_limit if rate_limit is not None else None
 5793        '''
 5794         Rate limit information.
 5795        '''
 5796
 5797    def __repr__(self):
 5798        return '<sdm.ApprovalWorkflowApproverListResponse ' + \
 5799            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5800            '>'
 5801
 5802    def to_dict(self):
 5803        return {
 5804            'rate_limit': self.rate_limit,
 5805        }
 5806
 5807    @classmethod
 5808    def from_dict(cls, d):
 5809        return cls(rate_limit=d.get('rate_limit'), )
 5810
 5811
 5812class ApprovalWorkflowCreateResponse:
 5813    '''
 5814         ApprovalWorkflowCreateResponse reports how the ApprovalWorkflow was created in the system.
 5815    '''
 5816    __slots__ = [
 5817        'approval_workflow',
 5818        'rate_limit',
 5819    ]
 5820
 5821    def __init__(
 5822        self,
 5823        approval_workflow=None,
 5824        rate_limit=None,
 5825    ):
 5826        self.approval_workflow = approval_workflow if approval_workflow is not None else None
 5827        '''
 5828         The created approval workflow.
 5829        '''
 5830        self.rate_limit = rate_limit if rate_limit is not None else None
 5831        '''
 5832         Rate limit information.
 5833        '''
 5834
 5835    def __repr__(self):
 5836        return '<sdm.ApprovalWorkflowCreateResponse ' + \
 5837            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
 5838            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5839            '>'
 5840
 5841    def to_dict(self):
 5842        return {
 5843            'approval_workflow': self.approval_workflow,
 5844            'rate_limit': self.rate_limit,
 5845        }
 5846
 5847    @classmethod
 5848    def from_dict(cls, d):
 5849        return cls(
 5850            approval_workflow=d.get('approval_workflow'),
 5851            rate_limit=d.get('rate_limit'),
 5852        )
 5853
 5854
 5855class ApprovalWorkflowDeleteResponse:
 5856    '''
 5857         ApprovalWorkflowDeleteResponse returns information about an ApprovalWorkflow that was deleted.
 5858    '''
 5859    __slots__ = [
 5860        'id',
 5861        'rate_limit',
 5862    ]
 5863
 5864    def __init__(
 5865        self,
 5866        id=None,
 5867        rate_limit=None,
 5868    ):
 5869        self.id = id if id is not None else ''
 5870        '''
 5871         The deleted approval workflow id.
 5872        '''
 5873        self.rate_limit = rate_limit if rate_limit is not None else None
 5874        '''
 5875         Rate limit information.
 5876        '''
 5877
 5878    def __repr__(self):
 5879        return '<sdm.ApprovalWorkflowDeleteResponse ' + \
 5880            'id: ' + repr(self.id) + ' ' +\
 5881            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5882            '>'
 5883
 5884    def to_dict(self):
 5885        return {
 5886            'id': self.id,
 5887            'rate_limit': self.rate_limit,
 5888        }
 5889
 5890    @classmethod
 5891    def from_dict(cls, d):
 5892        return cls(
 5893            id=d.get('id'),
 5894            rate_limit=d.get('rate_limit'),
 5895        )
 5896
 5897
 5898class ApprovalWorkflowGetResponse:
 5899    '''
 5900         ApprovalWorkflowGetResponse returns a requested ApprovalWorkflow.
 5901    '''
 5902    __slots__ = [
 5903        'approval_workflow',
 5904        'meta',
 5905        'rate_limit',
 5906    ]
 5907
 5908    def __init__(
 5909        self,
 5910        approval_workflow=None,
 5911        meta=None,
 5912        rate_limit=None,
 5913    ):
 5914        self.approval_workflow = approval_workflow if approval_workflow is not None else None
 5915        '''
 5916         The requested ApprovalWorkflow.
 5917        '''
 5918        self.meta = meta if meta is not None else None
 5919        '''
 5920         Reserved for future use.
 5921        '''
 5922        self.rate_limit = rate_limit if rate_limit is not None else None
 5923        '''
 5924         Rate limit information.
 5925        '''
 5926
 5927    def __repr__(self):
 5928        return '<sdm.ApprovalWorkflowGetResponse ' + \
 5929            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
 5930            'meta: ' + repr(self.meta) + ' ' +\
 5931            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5932            '>'
 5933
 5934    def to_dict(self):
 5935        return {
 5936            'approval_workflow': self.approval_workflow,
 5937            'meta': self.meta,
 5938            'rate_limit': self.rate_limit,
 5939        }
 5940
 5941    @classmethod
 5942    def from_dict(cls, d):
 5943        return cls(
 5944            approval_workflow=d.get('approval_workflow'),
 5945            meta=d.get('meta'),
 5946            rate_limit=d.get('rate_limit'),
 5947        )
 5948
 5949
 5950class ApprovalWorkflowHistory:
 5951    '''
 5952         ApprovalWorkflowHistory records the state of an ApprovalWorkflow at a given point in time,
 5953     where every change (create, update and delete) to an ApprovalWorkflow produces an
 5954     ApprovalWorkflowHistory record.
 5955    '''
 5956    __slots__ = [
 5957        'activity_id',
 5958        'approval_workflow',
 5959        'deleted_at',
 5960        'timestamp',
 5961    ]
 5962
 5963    def __init__(
 5964        self,
 5965        activity_id=None,
 5966        approval_workflow=None,
 5967        deleted_at=None,
 5968        timestamp=None,
 5969    ):
 5970        self.activity_id = activity_id if activity_id is not None else ''
 5971        '''
 5972         The unique identifier of the Activity that produced this change to the ApprovalWorkflow.
 5973         May be empty for some system-initiated updates.
 5974        '''
 5975        self.approval_workflow = approval_workflow if approval_workflow is not None else None
 5976        '''
 5977         The complete ApprovalWorkflow state at this time.
 5978        '''
 5979        self.deleted_at = deleted_at if deleted_at is not None else None
 5980        '''
 5981         If this ApprovalWorkflow was deleted, the time it was deleted.
 5982        '''
 5983        self.timestamp = timestamp if timestamp is not None else None
 5984        '''
 5985         The time at which the ApprovalWorkflow state was recorded.
 5986        '''
 5987
 5988    def __repr__(self):
 5989        return '<sdm.ApprovalWorkflowHistory ' + \
 5990            'activity_id: ' + repr(self.activity_id) + ' ' +\
 5991            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
 5992            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 5993            'timestamp: ' + repr(self.timestamp) + ' ' +\
 5994            '>'
 5995
 5996    def to_dict(self):
 5997        return {
 5998            'activity_id': self.activity_id,
 5999            'approval_workflow': self.approval_workflow,
 6000            'deleted_at': self.deleted_at,
 6001            'timestamp': self.timestamp,
 6002        }
 6003
 6004    @classmethod
 6005    def from_dict(cls, d):
 6006        return cls(
 6007            activity_id=d.get('activity_id'),
 6008            approval_workflow=d.get('approval_workflow'),
 6009            deleted_at=d.get('deleted_at'),
 6010            timestamp=d.get('timestamp'),
 6011        )
 6012
 6013
 6014class ApprovalWorkflowListResponse:
 6015    '''
 6016         ApprovalWorkflowListResponse returns a list of ApprovalWorkflow records that meet
 6017     the criteria of an ApprovalWorkflowListRequest.
 6018    '''
 6019    __slots__ = [
 6020        'rate_limit',
 6021    ]
 6022
 6023    def __init__(
 6024        self,
 6025        rate_limit=None,
 6026    ):
 6027        self.rate_limit = rate_limit if rate_limit is not None else None
 6028        '''
 6029         Rate limit information.
 6030        '''
 6031
 6032    def __repr__(self):
 6033        return '<sdm.ApprovalWorkflowListResponse ' + \
 6034            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 6035            '>'
 6036
 6037    def to_dict(self):
 6038        return {
 6039            'rate_limit': self.rate_limit,
 6040        }
 6041
 6042    @classmethod
 6043    def from_dict(cls, d):
 6044        return cls(rate_limit=d.get('rate_limit'), )
 6045
 6046
 6047class ApprovalWorkflowStep:
 6048    '''
 6049         ApprovalWorkflowStep links an approval workflow step to an ApprovalWorkflow
 6050    '''
 6051    __slots__ = [
 6052        'approval_flow_id',
 6053        'id',
 6054        'quantifier',
 6055        'skip_after',
 6056        'step_order',
 6057    ]
 6058
 6059    def __init__(
 6060        self,
 6061        approval_flow_id=None,
 6062        id=None,
 6063        quantifier=None,
 6064        skip_after=None,
 6065        step_order=None,
 6066    ):
 6067        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
 6068        '''
 6069         The approval flow id specified the approval workflow that this step belongs to
 6070        '''
 6071        self.id = id if id is not None else ''
 6072        '''
 6073         Unique identifier of the ApprovalWorkflowStep.
 6074        '''
 6075        self.quantifier = quantifier if quantifier is not None else ''
 6076        '''
 6077         Whether "any" or "all" approvers must approve for this approval step to pass. Read only field for history commands.
 6078        '''
 6079        self.skip_after = skip_after if skip_after is not None else None
 6080        '''
 6081         Duration after which this approval step will be skipped if no approval is given. Read only field for history commands.
 6082        '''
 6083        self.step_order = step_order if step_order is not None else 0
 6084        '''
 6085         The position of the approval step in a sequence of approval steps for an approval workflow. Read only field for history commands.
 6086        '''
 6087
 6088    def __repr__(self):
 6089        return '<sdm.ApprovalWorkflowStep ' + \
 6090            'approval_flow_id: ' + repr(self.approval_flow_id) + ' ' +\
 6091            'id: ' + repr(self.id) + ' ' +\
 6092            'quantifier: ' + repr(self.quantifier) + ' ' +\
 6093            'skip_after: ' + repr(self.skip_after) + ' ' +\
 6094            'step_order: ' + repr(self.step_order) + ' ' +\
 6095            '>'
 6096
 6097    def to_dict(self):
 6098        return {
 6099            'approval_flow_id': self.approval_flow_id,
 6100            'id': self.id,
 6101            'quantifier': self.quantifier,
 6102            'skip_after': self.skip_after,
 6103            'step_order': self.step_order,
 6104        }
 6105
 6106    @classmethod
 6107    def from_dict(cls, d):
 6108        return cls(
 6109            approval_flow_id=d.get('approval_flow_id'),
 6110            id=d.get('id'),
 6111            quantifier=d.get('quantifier'),
 6112            skip_after=d.get('skip_after'),
 6113            step_order=d.get('step_order'),
 6114        )
 6115
 6116
 6117class ApprovalWorkflowStepCreateResponse:
 6118    '''
 6119         ApprovalWorkflowStepCreateResponse reports how the ApprovalWorkflowStep was created in the system.
 6120    '''
 6121    __slots__ = [
 6122        'approval_workflow_step',
 6123        'rate_limit',
 6124    ]
 6125
 6126    def __init__(
 6127        self,
 6128        approval_workflow_step=None,
 6129        rate_limit=None,
 6130    ):
 6131        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
 6132        '''
 6133         The created approval workflow step.
 6134        '''
 6135        self.rate_limit = rate_limit if rate_limit is not None else None
 6136        '''
 6137         Rate limit information.
 6138        '''
 6139
 6140    def __repr__(self):
 6141        return '<sdm.ApprovalWorkflowStepCreateResponse ' + \
 6142            'approval_workflow_step: ' + repr(self.approval_workflow_step) + ' ' +\
 6143            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 6144            '>'
 6145
 6146    def to_dict(self):
 6147        return {
 6148            'approval_workflow_step': self.approval_workflow_step,
 6149            'rate_limit': self.rate_limit,
 6150        }
 6151
 6152    @classmethod
 6153    def from_dict(cls, d):
 6154        return cls(
 6155            approval_workflow_step=d.get('approval_workflow_step'),
 6156            rate_limit=d.get('rate_limit'),
 6157        )
 6158
 6159
 6160class ApprovalWorkflowStepDeleteResponse:
 6161    '''
 6162         ApprovalWorkflowStepDeleteResponse returns information about an ApprovalWorkflowStep that was deleted.
 6163    '''
 6164    __slots__ = [
 6165        'id',
 6166        'rate_limit',
 6167    ]
 6168
 6169    def __init__(
 6170        self,
 6171        id=None,
 6172        rate_limit=None,
 6173    ):
 6174        self.id = id if id is not None else ''
 6175        '''
 6176         The deleted approval workflow step id.
 6177        '''
 6178        self.rate_limit = rate_limit if rate_limit is not None else None
 6179        '''
 6180         Rate limit information.
 6181        '''
 6182
 6183    def __repr__(self):
 6184        return '<sdm.ApprovalWorkflowStepDeleteResponse ' + \
 6185            'id: ' + repr(self.id) + ' ' +\
 6186            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 6187            '>'
 6188
 6189    def to_dict(self):
 6190        return {
 6191            'id': self.id,
 6192            'rate_limit': self.rate_limit,
 6193        }
 6194
 6195    @classmethod
 6196    def from_dict(cls, d):
 6197        return cls(
 6198            id=d.get('id'),
 6199            rate_limit=d.get('rate_limit'),
 6200        )
 6201
 6202
 6203class ApprovalWorkflowStepGetResponse:
 6204    '''
 6205         ApprovalWorkflowStepGetResponse returns a requested ApprovalWorkflowStep.
 6206    '''
 6207    __slots__ = [
 6208        'approval_workflow_step',
 6209        'meta',
 6210        'rate_limit',
 6211    ]
 6212
 6213    def __init__(
 6214        self,
 6215        approval_workflow_step=None,
 6216        meta=None,
 6217        rate_limit=None,
 6218    ):
 6219        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
 6220        '''
 6221         The requested ApprovalWorkflowStep.
 6222        '''
 6223        self.meta = meta if meta is not None else None
 6224        '''
 6225         Reserved for future use.
 6226        '''
 6227        self.rate_limit = rate_limit if rate_limit is not None else None
 6228        '''
 6229         Rate limit information.
 6230        '''
 6231
 6232    def __repr__(self):
 6233        return '<sdm.ApprovalWorkflowStepGetResponse ' + \
 6234            'approval_workflow_step: ' + repr(self.approval_workflow_step) + ' ' +\
 6235            'meta: ' + repr(self.meta) + ' ' +\
 6236            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 6237            '>'
 6238
 6239    def to_dict(self):
 6240        return {
 6241            'approval_workflow_step': self.approval_workflow_step,
 6242            'meta': self.meta,
 6243            'rate_limit': self.rate_limit,
 6244        }
 6245
 6246    @classmethod
 6247    def from_dict(cls, d):
 6248        return cls(
 6249            approval_workflow_step=d.get('approval_workflow_step'),
 6250            meta=d.get('meta'),
 6251            rate_limit=d.get('rate_limit'),
 6252        )
 6253
 6254
 6255class ApprovalWorkflowStepHistory:
 6256    '''
 6257         ApprovalWorkflowStepHistory records the state of an ApprovalWorkflowStep at a given point in time,
 6258     where every change (create or delete) to an ApprovalWorkflowStep produces an
 6259     ApprovalWorkflowStepHistory record.
 6260    '''
 6261    __slots__ = [
 6262        'activity_id',
 6263        'approval_workflow_step',
 6264        'deleted_at',
 6265        'timestamp',
 6266    ]
 6267
 6268    def __init__(
 6269        self,
 6270        activity_id=None,
 6271        approval_workflow_step=None,
 6272        deleted_at=None,
 6273        timestamp=None,
 6274    ):
 6275        self.activity_id = activity_id if activity_id is not None else ''
 6276        '''
 6277         The unique identifier of the Activity that produced this change to the ApprovalWorkflowStep.
 6278         May be empty for some system-initiated updates.
 6279        '''
 6280        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
 6281        '''
 6282         The complete ApprovalWorkflowStep state at this time.
 6283        '''
 6284        self.deleted_at = deleted_at if deleted_at is not None else None
 6285        '''
 6286         If this ApprovalWorkflowStep was deleted, the time it was deleted.
 6287        '''
 6288        self.timestamp = timestamp if timestamp is not None else None
 6289        '''
 6290         The time at which the ApprovalWorkflowStep state was recorded.
 6291        '''
 6292
 6293    def __repr__(self):
 6294        return '<sdm.ApprovalWorkflowStepHistory ' + \
 6295            'activity_id: ' + repr(self.activity_id) + ' ' +\
 6296            'approval_workflow_step: ' + repr(self.approval_workflow_step) + ' ' +\
 6297            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 6298            'timestamp: ' + repr(self.timestamp) + ' ' +\
 6299            '>'
 6300
 6301    def to_dict(self):
 6302        return {
 6303            'activity_id': self.activity_id,
 6304            'approval_workflow_step': self.approval_workflow_step,
 6305            'deleted_at': self.deleted_at,
 6306            'timestamp': self.timestamp,
 6307        }
 6308
 6309    @classmethod
 6310    def from_dict(cls, d):
 6311        return cls(
 6312            activity_id=d.get('activity_id'),
 6313            approval_workflow_step=d.get('approval_workflow_step'),
 6314            deleted_at=d.get('deleted_at'),
 6315            timestamp=d.get('timestamp'),
 6316        )
 6317
 6318
 6319class ApprovalWorkflowStepListResponse:
 6320    '''
 6321         ApprovalWorkflowStepListResponse returns a list of ApprovalWorkflowStep records that meet
 6322     the criteria of an ApprovalWorkflowStepListRequest.
 6323    '''
 6324    __slots__ = [
 6325        'rate_limit',
 6326    ]
 6327
 6328    def __init__(
 6329        self,
 6330        rate_limit=None,
 6331    ):
 6332        self.rate_limit = rate_limit if rate_limit is not None else None
 6333        '''
 6334         Rate limit information.
 6335        '''
 6336
 6337    def __repr__(self):
 6338        return '<sdm.ApprovalWorkflowStepListResponse ' + \
 6339            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 6340            '>'
 6341
 6342    def to_dict(self):
 6343        return {
 6344            'rate_limit': self.rate_limit,
 6345        }
 6346
 6347    @classmethod
 6348    def from_dict(cls, d):
 6349        return cls(rate_limit=d.get('rate_limit'), )
 6350
 6351
 6352class ApprovalWorkflowUpdateResponse:
 6353    '''
 6354         ApprovalWorkflowUpdateResponse returns the fields of an ApprovalWorkflow after it has been updated by
 6355     an ApprovalWorkflowUpdateRequest.
 6356    '''
 6357    __slots__ = [
 6358        'approval_workflow',
 6359        'rate_limit',
 6360    ]
 6361
 6362    def __init__(
 6363        self,
 6364        approval_workflow=None,
 6365        rate_limit=None,
 6366    ):
 6367        self.approval_workflow = approval_workflow if approval_workflow is not None else None
 6368        '''
 6369         The updated approval workflow.
 6370        '''
 6371        self.rate_limit = rate_limit if rate_limit is not None else None
 6372        '''
 6373         Rate limit information.
 6374        '''
 6375
 6376    def __repr__(self):
 6377        return '<sdm.ApprovalWorkflowUpdateResponse ' + \
 6378            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
 6379            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 6380            '>'
 6381
 6382    def to_dict(self):
 6383        return {
 6384            'approval_workflow': self.approval_workflow,
 6385            'rate_limit': self.rate_limit,
 6386        }
 6387
 6388    @classmethod
 6389    def from_dict(cls, d):
 6390        return cls(
 6391            approval_workflow=d.get('approval_workflow'),
 6392            rate_limit=d.get('rate_limit'),
 6393        )
 6394
 6395
 6396class Athena:
 6397    __slots__ = [
 6398        'access_key',
 6399        'bind_interface',
 6400        'egress_filter',
 6401        'healthy',
 6402        'id',
 6403        'name',
 6404        'output',
 6405        'port_override',
 6406        'proxy_cluster_id',
 6407        'region',
 6408        'role_arn',
 6409        'role_external_id',
 6410        'secret_access_key',
 6411        'secret_store_id',
 6412        'subdomain',
 6413        'tags',
 6414    ]
 6415
 6416    def __init__(
 6417        self,
 6418        access_key=None,
 6419        bind_interface=None,
 6420        egress_filter=None,
 6421        healthy=None,
 6422        id=None,
 6423        name=None,
 6424        output=None,
 6425        port_override=None,
 6426        proxy_cluster_id=None,
 6427        region=None,
 6428        role_arn=None,
 6429        role_external_id=None,
 6430        secret_access_key=None,
 6431        secret_store_id=None,
 6432        subdomain=None,
 6433        tags=None,
 6434    ):
 6435        self.access_key = access_key if access_key is not None else ''
 6436        '''
 6437         The Access Key ID to use to authenticate.
 6438        '''
 6439        self.bind_interface = bind_interface if bind_interface is not None else ''
 6440        '''
 6441         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 6442        '''
 6443        self.egress_filter = egress_filter if egress_filter is not None else ''
 6444        '''
 6445         A filter applied to the routing logic to pin datasource to nodes.
 6446        '''
 6447        self.healthy = healthy if healthy is not None else False
 6448        '''
 6449         True if the datasource is reachable and the credentials are valid.
 6450        '''
 6451        self.id = id if id is not None else ''
 6452        '''
 6453         Unique identifier of the Resource.
 6454        '''
 6455        self.name = name if name is not None else ''
 6456        '''
 6457         Unique human-readable name of the Resource.
 6458        '''
 6459        self.output = output if output is not None else ''
 6460        '''
 6461         The AWS S3 output location.
 6462        '''
 6463        self.port_override = port_override if port_override is not None else 0
 6464        '''
 6465         The local port used by clients to connect to this resource.
 6466        '''
 6467        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 6468        '''
 6469         ID of the proxy cluster for this resource, if any.
 6470        '''
 6471        self.region = region if region is not None else ''
 6472        '''
 6473         The AWS region to connect to e.g. us-east-1.
 6474        '''
 6475        self.role_arn = role_arn if role_arn is not None else ''
 6476        '''
 6477         The role to assume after logging in.
 6478        '''
 6479        self.role_external_id = role_external_id if role_external_id is not None else ''
 6480        '''
 6481         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 6482        '''
 6483        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
 6484        '''
 6485         The Secret Access Key to use to authenticate.
 6486        '''
 6487        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 6488        '''
 6489         ID of the secret store containing credentials for this resource, if any.
 6490        '''
 6491        self.subdomain = subdomain if subdomain is not None else ''
 6492        '''
 6493         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 6494        '''
 6495        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 6496        '''
 6497         Tags is a map of key, value pairs.
 6498        '''
 6499
 6500    def __repr__(self):
 6501        return '<sdm.Athena ' + \
 6502            'access_key: ' + repr(self.access_key) + ' ' +\
 6503            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 6504            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 6505            'healthy: ' + repr(self.healthy) + ' ' +\
 6506            'id: ' + repr(self.id) + ' ' +\
 6507            'name: ' + repr(self.name) + ' ' +\
 6508            'output: ' + repr(self.output) + ' ' +\
 6509            'port_override: ' + repr(self.port_override) + ' ' +\
 6510            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 6511            'region: ' + repr(self.region) + ' ' +\
 6512            'role_arn: ' + repr(self.role_arn) + ' ' +\
 6513            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 6514            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
 6515            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 6516            'subdomain: ' + repr(self.subdomain) + ' ' +\
 6517            'tags: ' + repr(self.tags) + ' ' +\
 6518            '>'
 6519
 6520    def to_dict(self):
 6521        return {
 6522            'access_key': self.access_key,
 6523            'bind_interface': self.bind_interface,
 6524            'egress_filter': self.egress_filter,
 6525            'healthy': self.healthy,
 6526            'id': self.id,
 6527            'name': self.name,
 6528            'output': self.output,
 6529            'port_override': self.port_override,
 6530            'proxy_cluster_id': self.proxy_cluster_id,
 6531            'region': self.region,
 6532            'role_arn': self.role_arn,
 6533            'role_external_id': self.role_external_id,
 6534            'secret_access_key': self.secret_access_key,
 6535            'secret_store_id': self.secret_store_id,
 6536            'subdomain': self.subdomain,
 6537            'tags': self.tags,
 6538        }
 6539
 6540    @classmethod
 6541    def from_dict(cls, d):
 6542        return cls(
 6543            access_key=d.get('access_key'),
 6544            bind_interface=d.get('bind_interface'),
 6545            egress_filter=d.get('egress_filter'),
 6546            healthy=d.get('healthy'),
 6547            id=d.get('id'),
 6548            name=d.get('name'),
 6549            output=d.get('output'),
 6550            port_override=d.get('port_override'),
 6551            proxy_cluster_id=d.get('proxy_cluster_id'),
 6552            region=d.get('region'),
 6553            role_arn=d.get('role_arn'),
 6554            role_external_id=d.get('role_external_id'),
 6555            secret_access_key=d.get('secret_access_key'),
 6556            secret_store_id=d.get('secret_store_id'),
 6557            subdomain=d.get('subdomain'),
 6558            tags=d.get('tags'),
 6559        )
 6560
 6561
 6562class AthenaIAM:
 6563    __slots__ = [
 6564        'bind_interface',
 6565        'egress_filter',
 6566        'healthy',
 6567        'id',
 6568        'name',
 6569        'output',
 6570        'port_override',
 6571        'proxy_cluster_id',
 6572        'region',
 6573        'role_arn',
 6574        'role_external_id',
 6575        'secret_store_id',
 6576        'subdomain',
 6577        'tags',
 6578    ]
 6579
 6580    def __init__(
 6581        self,
 6582        bind_interface=None,
 6583        egress_filter=None,
 6584        healthy=None,
 6585        id=None,
 6586        name=None,
 6587        output=None,
 6588        port_override=None,
 6589        proxy_cluster_id=None,
 6590        region=None,
 6591        role_arn=None,
 6592        role_external_id=None,
 6593        secret_store_id=None,
 6594        subdomain=None,
 6595        tags=None,
 6596    ):
 6597        self.bind_interface = bind_interface if bind_interface is not None else ''
 6598        '''
 6599         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 6600        '''
 6601        self.egress_filter = egress_filter if egress_filter is not None else ''
 6602        '''
 6603         A filter applied to the routing logic to pin datasource to nodes.
 6604        '''
 6605        self.healthy = healthy if healthy is not None else False
 6606        '''
 6607         True if the datasource is reachable and the credentials are valid.
 6608        '''
 6609        self.id = id if id is not None else ''
 6610        '''
 6611         Unique identifier of the Resource.
 6612        '''
 6613        self.name = name if name is not None else ''
 6614        '''
 6615         Unique human-readable name of the Resource.
 6616        '''
 6617        self.output = output if output is not None else ''
 6618        '''
 6619         The AWS S3 output location.
 6620        '''
 6621        self.port_override = port_override if port_override is not None else 0
 6622        '''
 6623         The local port used by clients to connect to this resource.
 6624        '''
 6625        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 6626        '''
 6627         ID of the proxy cluster for this resource, if any.
 6628        '''
 6629        self.region = region if region is not None else ''
 6630        '''
 6631         The AWS region to connect to e.g. us-east-1.
 6632        '''
 6633        self.role_arn = role_arn if role_arn is not None else ''
 6634        '''
 6635         The role to assume after logging in.
 6636        '''
 6637        self.role_external_id = role_external_id if role_external_id is not None else ''
 6638        '''
 6639         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 6640        '''
 6641        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 6642        '''
 6643         ID of the secret store containing credentials for this resource, if any.
 6644        '''
 6645        self.subdomain = subdomain if subdomain is not None else ''
 6646        '''
 6647         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 6648        '''
 6649        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 6650        '''
 6651         Tags is a map of key, value pairs.
 6652        '''
 6653
 6654    def __repr__(self):
 6655        return '<sdm.AthenaIAM ' + \
 6656            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 6657            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 6658            'healthy: ' + repr(self.healthy) + ' ' +\
 6659            'id: ' + repr(self.id) + ' ' +\
 6660            'name: ' + repr(self.name) + ' ' +\
 6661            'output: ' + repr(self.output) + ' ' +\
 6662            'port_override: ' + repr(self.port_override) + ' ' +\
 6663            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 6664            'region: ' + repr(self.region) + ' ' +\
 6665            'role_arn: ' + repr(self.role_arn) + ' ' +\
 6666            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 6667            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 6668            'subdomain: ' + repr(self.subdomain) + ' ' +\
 6669            'tags: ' + repr(self.tags) + ' ' +\
 6670            '>'
 6671
 6672    def to_dict(self):
 6673        return {
 6674            'bind_interface': self.bind_interface,
 6675            'egress_filter': self.egress_filter,
 6676            'healthy': self.healthy,
 6677            'id': self.id,
 6678            'name': self.name,
 6679            'output': self.output,
 6680            'port_override': self.port_override,
 6681            'proxy_cluster_id': self.proxy_cluster_id,
 6682            'region': self.region,
 6683            'role_arn': self.role_arn,
 6684            'role_external_id': self.role_external_id,
 6685            'secret_store_id': self.secret_store_id,
 6686            'subdomain': self.subdomain,
 6687            'tags': self.tags,
 6688        }
 6689
 6690    @classmethod
 6691    def from_dict(cls, d):
 6692        return cls(
 6693            bind_interface=d.get('bind_interface'),
 6694            egress_filter=d.get('egress_filter'),
 6695            healthy=d.get('healthy'),
 6696            id=d.get('id'),
 6697            name=d.get('name'),
 6698            output=d.get('output'),
 6699            port_override=d.get('port_override'),
 6700            proxy_cluster_id=d.get('proxy_cluster_id'),
 6701            region=d.get('region'),
 6702            role_arn=d.get('role_arn'),
 6703            role_external_id=d.get('role_external_id'),
 6704            secret_store_id=d.get('secret_store_id'),
 6705            subdomain=d.get('subdomain'),
 6706            tags=d.get('tags'),
 6707        )
 6708
 6709
 6710class AuroraMysql:
 6711    __slots__ = [
 6712        'bind_interface',
 6713        'database',
 6714        'egress_filter',
 6715        'healthy',
 6716        'hostname',
 6717        'id',
 6718        'name',
 6719        'password',
 6720        'port',
 6721        'port_override',
 6722        'proxy_cluster_id',
 6723        'require_native_auth',
 6724        'secret_store_id',
 6725        'subdomain',
 6726        'tags',
 6727        'use_azure_single_server_usernames',
 6728        'username',
 6729    ]
 6730
 6731    def __init__(
 6732        self,
 6733        bind_interface=None,
 6734        database=None,
 6735        egress_filter=None,
 6736        healthy=None,
 6737        hostname=None,
 6738        id=None,
 6739        name=None,
 6740        password=None,
 6741        port=None,
 6742        port_override=None,
 6743        proxy_cluster_id=None,
 6744        require_native_auth=None,
 6745        secret_store_id=None,
 6746        subdomain=None,
 6747        tags=None,
 6748        use_azure_single_server_usernames=None,
 6749        username=None,
 6750    ):
 6751        self.bind_interface = bind_interface if bind_interface is not None else ''
 6752        '''
 6753         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 6754        '''
 6755        self.database = database if database is not None else ''
 6756        '''
 6757         The database for healthchecks. Does not affect client requests
 6758        '''
 6759        self.egress_filter = egress_filter if egress_filter is not None else ''
 6760        '''
 6761         A filter applied to the routing logic to pin datasource to nodes.
 6762        '''
 6763        self.healthy = healthy if healthy is not None else False
 6764        '''
 6765         True if the datasource is reachable and the credentials are valid.
 6766        '''
 6767        self.hostname = hostname if hostname is not None else ''
 6768        '''
 6769         The host to dial to initiate a connection from the egress node to this resource.
 6770        '''
 6771        self.id = id if id is not None else ''
 6772        '''
 6773         Unique identifier of the Resource.
 6774        '''
 6775        self.name = name if name is not None else ''
 6776        '''
 6777         Unique human-readable name of the Resource.
 6778        '''
 6779        self.password = password if password is not None else ''
 6780        '''
 6781         The password to authenticate with.
 6782        '''
 6783        self.port = port if port is not None else 0
 6784        '''
 6785         The port to dial to initiate a connection from the egress node to this resource.
 6786        '''
 6787        self.port_override = port_override if port_override is not None else 0
 6788        '''
 6789         The local port used by clients to connect to this resource.
 6790        '''
 6791        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 6792        '''
 6793         ID of the proxy cluster for this resource, if any.
 6794        '''
 6795        self.require_native_auth = require_native_auth if require_native_auth is not None else False
 6796        '''
 6797         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
 6798        '''
 6799        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 6800        '''
 6801         ID of the secret store containing credentials for this resource, if any.
 6802        '''
 6803        self.subdomain = subdomain if subdomain is not None else ''
 6804        '''
 6805         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 6806        '''
 6807        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 6808        '''
 6809         Tags is a map of key, value pairs.
 6810        '''
 6811        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
 6812        '''
 6813         If true, appends the hostname to the username when hitting a database.azure.com address
 6814        '''
 6815        self.username = username if username is not None else ''
 6816        '''
 6817         The username to authenticate with.
 6818        '''
 6819
 6820    def __repr__(self):
 6821        return '<sdm.AuroraMysql ' + \
 6822            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 6823            'database: ' + repr(self.database) + ' ' +\
 6824            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 6825            'healthy: ' + repr(self.healthy) + ' ' +\
 6826            'hostname: ' + repr(self.hostname) + ' ' +\
 6827            'id: ' + repr(self.id) + ' ' +\
 6828            'name: ' + repr(self.name) + ' ' +\
 6829            'password: ' + repr(self.password) + ' ' +\
 6830            'port: ' + repr(self.port) + ' ' +\
 6831            'port_override: ' + repr(self.port_override) + ' ' +\
 6832            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 6833            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
 6834            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 6835            'subdomain: ' + repr(self.subdomain) + ' ' +\
 6836            'tags: ' + repr(self.tags) + ' ' +\
 6837            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
 6838            'username: ' + repr(self.username) + ' ' +\
 6839            '>'
 6840
 6841    def to_dict(self):
 6842        return {
 6843            'bind_interface': self.bind_interface,
 6844            'database': self.database,
 6845            'egress_filter': self.egress_filter,
 6846            'healthy': self.healthy,
 6847            'hostname': self.hostname,
 6848            'id': self.id,
 6849            'name': self.name,
 6850            'password': self.password,
 6851            'port': self.port,
 6852            'port_override': self.port_override,
 6853            'proxy_cluster_id': self.proxy_cluster_id,
 6854            'require_native_auth': self.require_native_auth,
 6855            'secret_store_id': self.secret_store_id,
 6856            'subdomain': self.subdomain,
 6857            'tags': self.tags,
 6858            'use_azure_single_server_usernames':
 6859            self.use_azure_single_server_usernames,
 6860            'username': self.username,
 6861        }
 6862
 6863    @classmethod
 6864    def from_dict(cls, d):
 6865        return cls(
 6866            bind_interface=d.get('bind_interface'),
 6867            database=d.get('database'),
 6868            egress_filter=d.get('egress_filter'),
 6869            healthy=d.get('healthy'),
 6870            hostname=d.get('hostname'),
 6871            id=d.get('id'),
 6872            name=d.get('name'),
 6873            password=d.get('password'),
 6874            port=d.get('port'),
 6875            port_override=d.get('port_override'),
 6876            proxy_cluster_id=d.get('proxy_cluster_id'),
 6877            require_native_auth=d.get('require_native_auth'),
 6878            secret_store_id=d.get('secret_store_id'),
 6879            subdomain=d.get('subdomain'),
 6880            tags=d.get('tags'),
 6881            use_azure_single_server_usernames=d.get(
 6882                'use_azure_single_server_usernames'),
 6883            username=d.get('username'),
 6884        )
 6885
 6886
 6887class AuroraMysqlIAM:
 6888    __slots__ = [
 6889        'bind_interface',
 6890        'database',
 6891        'egress_filter',
 6892        'healthy',
 6893        'hostname',
 6894        'id',
 6895        'name',
 6896        'port',
 6897        'port_override',
 6898        'proxy_cluster_id',
 6899        'region',
 6900        'role_assumption_arn',
 6901        'secret_store_id',
 6902        'subdomain',
 6903        'tags',
 6904        'username',
 6905    ]
 6906
 6907    def __init__(
 6908        self,
 6909        bind_interface=None,
 6910        database=None,
 6911        egress_filter=None,
 6912        healthy=None,
 6913        hostname=None,
 6914        id=None,
 6915        name=None,
 6916        port=None,
 6917        port_override=None,
 6918        proxy_cluster_id=None,
 6919        region=None,
 6920        role_assumption_arn=None,
 6921        secret_store_id=None,
 6922        subdomain=None,
 6923        tags=None,
 6924        username=None,
 6925    ):
 6926        self.bind_interface = bind_interface if bind_interface is not None else ''
 6927        '''
 6928         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 6929        '''
 6930        self.database = database if database is not None else ''
 6931        '''
 6932         The database for healthchecks. Does not affect client requests
 6933        '''
 6934        self.egress_filter = egress_filter if egress_filter is not None else ''
 6935        '''
 6936         A filter applied to the routing logic to pin datasource to nodes.
 6937        '''
 6938        self.healthy = healthy if healthy is not None else False
 6939        '''
 6940         True if the datasource is reachable and the credentials are valid.
 6941        '''
 6942        self.hostname = hostname if hostname is not None else ''
 6943        '''
 6944         The host to dial to initiate a connection from the egress node to this resource.
 6945        '''
 6946        self.id = id if id is not None else ''
 6947        '''
 6948         Unique identifier of the Resource.
 6949        '''
 6950        self.name = name if name is not None else ''
 6951        '''
 6952         Unique human-readable name of the Resource.
 6953        '''
 6954        self.port = port if port is not None else 0
 6955        '''
 6956         The port to dial to initiate a connection from the egress node to this resource.
 6957        '''
 6958        self.port_override = port_override if port_override is not None else 0
 6959        '''
 6960         The local port used by clients to connect to this resource.
 6961        '''
 6962        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 6963        '''
 6964         ID of the proxy cluster for this resource, if any.
 6965        '''
 6966        self.region = region if region is not None else ''
 6967        '''
 6968         The AWS region to connect to.
 6969        '''
 6970        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
 6971        '''
 6972         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
 6973        '''
 6974        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 6975        '''
 6976         ID of the secret store containing credentials for this resource, if any.
 6977        '''
 6978        self.subdomain = subdomain if subdomain is not None else ''
 6979        '''
 6980         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 6981        '''
 6982        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 6983        '''
 6984         Tags is a map of key, value pairs.
 6985        '''
 6986        self.username = username if username is not None else ''
 6987        '''
 6988         The username to authenticate with.
 6989        '''
 6990
 6991    def __repr__(self):
 6992        return '<sdm.AuroraMysqlIAM ' + \
 6993            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 6994            'database: ' + repr(self.database) + ' ' +\
 6995            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 6996            'healthy: ' + repr(self.healthy) + ' ' +\
 6997            'hostname: ' + repr(self.hostname) + ' ' +\
 6998            'id: ' + repr(self.id) + ' ' +\
 6999            'name: ' + repr(self.name) + ' ' +\
 7000            'port: ' + repr(self.port) + ' ' +\
 7001            'port_override: ' + repr(self.port_override) + ' ' +\
 7002            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7003            'region: ' + repr(self.region) + ' ' +\
 7004            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
 7005            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7006            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7007            'tags: ' + repr(self.tags) + ' ' +\
 7008            'username: ' + repr(self.username) + ' ' +\
 7009            '>'
 7010
 7011    def to_dict(self):
 7012        return {
 7013            'bind_interface': self.bind_interface,
 7014            'database': self.database,
 7015            'egress_filter': self.egress_filter,
 7016            'healthy': self.healthy,
 7017            'hostname': self.hostname,
 7018            'id': self.id,
 7019            'name': self.name,
 7020            'port': self.port,
 7021            'port_override': self.port_override,
 7022            'proxy_cluster_id': self.proxy_cluster_id,
 7023            'region': self.region,
 7024            'role_assumption_arn': self.role_assumption_arn,
 7025            'secret_store_id': self.secret_store_id,
 7026            'subdomain': self.subdomain,
 7027            'tags': self.tags,
 7028            'username': self.username,
 7029        }
 7030
 7031    @classmethod
 7032    def from_dict(cls, d):
 7033        return cls(
 7034            bind_interface=d.get('bind_interface'),
 7035            database=d.get('database'),
 7036            egress_filter=d.get('egress_filter'),
 7037            healthy=d.get('healthy'),
 7038            hostname=d.get('hostname'),
 7039            id=d.get('id'),
 7040            name=d.get('name'),
 7041            port=d.get('port'),
 7042            port_override=d.get('port_override'),
 7043            proxy_cluster_id=d.get('proxy_cluster_id'),
 7044            region=d.get('region'),
 7045            role_assumption_arn=d.get('role_assumption_arn'),
 7046            secret_store_id=d.get('secret_store_id'),
 7047            subdomain=d.get('subdomain'),
 7048            tags=d.get('tags'),
 7049            username=d.get('username'),
 7050        )
 7051
 7052
 7053class AuroraPostgres:
 7054    __slots__ = [
 7055        'bind_interface',
 7056        'database',
 7057        'egress_filter',
 7058        'healthy',
 7059        'hostname',
 7060        'id',
 7061        'name',
 7062        'override_database',
 7063        'password',
 7064        'port',
 7065        'port_override',
 7066        'proxy_cluster_id',
 7067        'secret_store_id',
 7068        'subdomain',
 7069        'tags',
 7070        'username',
 7071    ]
 7072
 7073    def __init__(
 7074        self,
 7075        bind_interface=None,
 7076        database=None,
 7077        egress_filter=None,
 7078        healthy=None,
 7079        hostname=None,
 7080        id=None,
 7081        name=None,
 7082        override_database=None,
 7083        password=None,
 7084        port=None,
 7085        port_override=None,
 7086        proxy_cluster_id=None,
 7087        secret_store_id=None,
 7088        subdomain=None,
 7089        tags=None,
 7090        username=None,
 7091    ):
 7092        self.bind_interface = bind_interface if bind_interface is not None else ''
 7093        '''
 7094         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 7095        '''
 7096        self.database = database if database is not None else ''
 7097        '''
 7098         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 7099        '''
 7100        self.egress_filter = egress_filter if egress_filter is not None else ''
 7101        '''
 7102         A filter applied to the routing logic to pin datasource to nodes.
 7103        '''
 7104        self.healthy = healthy if healthy is not None else False
 7105        '''
 7106         True if the datasource is reachable and the credentials are valid.
 7107        '''
 7108        self.hostname = hostname if hostname is not None else ''
 7109        '''
 7110         The host to dial to initiate a connection from the egress node to this resource.
 7111        '''
 7112        self.id = id if id is not None else ''
 7113        '''
 7114         Unique identifier of the Resource.
 7115        '''
 7116        self.name = name if name is not None else ''
 7117        '''
 7118         Unique human-readable name of the Resource.
 7119        '''
 7120        self.override_database = override_database if override_database is not None else False
 7121        '''
 7122         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
 7123        '''
 7124        self.password = password if password is not None else ''
 7125        '''
 7126         The password to authenticate with.
 7127        '''
 7128        self.port = port if port is not None else 0
 7129        '''
 7130         The port to dial to initiate a connection from the egress node to this resource.
 7131        '''
 7132        self.port_override = port_override if port_override is not None else 0
 7133        '''
 7134         The local port used by clients to connect to this resource.
 7135        '''
 7136        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 7137        '''
 7138         ID of the proxy cluster for this resource, if any.
 7139        '''
 7140        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 7141        '''
 7142         ID of the secret store containing credentials for this resource, if any.
 7143        '''
 7144        self.subdomain = subdomain if subdomain is not None else ''
 7145        '''
 7146         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 7147        '''
 7148        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7149        '''
 7150         Tags is a map of key, value pairs.
 7151        '''
 7152        self.username = username if username is not None else ''
 7153        '''
 7154         The username to authenticate with.
 7155        '''
 7156
 7157    def __repr__(self):
 7158        return '<sdm.AuroraPostgres ' + \
 7159            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7160            'database: ' + repr(self.database) + ' ' +\
 7161            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7162            'healthy: ' + repr(self.healthy) + ' ' +\
 7163            'hostname: ' + repr(self.hostname) + ' ' +\
 7164            'id: ' + repr(self.id) + ' ' +\
 7165            'name: ' + repr(self.name) + ' ' +\
 7166            'override_database: ' + repr(self.override_database) + ' ' +\
 7167            'password: ' + repr(self.password) + ' ' +\
 7168            'port: ' + repr(self.port) + ' ' +\
 7169            'port_override: ' + repr(self.port_override) + ' ' +\
 7170            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7171            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7172            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7173            'tags: ' + repr(self.tags) + ' ' +\
 7174            'username: ' + repr(self.username) + ' ' +\
 7175            '>'
 7176
 7177    def to_dict(self):
 7178        return {
 7179            'bind_interface': self.bind_interface,
 7180            'database': self.database,
 7181            'egress_filter': self.egress_filter,
 7182            'healthy': self.healthy,
 7183            'hostname': self.hostname,
 7184            'id': self.id,
 7185            'name': self.name,
 7186            'override_database': self.override_database,
 7187            'password': self.password,
 7188            'port': self.port,
 7189            'port_override': self.port_override,
 7190            'proxy_cluster_id': self.proxy_cluster_id,
 7191            'secret_store_id': self.secret_store_id,
 7192            'subdomain': self.subdomain,
 7193            'tags': self.tags,
 7194            'username': self.username,
 7195        }
 7196
 7197    @classmethod
 7198    def from_dict(cls, d):
 7199        return cls(
 7200            bind_interface=d.get('bind_interface'),
 7201            database=d.get('database'),
 7202            egress_filter=d.get('egress_filter'),
 7203            healthy=d.get('healthy'),
 7204            hostname=d.get('hostname'),
 7205            id=d.get('id'),
 7206            name=d.get('name'),
 7207            override_database=d.get('override_database'),
 7208            password=d.get('password'),
 7209            port=d.get('port'),
 7210            port_override=d.get('port_override'),
 7211            proxy_cluster_id=d.get('proxy_cluster_id'),
 7212            secret_store_id=d.get('secret_store_id'),
 7213            subdomain=d.get('subdomain'),
 7214            tags=d.get('tags'),
 7215            username=d.get('username'),
 7216        )
 7217
 7218
 7219class AuroraPostgresIAM:
 7220    __slots__ = [
 7221        'bind_interface',
 7222        'database',
 7223        'egress_filter',
 7224        'healthy',
 7225        'hostname',
 7226        'id',
 7227        'name',
 7228        'override_database',
 7229        'port',
 7230        'port_override',
 7231        'proxy_cluster_id',
 7232        'region',
 7233        'role_assumption_arn',
 7234        'secret_store_id',
 7235        'subdomain',
 7236        'tags',
 7237        'username',
 7238    ]
 7239
 7240    def __init__(
 7241        self,
 7242        bind_interface=None,
 7243        database=None,
 7244        egress_filter=None,
 7245        healthy=None,
 7246        hostname=None,
 7247        id=None,
 7248        name=None,
 7249        override_database=None,
 7250        port=None,
 7251        port_override=None,
 7252        proxy_cluster_id=None,
 7253        region=None,
 7254        role_assumption_arn=None,
 7255        secret_store_id=None,
 7256        subdomain=None,
 7257        tags=None,
 7258        username=None,
 7259    ):
 7260        self.bind_interface = bind_interface if bind_interface is not None else ''
 7261        '''
 7262         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 7263        '''
 7264        self.database = database if database is not None else ''
 7265        '''
 7266         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 7267        '''
 7268        self.egress_filter = egress_filter if egress_filter is not None else ''
 7269        '''
 7270         A filter applied to the routing logic to pin datasource to nodes.
 7271        '''
 7272        self.healthy = healthy if healthy is not None else False
 7273        '''
 7274         True if the datasource is reachable and the credentials are valid.
 7275        '''
 7276        self.hostname = hostname if hostname is not None else ''
 7277        '''
 7278         The host to dial to initiate a connection from the egress node to this resource.
 7279        '''
 7280        self.id = id if id is not None else ''
 7281        '''
 7282         Unique identifier of the Resource.
 7283        '''
 7284        self.name = name if name is not None else ''
 7285        '''
 7286         Unique human-readable name of the Resource.
 7287        '''
 7288        self.override_database = override_database if override_database is not None else False
 7289        '''
 7290         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
 7291        '''
 7292        self.port = port if port is not None else 0
 7293        '''
 7294         The port to dial to initiate a connection from the egress node to this resource.
 7295        '''
 7296        self.port_override = port_override if port_override is not None else 0
 7297        '''
 7298         The local port used by clients to connect to this resource.
 7299        '''
 7300        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 7301        '''
 7302         ID of the proxy cluster for this resource, if any.
 7303        '''
 7304        self.region = region if region is not None else ''
 7305        '''
 7306         The AWS region to connect to.
 7307        '''
 7308        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
 7309        '''
 7310         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
 7311        '''
 7312        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 7313        '''
 7314         ID of the secret store containing credentials for this resource, if any.
 7315        '''
 7316        self.subdomain = subdomain if subdomain is not None else ''
 7317        '''
 7318         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 7319        '''
 7320        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7321        '''
 7322         Tags is a map of key, value pairs.
 7323        '''
 7324        self.username = username if username is not None else ''
 7325        '''
 7326         The username to authenticate with.
 7327        '''
 7328
 7329    def __repr__(self):
 7330        return '<sdm.AuroraPostgresIAM ' + \
 7331            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7332            'database: ' + repr(self.database) + ' ' +\
 7333            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7334            'healthy: ' + repr(self.healthy) + ' ' +\
 7335            'hostname: ' + repr(self.hostname) + ' ' +\
 7336            'id: ' + repr(self.id) + ' ' +\
 7337            'name: ' + repr(self.name) + ' ' +\
 7338            'override_database: ' + repr(self.override_database) + ' ' +\
 7339            'port: ' + repr(self.port) + ' ' +\
 7340            'port_override: ' + repr(self.port_override) + ' ' +\
 7341            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7342            'region: ' + repr(self.region) + ' ' +\
 7343            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
 7344            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7345            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7346            'tags: ' + repr(self.tags) + ' ' +\
 7347            'username: ' + repr(self.username) + ' ' +\
 7348            '>'
 7349
 7350    def to_dict(self):
 7351        return {
 7352            'bind_interface': self.bind_interface,
 7353            'database': self.database,
 7354            'egress_filter': self.egress_filter,
 7355            'healthy': self.healthy,
 7356            'hostname': self.hostname,
 7357            'id': self.id,
 7358            'name': self.name,
 7359            'override_database': self.override_database,
 7360            'port': self.port,
 7361            'port_override': self.port_override,
 7362            'proxy_cluster_id': self.proxy_cluster_id,
 7363            'region': self.region,
 7364            'role_assumption_arn': self.role_assumption_arn,
 7365            'secret_store_id': self.secret_store_id,
 7366            'subdomain': self.subdomain,
 7367            'tags': self.tags,
 7368            'username': self.username,
 7369        }
 7370
 7371    @classmethod
 7372    def from_dict(cls, d):
 7373        return cls(
 7374            bind_interface=d.get('bind_interface'),
 7375            database=d.get('database'),
 7376            egress_filter=d.get('egress_filter'),
 7377            healthy=d.get('healthy'),
 7378            hostname=d.get('hostname'),
 7379            id=d.get('id'),
 7380            name=d.get('name'),
 7381            override_database=d.get('override_database'),
 7382            port=d.get('port'),
 7383            port_override=d.get('port_override'),
 7384            proxy_cluster_id=d.get('proxy_cluster_id'),
 7385            region=d.get('region'),
 7386            role_assumption_arn=d.get('role_assumption_arn'),
 7387            secret_store_id=d.get('secret_store_id'),
 7388            subdomain=d.get('subdomain'),
 7389            tags=d.get('tags'),
 7390            username=d.get('username'),
 7391        )
 7392
 7393
 7394class Azure:
 7395    __slots__ = [
 7396        'app_id',
 7397        'bind_interface',
 7398        'egress_filter',
 7399        'healthy',
 7400        'id',
 7401        'name',
 7402        'password',
 7403        'port_override',
 7404        'proxy_cluster_id',
 7405        'secret_store_id',
 7406        'subdomain',
 7407        'tags',
 7408        'tenant_id',
 7409    ]
 7410
 7411    def __init__(
 7412        self,
 7413        app_id=None,
 7414        bind_interface=None,
 7415        egress_filter=None,
 7416        healthy=None,
 7417        id=None,
 7418        name=None,
 7419        password=None,
 7420        port_override=None,
 7421        proxy_cluster_id=None,
 7422        secret_store_id=None,
 7423        subdomain=None,
 7424        tags=None,
 7425        tenant_id=None,
 7426    ):
 7427        self.app_id = app_id if app_id is not None else ''
 7428        '''
 7429         The application ID to authenticate with.
 7430        '''
 7431        self.bind_interface = bind_interface if bind_interface is not None else ''
 7432        '''
 7433         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 7434        '''
 7435        self.egress_filter = egress_filter if egress_filter is not None else ''
 7436        '''
 7437         A filter applied to the routing logic to pin datasource to nodes.
 7438        '''
 7439        self.healthy = healthy if healthy is not None else False
 7440        '''
 7441         True if the datasource is reachable and the credentials are valid.
 7442        '''
 7443        self.id = id if id is not None else ''
 7444        '''
 7445         Unique identifier of the Resource.
 7446        '''
 7447        self.name = name if name is not None else ''
 7448        '''
 7449         Unique human-readable name of the Resource.
 7450        '''
 7451        self.password = password if password is not None else ''
 7452        '''
 7453         The password to authenticate with.
 7454        '''
 7455        self.port_override = port_override if port_override is not None else 0
 7456        '''
 7457         The local port used by clients to connect to this resource.
 7458        '''
 7459        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 7460        '''
 7461         ID of the proxy cluster for this resource, if any.
 7462        '''
 7463        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 7464        '''
 7465         ID of the secret store containing credentials for this resource, if any.
 7466        '''
 7467        self.subdomain = subdomain if subdomain is not None else ''
 7468        '''
 7469         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 7470        '''
 7471        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7472        '''
 7473         Tags is a map of key, value pairs.
 7474        '''
 7475        self.tenant_id = tenant_id if tenant_id is not None else ''
 7476        '''
 7477         The tenant ID to authenticate to.
 7478        '''
 7479
 7480    def __repr__(self):
 7481        return '<sdm.Azure ' + \
 7482            'app_id: ' + repr(self.app_id) + ' ' +\
 7483            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7484            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7485            'healthy: ' + repr(self.healthy) + ' ' +\
 7486            'id: ' + repr(self.id) + ' ' +\
 7487            'name: ' + repr(self.name) + ' ' +\
 7488            'password: ' + repr(self.password) + ' ' +\
 7489            'port_override: ' + repr(self.port_override) + ' ' +\
 7490            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7491            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7492            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7493            'tags: ' + repr(self.tags) + ' ' +\
 7494            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
 7495            '>'
 7496
 7497    def to_dict(self):
 7498        return {
 7499            'app_id': self.app_id,
 7500            'bind_interface': self.bind_interface,
 7501            'egress_filter': self.egress_filter,
 7502            'healthy': self.healthy,
 7503            'id': self.id,
 7504            'name': self.name,
 7505            'password': self.password,
 7506            'port_override': self.port_override,
 7507            'proxy_cluster_id': self.proxy_cluster_id,
 7508            'secret_store_id': self.secret_store_id,
 7509            'subdomain': self.subdomain,
 7510            'tags': self.tags,
 7511            'tenant_id': self.tenant_id,
 7512        }
 7513
 7514    @classmethod
 7515    def from_dict(cls, d):
 7516        return cls(
 7517            app_id=d.get('app_id'),
 7518            bind_interface=d.get('bind_interface'),
 7519            egress_filter=d.get('egress_filter'),
 7520            healthy=d.get('healthy'),
 7521            id=d.get('id'),
 7522            name=d.get('name'),
 7523            password=d.get('password'),
 7524            port_override=d.get('port_override'),
 7525            proxy_cluster_id=d.get('proxy_cluster_id'),
 7526            secret_store_id=d.get('secret_store_id'),
 7527            subdomain=d.get('subdomain'),
 7528            tags=d.get('tags'),
 7529            tenant_id=d.get('tenant_id'),
 7530        )
 7531
 7532
 7533class AzureCertificate:
 7534    __slots__ = [
 7535        'app_id',
 7536        'bind_interface',
 7537        'client_certificate',
 7538        'egress_filter',
 7539        'healthy',
 7540        'id',
 7541        'name',
 7542        'port_override',
 7543        'proxy_cluster_id',
 7544        'secret_store_id',
 7545        'subdomain',
 7546        'tags',
 7547        'tenant_id',
 7548    ]
 7549
 7550    def __init__(
 7551        self,
 7552        app_id=None,
 7553        bind_interface=None,
 7554        client_certificate=None,
 7555        egress_filter=None,
 7556        healthy=None,
 7557        id=None,
 7558        name=None,
 7559        port_override=None,
 7560        proxy_cluster_id=None,
 7561        secret_store_id=None,
 7562        subdomain=None,
 7563        tags=None,
 7564        tenant_id=None,
 7565    ):
 7566        self.app_id = app_id if app_id is not None else ''
 7567        '''
 7568         The application ID to authenticate with.
 7569        '''
 7570        self.bind_interface = bind_interface if bind_interface is not None else ''
 7571        '''
 7572         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 7573        '''
 7574        self.client_certificate = client_certificate if client_certificate is not None else ''
 7575        '''
 7576         The service Principal certificate file, both private and public key included.
 7577        '''
 7578        self.egress_filter = egress_filter if egress_filter is not None else ''
 7579        '''
 7580         A filter applied to the routing logic to pin datasource to nodes.
 7581        '''
 7582        self.healthy = healthy if healthy is not None else False
 7583        '''
 7584         True if the datasource is reachable and the credentials are valid.
 7585        '''
 7586        self.id = id if id is not None else ''
 7587        '''
 7588         Unique identifier of the Resource.
 7589        '''
 7590        self.name = name if name is not None else ''
 7591        '''
 7592         Unique human-readable name of the Resource.
 7593        '''
 7594        self.port_override = port_override if port_override is not None else 0
 7595        '''
 7596         The local port used by clients to connect to this resource.
 7597        '''
 7598        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 7599        '''
 7600         ID of the proxy cluster for this resource, if any.
 7601        '''
 7602        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 7603        '''
 7604         ID of the secret store containing credentials for this resource, if any.
 7605        '''
 7606        self.subdomain = subdomain if subdomain is not None else ''
 7607        '''
 7608         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 7609        '''
 7610        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7611        '''
 7612         Tags is a map of key, value pairs.
 7613        '''
 7614        self.tenant_id = tenant_id if tenant_id is not None else ''
 7615        '''
 7616         The tenant ID to authenticate to.
 7617        '''
 7618
 7619    def __repr__(self):
 7620        return '<sdm.AzureCertificate ' + \
 7621            'app_id: ' + repr(self.app_id) + ' ' +\
 7622            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7623            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
 7624            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7625            'healthy: ' + repr(self.healthy) + ' ' +\
 7626            'id: ' + repr(self.id) + ' ' +\
 7627            'name: ' + repr(self.name) + ' ' +\
 7628            'port_override: ' + repr(self.port_override) + ' ' +\
 7629            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7630            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7631            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7632            'tags: ' + repr(self.tags) + ' ' +\
 7633            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
 7634            '>'
 7635
 7636    def to_dict(self):
 7637        return {
 7638            'app_id': self.app_id,
 7639            'bind_interface': self.bind_interface,
 7640            'client_certificate': self.client_certificate,
 7641            'egress_filter': self.egress_filter,
 7642            'healthy': self.healthy,
 7643            'id': self.id,
 7644            'name': self.name,
 7645            'port_override': self.port_override,
 7646            'proxy_cluster_id': self.proxy_cluster_id,
 7647            'secret_store_id': self.secret_store_id,
 7648            'subdomain': self.subdomain,
 7649            'tags': self.tags,
 7650            'tenant_id': self.tenant_id,
 7651        }
 7652
 7653    @classmethod
 7654    def from_dict(cls, d):
 7655        return cls(
 7656            app_id=d.get('app_id'),
 7657            bind_interface=d.get('bind_interface'),
 7658            client_certificate=d.get('client_certificate'),
 7659            egress_filter=d.get('egress_filter'),
 7660            healthy=d.get('healthy'),
 7661            id=d.get('id'),
 7662            name=d.get('name'),
 7663            port_override=d.get('port_override'),
 7664            proxy_cluster_id=d.get('proxy_cluster_id'),
 7665            secret_store_id=d.get('secret_store_id'),
 7666            subdomain=d.get('subdomain'),
 7667            tags=d.get('tags'),
 7668            tenant_id=d.get('tenant_id'),
 7669        )
 7670
 7671
 7672class AzureConsole:
 7673    '''
 7674    AzureConsole is currently unstable, and its API may change, or it may be removed,
 7675    without a major version bump.
 7676    '''
 7677    __slots__ = [
 7678        'bind_interface',
 7679        'connector_id',
 7680        'egress_filter',
 7681        'healthy',
 7682        'id',
 7683        'identity_set_id',
 7684        'management_group_id',
 7685        'name',
 7686        'privilege_levels',
 7687        'proxy_cluster_id',
 7688        'secret_store_id',
 7689        'subdomain',
 7690        'subscription_id',
 7691        'tags',
 7692    ]
 7693
 7694    def __init__(
 7695        self,
 7696        bind_interface=None,
 7697        connector_id=None,
 7698        egress_filter=None,
 7699        healthy=None,
 7700        id=None,
 7701        identity_set_id=None,
 7702        management_group_id=None,
 7703        name=None,
 7704        privilege_levels=None,
 7705        proxy_cluster_id=None,
 7706        secret_store_id=None,
 7707        subdomain=None,
 7708        subscription_id=None,
 7709        tags=None,
 7710    ):
 7711        self.bind_interface = bind_interface if bind_interface is not None else ''
 7712        '''
 7713         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 7714        '''
 7715        self.connector_id = connector_id if connector_id is not None else ''
 7716        '''
 7717         The connector ID to authenticate through.
 7718        '''
 7719        self.egress_filter = egress_filter if egress_filter is not None else ''
 7720        '''
 7721         A filter applied to the routing logic to pin datasource to nodes.
 7722        '''
 7723        self.healthy = healthy if healthy is not None else False
 7724        '''
 7725         True if the datasource is reachable and the credentials are valid.
 7726        '''
 7727        self.id = id if id is not None else ''
 7728        '''
 7729         Unique identifier of the Resource.
 7730        '''
 7731        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
 7732        '''
 7733         The ID of the identity set to use for identity connections.
 7734        '''
 7735        self.management_group_id = management_group_id if management_group_id is not None else ''
 7736        '''
 7737         The management group ID to authenticate scope Privileges to.
 7738        '''
 7739        self.name = name if name is not None else ''
 7740        '''
 7741         Unique human-readable name of the Resource.
 7742        '''
 7743        self.privilege_levels = privilege_levels if privilege_levels is not None else ''
 7744        '''
 7745         The privilege levels specify which Groups are managed externally
 7746        '''
 7747        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 7748        '''
 7749         ID of the proxy cluster for this resource, if any.
 7750        '''
 7751        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 7752        '''
 7753         ID of the secret store containing credentials for this resource, if any.
 7754        '''
 7755        self.subdomain = subdomain if subdomain is not None else ''
 7756        '''
 7757         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 7758        '''
 7759        self.subscription_id = subscription_id if subscription_id is not None else ''
 7760        '''
 7761         The subscription ID to authenticate scope Privileges to.
 7762        '''
 7763        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7764        '''
 7765         Tags is a map of key, value pairs.
 7766        '''
 7767
 7768    def __repr__(self):
 7769        return '<sdm.AzureConsole ' + \
 7770            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7771            'connector_id: ' + repr(self.connector_id) + ' ' +\
 7772            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7773            'healthy: ' + repr(self.healthy) + ' ' +\
 7774            'id: ' + repr(self.id) + ' ' +\
 7775            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
 7776            'management_group_id: ' + repr(self.management_group_id) + ' ' +\
 7777            'name: ' + repr(self.name) + ' ' +\
 7778            'privilege_levels: ' + repr(self.privilege_levels) + ' ' +\
 7779            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7780            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7781            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7782            'subscription_id: ' + repr(self.subscription_id) + ' ' +\
 7783            'tags: ' + repr(self.tags) + ' ' +\
 7784            '>'
 7785
 7786    def to_dict(self):
 7787        return {
 7788            'bind_interface': self.bind_interface,
 7789            'connector_id': self.connector_id,
 7790            'egress_filter': self.egress_filter,
 7791            'healthy': self.healthy,
 7792            'id': self.id,
 7793            'identity_set_id': self.identity_set_id,
 7794            'management_group_id': self.management_group_id,
 7795            'name': self.name,
 7796            'privilege_levels': self.privilege_levels,
 7797            'proxy_cluster_id': self.proxy_cluster_id,
 7798            'secret_store_id': self.secret_store_id,
 7799            'subdomain': self.subdomain,
 7800            'subscription_id': self.subscription_id,
 7801            'tags': self.tags,
 7802        }
 7803
 7804    @classmethod
 7805    def from_dict(cls, d):
 7806        return cls(
 7807            bind_interface=d.get('bind_interface'),
 7808            connector_id=d.get('connector_id'),
 7809            egress_filter=d.get('egress_filter'),
 7810            healthy=d.get('healthy'),
 7811            id=d.get('id'),
 7812            identity_set_id=d.get('identity_set_id'),
 7813            management_group_id=d.get('management_group_id'),
 7814            name=d.get('name'),
 7815            privilege_levels=d.get('privilege_levels'),
 7816            proxy_cluster_id=d.get('proxy_cluster_id'),
 7817            secret_store_id=d.get('secret_store_id'),
 7818            subdomain=d.get('subdomain'),
 7819            subscription_id=d.get('subscription_id'),
 7820            tags=d.get('tags'),
 7821        )
 7822
 7823
 7824class AzureMysql:
 7825    __slots__ = [
 7826        'bind_interface',
 7827        'database',
 7828        'egress_filter',
 7829        'healthy',
 7830        'hostname',
 7831        'id',
 7832        'name',
 7833        'password',
 7834        'port',
 7835        'port_override',
 7836        'proxy_cluster_id',
 7837        'require_native_auth',
 7838        'secret_store_id',
 7839        'subdomain',
 7840        'tags',
 7841        'use_azure_single_server_usernames',
 7842        'username',
 7843    ]
 7844
 7845    def __init__(
 7846        self,
 7847        bind_interface=None,
 7848        database=None,
 7849        egress_filter=None,
 7850        healthy=None,
 7851        hostname=None,
 7852        id=None,
 7853        name=None,
 7854        password=None,
 7855        port=None,
 7856        port_override=None,
 7857        proxy_cluster_id=None,
 7858        require_native_auth=None,
 7859        secret_store_id=None,
 7860        subdomain=None,
 7861        tags=None,
 7862        use_azure_single_server_usernames=None,
 7863        username=None,
 7864    ):
 7865        self.bind_interface = bind_interface if bind_interface is not None else ''
 7866        '''
 7867         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 7868        '''
 7869        self.database = database if database is not None else ''
 7870        '''
 7871         The database for healthchecks. Does not affect client requests.
 7872        '''
 7873        self.egress_filter = egress_filter if egress_filter is not None else ''
 7874        '''
 7875         A filter applied to the routing logic to pin datasource to nodes.
 7876        '''
 7877        self.healthy = healthy if healthy is not None else False
 7878        '''
 7879         True if the datasource is reachable and the credentials are valid.
 7880        '''
 7881        self.hostname = hostname if hostname is not None else ''
 7882        '''
 7883         The host to dial to initiate a connection from the egress node to this resource.
 7884        '''
 7885        self.id = id if id is not None else ''
 7886        '''
 7887         Unique identifier of the Resource.
 7888        '''
 7889        self.name = name if name is not None else ''
 7890        '''
 7891         Unique human-readable name of the Resource.
 7892        '''
 7893        self.password = password if password is not None else ''
 7894        '''
 7895         The password to authenticate with.
 7896        '''
 7897        self.port = port if port is not None else 0
 7898        '''
 7899         The port to dial to initiate a connection from the egress node to this resource.
 7900        '''
 7901        self.port_override = port_override if port_override is not None else 0
 7902        '''
 7903         The local port used by clients to connect to this resource.
 7904        '''
 7905        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 7906        '''
 7907         ID of the proxy cluster for this resource, if any.
 7908        '''
 7909        self.require_native_auth = require_native_auth if require_native_auth is not None else False
 7910        '''
 7911         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
 7912        '''
 7913        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 7914        '''
 7915         ID of the secret store containing credentials for this resource, if any.
 7916        '''
 7917        self.subdomain = subdomain if subdomain is not None else ''
 7918        '''
 7919         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 7920        '''
 7921        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7922        '''
 7923         Tags is a map of key, value pairs.
 7924        '''
 7925        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
 7926        '''
 7927         If true, appends the hostname to the username when hitting a database.azure.com address
 7928        '''
 7929        self.username = username if username is not None else ''
 7930        '''
 7931         The username to authenticate with.
 7932        '''
 7933
 7934    def __repr__(self):
 7935        return '<sdm.AzureMysql ' + \
 7936            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7937            'database: ' + repr(self.database) + ' ' +\
 7938            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7939            'healthy: ' + repr(self.healthy) + ' ' +\
 7940            'hostname: ' + repr(self.hostname) + ' ' +\
 7941            'id: ' + repr(self.id) + ' ' +\
 7942            'name: ' + repr(self.name) + ' ' +\
 7943            'password: ' + repr(self.password) + ' ' +\
 7944            'port: ' + repr(self.port) + ' ' +\
 7945            'port_override: ' + repr(self.port_override) + ' ' +\
 7946            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7947            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
 7948            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7949            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7950            'tags: ' + repr(self.tags) + ' ' +\
 7951            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
 7952            'username: ' + repr(self.username) + ' ' +\
 7953            '>'
 7954
 7955    def to_dict(self):
 7956        return {
 7957            'bind_interface': self.bind_interface,
 7958            'database': self.database,
 7959            'egress_filter': self.egress_filter,
 7960            'healthy': self.healthy,
 7961            'hostname': self.hostname,
 7962            'id': self.id,
 7963            'name': self.name,
 7964            'password': self.password,
 7965            'port': self.port,
 7966            'port_override': self.port_override,
 7967            'proxy_cluster_id': self.proxy_cluster_id,
 7968            'require_native_auth': self.require_native_auth,
 7969            'secret_store_id': self.secret_store_id,
 7970            'subdomain': self.subdomain,
 7971            'tags': self.tags,
 7972            'use_azure_single_server_usernames':
 7973            self.use_azure_single_server_usernames,
 7974            'username': self.username,
 7975        }
 7976
 7977    @classmethod
 7978    def from_dict(cls, d):
 7979        return cls(
 7980            bind_interface=d.get('bind_interface'),
 7981            database=d.get('database'),
 7982            egress_filter=d.get('egress_filter'),
 7983            healthy=d.get('healthy'),
 7984            hostname=d.get('hostname'),
 7985            id=d.get('id'),
 7986            name=d.get('name'),
 7987            password=d.get('password'),
 7988            port=d.get('port'),
 7989            port_override=d.get('port_override'),
 7990            proxy_cluster_id=d.get('proxy_cluster_id'),
 7991            require_native_auth=d.get('require_native_auth'),
 7992            secret_store_id=d.get('secret_store_id'),
 7993            subdomain=d.get('subdomain'),
 7994            tags=d.get('tags'),
 7995            use_azure_single_server_usernames=d.get(
 7996                'use_azure_single_server_usernames'),
 7997            username=d.get('username'),
 7998        )
 7999
 8000
 8001class AzurePostgres:
 8002    __slots__ = [
 8003        'bind_interface',
 8004        'database',
 8005        'egress_filter',
 8006        'healthy',
 8007        'hostname',
 8008        'id',
 8009        'name',
 8010        'override_database',
 8011        'password',
 8012        'port',
 8013        'port_override',
 8014        'proxy_cluster_id',
 8015        'secret_store_id',
 8016        'subdomain',
 8017        'tags',
 8018        'username',
 8019    ]
 8020
 8021    def __init__(
 8022        self,
 8023        bind_interface=None,
 8024        database=None,
 8025        egress_filter=None,
 8026        healthy=None,
 8027        hostname=None,
 8028        id=None,
 8029        name=None,
 8030        override_database=None,
 8031        password=None,
 8032        port=None,
 8033        port_override=None,
 8034        proxy_cluster_id=None,
 8035        secret_store_id=None,
 8036        subdomain=None,
 8037        tags=None,
 8038        username=None,
 8039    ):
 8040        self.bind_interface = bind_interface if bind_interface is not None else ''
 8041        '''
 8042         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 8043        '''
 8044        self.database = database if database is not None else ''
 8045        '''
 8046         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 8047        '''
 8048        self.egress_filter = egress_filter if egress_filter is not None else ''
 8049        '''
 8050         A filter applied to the routing logic to pin datasource to nodes.
 8051        '''
 8052        self.healthy = healthy if healthy is not None else False
 8053        '''
 8054         True if the datasource is reachable and the credentials are valid.
 8055        '''
 8056        self.hostname = hostname if hostname is not None else ''
 8057        '''
 8058         The host to dial to initiate a connection from the egress node to this resource.
 8059        '''
 8060        self.id = id if id is not None else ''
 8061        '''
 8062         Unique identifier of the Resource.
 8063        '''
 8064        self.name = name if name is not None else ''
 8065        '''
 8066         Unique human-readable name of the Resource.
 8067        '''
 8068        self.override_database = override_database if override_database is not None else False
 8069        '''
 8070         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
 8071        '''
 8072        self.password = password if password is not None else ''
 8073        '''
 8074         The password to authenticate with.
 8075        '''
 8076        self.port = port if port is not None else 0
 8077        '''
 8078         The port to dial to initiate a connection from the egress node to this resource.
 8079        '''
 8080        self.port_override = port_override if port_override is not None else 0
 8081        '''
 8082         The local port used by clients to connect to this resource.
 8083        '''
 8084        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8085        '''
 8086         ID of the proxy cluster for this resource, if any.
 8087        '''
 8088        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 8089        '''
 8090         ID of the secret store containing credentials for this resource, if any.
 8091        '''
 8092        self.subdomain = subdomain if subdomain is not None else ''
 8093        '''
 8094         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 8095        '''
 8096        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8097        '''
 8098         Tags is a map of key, value pairs.
 8099        '''
 8100        self.username = username if username is not None else ''
 8101        '''
 8102         The username to authenticate with. For Azure Postgres, this also will include the hostname of the target server for Azure Single Server compatibility. For Flexible servers, use the normal Postgres type.
 8103        '''
 8104
 8105    def __repr__(self):
 8106        return '<sdm.AzurePostgres ' + \
 8107            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 8108            'database: ' + repr(self.database) + ' ' +\
 8109            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 8110            'healthy: ' + repr(self.healthy) + ' ' +\
 8111            'hostname: ' + repr(self.hostname) + ' ' +\
 8112            'id: ' + repr(self.id) + ' ' +\
 8113            'name: ' + repr(self.name) + ' ' +\
 8114            'override_database: ' + repr(self.override_database) + ' ' +\
 8115            'password: ' + repr(self.password) + ' ' +\
 8116            'port: ' + repr(self.port) + ' ' +\
 8117            'port_override: ' + repr(self.port_override) + ' ' +\
 8118            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8119            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8120            'subdomain: ' + repr(self.subdomain) + ' ' +\
 8121            'tags: ' + repr(self.tags) + ' ' +\
 8122            'username: ' + repr(self.username) + ' ' +\
 8123            '>'
 8124
 8125    def to_dict(self):
 8126        return {
 8127            'bind_interface': self.bind_interface,
 8128            'database': self.database,
 8129            'egress_filter': self.egress_filter,
 8130            'healthy': self.healthy,
 8131            'hostname': self.hostname,
 8132            'id': self.id,
 8133            'name': self.name,
 8134            'override_database': self.override_database,
 8135            'password': self.password,
 8136            'port': self.port,
 8137            'port_override': self.port_override,
 8138            'proxy_cluster_id': self.proxy_cluster_id,
 8139            'secret_store_id': self.secret_store_id,
 8140            'subdomain': self.subdomain,
 8141            'tags': self.tags,
 8142            'username': self.username,
 8143        }
 8144
 8145    @classmethod
 8146    def from_dict(cls, d):
 8147        return cls(
 8148            bind_interface=d.get('bind_interface'),
 8149            database=d.get('database'),
 8150            egress_filter=d.get('egress_filter'),
 8151            healthy=d.get('healthy'),
 8152            hostname=d.get('hostname'),
 8153            id=d.get('id'),
 8154            name=d.get('name'),
 8155            override_database=d.get('override_database'),
 8156            password=d.get('password'),
 8157            port=d.get('port'),
 8158            port_override=d.get('port_override'),
 8159            proxy_cluster_id=d.get('proxy_cluster_id'),
 8160            secret_store_id=d.get('secret_store_id'),
 8161            subdomain=d.get('subdomain'),
 8162            tags=d.get('tags'),
 8163            username=d.get('username'),
 8164        )
 8165
 8166
 8167class AzurePostgresManagedIdentity:
 8168    __slots__ = [
 8169        'bind_interface',
 8170        'database',
 8171        'egress_filter',
 8172        'healthy',
 8173        'hostname',
 8174        'id',
 8175        'name',
 8176        'override_database',
 8177        'password',
 8178        'port',
 8179        'port_override',
 8180        'proxy_cluster_id',
 8181        'secret_store_id',
 8182        'subdomain',
 8183        'tags',
 8184        'use_azure_single_server_usernames',
 8185        'username',
 8186    ]
 8187
 8188    def __init__(
 8189        self,
 8190        bind_interface=None,
 8191        database=None,
 8192        egress_filter=None,
 8193        healthy=None,
 8194        hostname=None,
 8195        id=None,
 8196        name=None,
 8197        override_database=None,
 8198        password=None,
 8199        port=None,
 8200        port_override=None,
 8201        proxy_cluster_id=None,
 8202        secret_store_id=None,
 8203        subdomain=None,
 8204        tags=None,
 8205        use_azure_single_server_usernames=None,
 8206        username=None,
 8207    ):
 8208        self.bind_interface = bind_interface if bind_interface is not None else ''
 8209        '''
 8210         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 8211        '''
 8212        self.database = database if database is not None else ''
 8213        '''
 8214         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 8215        '''
 8216        self.egress_filter = egress_filter if egress_filter is not None else ''
 8217        '''
 8218         A filter applied to the routing logic to pin datasource to nodes.
 8219        '''
 8220        self.healthy = healthy if healthy is not None else False
 8221        '''
 8222         True if the datasource is reachable and the credentials are valid.
 8223        '''
 8224        self.hostname = hostname if hostname is not None else ''
 8225        '''
 8226         The host to dial to initiate a connection from the egress node to this resource.
 8227        '''
 8228        self.id = id if id is not None else ''
 8229        '''
 8230         Unique identifier of the Resource.
 8231        '''
 8232        self.name = name if name is not None else ''
 8233        '''
 8234         Unique human-readable name of the Resource.
 8235        '''
 8236        self.override_database = override_database if override_database is not None else False
 8237        '''
 8238         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
 8239        '''
 8240        self.password = password if password is not None else ''
 8241        '''
 8242         The password to authenticate with.
 8243        '''
 8244        self.port = port if port is not None else 0
 8245        '''
 8246         The port to dial to initiate a connection from the egress node to this resource.
 8247        '''
 8248        self.port_override = port_override if port_override is not None else 0
 8249        '''
 8250         The local port used by clients to connect to this resource.
 8251        '''
 8252        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8253        '''
 8254         ID of the proxy cluster for this resource, if any.
 8255        '''
 8256        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 8257        '''
 8258         ID of the secret store containing credentials for this resource, if any.
 8259        '''
 8260        self.subdomain = subdomain if subdomain is not None else ''
 8261        '''
 8262         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 8263        '''
 8264        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8265        '''
 8266         Tags is a map of key, value pairs.
 8267        '''
 8268        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
 8269        '''
 8270         If true, appends the hostname to the username when hitting a database.azure.com address
 8271        '''
 8272        self.username = username if username is not None else ''
 8273        '''
 8274         The username to authenticate with.
 8275        '''
 8276
 8277    def __repr__(self):
 8278        return '<sdm.AzurePostgresManagedIdentity ' + \
 8279            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 8280            'database: ' + repr(self.database) + ' ' +\
 8281            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 8282            'healthy: ' + repr(self.healthy) + ' ' +\
 8283            'hostname: ' + repr(self.hostname) + ' ' +\
 8284            'id: ' + repr(self.id) + ' ' +\
 8285            'name: ' + repr(self.name) + ' ' +\
 8286            'override_database: ' + repr(self.override_database) + ' ' +\
 8287            'password: ' + repr(self.password) + ' ' +\
 8288            'port: ' + repr(self.port) + ' ' +\
 8289            'port_override: ' + repr(self.port_override) + ' ' +\
 8290            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8291            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8292            'subdomain: ' + repr(self.subdomain) + ' ' +\
 8293            'tags: ' + repr(self.tags) + ' ' +\
 8294            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
 8295            'username: ' + repr(self.username) + ' ' +\
 8296            '>'
 8297
 8298    def to_dict(self):
 8299        return {
 8300            'bind_interface': self.bind_interface,
 8301            'database': self.database,
 8302            'egress_filter': self.egress_filter,
 8303            'healthy': self.healthy,
 8304            'hostname': self.hostname,
 8305            'id': self.id,
 8306            'name': self.name,
 8307            'override_database': self.override_database,
 8308            'password': self.password,
 8309            'port': self.port,
 8310            'port_override': self.port_override,
 8311            'proxy_cluster_id': self.proxy_cluster_id,
 8312            'secret_store_id': self.secret_store_id,
 8313            'subdomain': self.subdomain,
 8314            'tags': self.tags,
 8315            'use_azure_single_server_usernames':
 8316            self.use_azure_single_server_usernames,
 8317            'username': self.username,
 8318        }
 8319
 8320    @classmethod
 8321    def from_dict(cls, d):
 8322        return cls(
 8323            bind_interface=d.get('bind_interface'),
 8324            database=d.get('database'),
 8325            egress_filter=d.get('egress_filter'),
 8326            healthy=d.get('healthy'),
 8327            hostname=d.get('hostname'),
 8328            id=d.get('id'),
 8329            name=d.get('name'),
 8330            override_database=d.get('override_database'),
 8331            password=d.get('password'),
 8332            port=d.get('port'),
 8333            port_override=d.get('port_override'),
 8334            proxy_cluster_id=d.get('proxy_cluster_id'),
 8335            secret_store_id=d.get('secret_store_id'),
 8336            subdomain=d.get('subdomain'),
 8337            tags=d.get('tags'),
 8338            use_azure_single_server_usernames=d.get(
 8339                'use_azure_single_server_usernames'),
 8340            username=d.get('username'),
 8341        )
 8342
 8343
 8344class AzureStore:
 8345    __slots__ = [
 8346        'id',
 8347        'name',
 8348        'tags',
 8349        'vault_uri',
 8350    ]
 8351
 8352    def __init__(
 8353        self,
 8354        id=None,
 8355        name=None,
 8356        tags=None,
 8357        vault_uri=None,
 8358    ):
 8359        self.id = id if id is not None else ''
 8360        '''
 8361         Unique identifier of the SecretStore.
 8362        '''
 8363        self.name = name if name is not None else ''
 8364        '''
 8365         Unique human-readable name of the SecretStore.
 8366        '''
 8367        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8368        '''
 8369         Tags is a map of key, value pairs.
 8370        '''
 8371        self.vault_uri = vault_uri if vault_uri is not None else ''
 8372        '''
 8373         The URI of the key vault to target e.g. https://myvault.vault.azure.net
 8374        '''
 8375
 8376    def __repr__(self):
 8377        return '<sdm.AzureStore ' + \
 8378            'id: ' + repr(self.id) + ' ' +\
 8379            'name: ' + repr(self.name) + ' ' +\
 8380            'tags: ' + repr(self.tags) + ' ' +\
 8381            'vault_uri: ' + repr(self.vault_uri) + ' ' +\
 8382            '>'
 8383
 8384    def to_dict(self):
 8385        return {
 8386            'id': self.id,
 8387            'name': self.name,
 8388            'tags': self.tags,
 8389            'vault_uri': self.vault_uri,
 8390        }
 8391
 8392    @classmethod
 8393    def from_dict(cls, d):
 8394        return cls(
 8395            id=d.get('id'),
 8396            name=d.get('name'),
 8397            tags=d.get('tags'),
 8398            vault_uri=d.get('vault_uri'),
 8399        )
 8400
 8401
 8402class BigQuery:
 8403    __slots__ = [
 8404        'bind_interface',
 8405        'egress_filter',
 8406        'endpoint',
 8407        'healthy',
 8408        'id',
 8409        'name',
 8410        'port_override',
 8411        'private_key',
 8412        'project',
 8413        'proxy_cluster_id',
 8414        'secret_store_id',
 8415        'subdomain',
 8416        'tags',
 8417        'username',
 8418    ]
 8419
 8420    def __init__(
 8421        self,
 8422        bind_interface=None,
 8423        egress_filter=None,
 8424        endpoint=None,
 8425        healthy=None,
 8426        id=None,
 8427        name=None,
 8428        port_override=None,
 8429        private_key=None,
 8430        project=None,
 8431        proxy_cluster_id=None,
 8432        secret_store_id=None,
 8433        subdomain=None,
 8434        tags=None,
 8435        username=None,
 8436    ):
 8437        self.bind_interface = bind_interface if bind_interface is not None else ''
 8438        '''
 8439         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 8440        '''
 8441        self.egress_filter = egress_filter if egress_filter is not None else ''
 8442        '''
 8443         A filter applied to the routing logic to pin datasource to nodes.
 8444        '''
 8445        self.endpoint = endpoint if endpoint is not None else ''
 8446        '''
 8447         The endpoint to dial.
 8448        '''
 8449        self.healthy = healthy if healthy is not None else False
 8450        '''
 8451         True if the datasource is reachable and the credentials are valid.
 8452        '''
 8453        self.id = id if id is not None else ''
 8454        '''
 8455         Unique identifier of the Resource.
 8456        '''
 8457        self.name = name if name is not None else ''
 8458        '''
 8459         Unique human-readable name of the Resource.
 8460        '''
 8461        self.port_override = port_override if port_override is not None else 0
 8462        '''
 8463         The local port used by clients to connect to this resource.
 8464        '''
 8465        self.private_key = private_key if private_key is not None else ''
 8466        '''
 8467         The JSON Private key to authenticate with.
 8468        '''
 8469        self.project = project if project is not None else ''
 8470        '''
 8471         The project to connect to.
 8472        '''
 8473        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8474        '''
 8475         ID of the proxy cluster for this resource, if any.
 8476        '''
 8477        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 8478        '''
 8479         ID of the secret store containing credentials for this resource, if any.
 8480        '''
 8481        self.subdomain = subdomain if subdomain is not None else ''
 8482        '''
 8483         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 8484        '''
 8485        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8486        '''
 8487         Tags is a map of key, value pairs.
 8488        '''
 8489        self.username = username if username is not None else ''
 8490        '''
 8491         The username to authenticate with.
 8492        '''
 8493
 8494    def __repr__(self):
 8495        return '<sdm.BigQuery ' + \
 8496            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 8497            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 8498            'endpoint: ' + repr(self.endpoint) + ' ' +\
 8499            'healthy: ' + repr(self.healthy) + ' ' +\
 8500            'id: ' + repr(self.id) + ' ' +\
 8501            'name: ' + repr(self.name) + ' ' +\
 8502            'port_override: ' + repr(self.port_override) + ' ' +\
 8503            'private_key: ' + repr(self.private_key) + ' ' +\
 8504            'project: ' + repr(self.project) + ' ' +\
 8505            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8506            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8507            'subdomain: ' + repr(self.subdomain) + ' ' +\
 8508            'tags: ' + repr(self.tags) + ' ' +\
 8509            'username: ' + repr(self.username) + ' ' +\
 8510            '>'
 8511
 8512    def to_dict(self):
 8513        return {
 8514            'bind_interface': self.bind_interface,
 8515            'egress_filter': self.egress_filter,
 8516            'endpoint': self.endpoint,
 8517            'healthy': self.healthy,
 8518            'id': self.id,
 8519            'name': self.name,
 8520            'port_override': self.port_override,
 8521            'private_key': self.private_key,
 8522            'project': self.project,
 8523            'proxy_cluster_id': self.proxy_cluster_id,
 8524            'secret_store_id': self.secret_store_id,
 8525            'subdomain': self.subdomain,
 8526            'tags': self.tags,
 8527            'username': self.username,
 8528        }
 8529
 8530    @classmethod
 8531    def from_dict(cls, d):
 8532        return cls(
 8533            bind_interface=d.get('bind_interface'),
 8534            egress_filter=d.get('egress_filter'),
 8535            endpoint=d.get('endpoint'),
 8536            healthy=d.get('healthy'),
 8537            id=d.get('id'),
 8538            name=d.get('name'),
 8539            port_override=d.get('port_override'),
 8540            private_key=d.get('private_key'),
 8541            project=d.get('project'),
 8542            proxy_cluster_id=d.get('proxy_cluster_id'),
 8543            secret_store_id=d.get('secret_store_id'),
 8544            subdomain=d.get('subdomain'),
 8545            tags=d.get('tags'),
 8546            username=d.get('username'),
 8547        )
 8548
 8549
 8550class Cassandra:
 8551    __slots__ = [
 8552        'bind_interface',
 8553        'egress_filter',
 8554        'healthy',
 8555        'hostname',
 8556        'id',
 8557        'name',
 8558        'password',
 8559        'port',
 8560        'port_override',
 8561        'proxy_cluster_id',
 8562        'secret_store_id',
 8563        'subdomain',
 8564        'tags',
 8565        'tls_required',
 8566        'username',
 8567    ]
 8568
 8569    def __init__(
 8570        self,
 8571        bind_interface=None,
 8572        egress_filter=None,
 8573        healthy=None,
 8574        hostname=None,
 8575        id=None,
 8576        name=None,
 8577        password=None,
 8578        port=None,
 8579        port_override=None,
 8580        proxy_cluster_id=None,
 8581        secret_store_id=None,
 8582        subdomain=None,
 8583        tags=None,
 8584        tls_required=None,
 8585        username=None,
 8586    ):
 8587        self.bind_interface = bind_interface if bind_interface is not None else ''
 8588        '''
 8589         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 8590        '''
 8591        self.egress_filter = egress_filter if egress_filter is not None else ''
 8592        '''
 8593         A filter applied to the routing logic to pin datasource to nodes.
 8594        '''
 8595        self.healthy = healthy if healthy is not None else False
 8596        '''
 8597         True if the datasource is reachable and the credentials are valid.
 8598        '''
 8599        self.hostname = hostname if hostname is not None else ''
 8600        '''
 8601         The host to dial to initiate a connection from the egress node to this resource.
 8602        '''
 8603        self.id = id if id is not None else ''
 8604        '''
 8605         Unique identifier of the Resource.
 8606        '''
 8607        self.name = name if name is not None else ''
 8608        '''
 8609         Unique human-readable name of the Resource.
 8610        '''
 8611        self.password = password if password is not None else ''
 8612        '''
 8613         The password to authenticate with.
 8614        '''
 8615        self.port = port if port is not None else 0
 8616        '''
 8617         The port to dial to initiate a connection from the egress node to this resource.
 8618        '''
 8619        self.port_override = port_override if port_override is not None else 0
 8620        '''
 8621         The local port used by clients to connect to this resource.
 8622        '''
 8623        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8624        '''
 8625         ID of the proxy cluster for this resource, if any.
 8626        '''
 8627        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 8628        '''
 8629         ID of the secret store containing credentials for this resource, if any.
 8630        '''
 8631        self.subdomain = subdomain if subdomain is not None else ''
 8632        '''
 8633         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 8634        '''
 8635        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8636        '''
 8637         Tags is a map of key, value pairs.
 8638        '''
 8639        self.tls_required = tls_required if tls_required is not None else False
 8640        '''
 8641         If set, TLS must be used to connect to this resource.
 8642        '''
 8643        self.username = username if username is not None else ''
 8644        '''
 8645         The username to authenticate with.
 8646        '''
 8647
 8648    def __repr__(self):
 8649        return '<sdm.Cassandra ' + \
 8650            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 8651            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 8652            'healthy: ' + repr(self.healthy) + ' ' +\
 8653            'hostname: ' + repr(self.hostname) + ' ' +\
 8654            'id: ' + repr(self.id) + ' ' +\
 8655            'name: ' + repr(self.name) + ' ' +\
 8656            'password: ' + repr(self.password) + ' ' +\
 8657            'port: ' + repr(self.port) + ' ' +\
 8658            'port_override: ' + repr(self.port_override) + ' ' +\
 8659            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8660            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8661            'subdomain: ' + repr(self.subdomain) + ' ' +\
 8662            'tags: ' + repr(self.tags) + ' ' +\
 8663            'tls_required: ' + repr(self.tls_required) + ' ' +\
 8664            'username: ' + repr(self.username) + ' ' +\
 8665            '>'
 8666
 8667    def to_dict(self):
 8668        return {
 8669            'bind_interface': self.bind_interface,
 8670            'egress_filter': self.egress_filter,
 8671            'healthy': self.healthy,
 8672            'hostname': self.hostname,
 8673            'id': self.id,
 8674            'name': self.name,
 8675            'password': self.password,
 8676            'port': self.port,
 8677            'port_override': self.port_override,
 8678            'proxy_cluster_id': self.proxy_cluster_id,
 8679            'secret_store_id': self.secret_store_id,
 8680            'subdomain': self.subdomain,
 8681            'tags': self.tags,
 8682            'tls_required': self.tls_required,
 8683            'username': self.username,
 8684        }
 8685
 8686    @classmethod
 8687    def from_dict(cls, d):
 8688        return cls(
 8689            bind_interface=d.get('bind_interface'),
 8690            egress_filter=d.get('egress_filter'),
 8691            healthy=d.get('healthy'),
 8692            hostname=d.get('hostname'),
 8693            id=d.get('id'),
 8694            name=d.get('name'),
 8695            password=d.get('password'),
 8696            port=d.get('port'),
 8697            port_override=d.get('port_override'),
 8698            proxy_cluster_id=d.get('proxy_cluster_id'),
 8699            secret_store_id=d.get('secret_store_id'),
 8700            subdomain=d.get('subdomain'),
 8701            tags=d.get('tags'),
 8702            tls_required=d.get('tls_required'),
 8703            username=d.get('username'),
 8704        )
 8705
 8706
 8707class Citus:
 8708    __slots__ = [
 8709        'bind_interface',
 8710        'database',
 8711        'egress_filter',
 8712        'healthy',
 8713        'hostname',
 8714        'id',
 8715        'name',
 8716        'override_database',
 8717        'password',
 8718        'port',
 8719        'port_override',
 8720        'proxy_cluster_id',
 8721        'secret_store_id',
 8722        'subdomain',
 8723        'tags',
 8724        'username',
 8725    ]
 8726
 8727    def __init__(
 8728        self,
 8729        bind_interface=None,
 8730        database=None,
 8731        egress_filter=None,
 8732        healthy=None,
 8733        hostname=None,
 8734        id=None,
 8735        name=None,
 8736        override_database=None,
 8737        password=None,
 8738        port=None,
 8739        port_override=None,
 8740        proxy_cluster_id=None,
 8741        secret_store_id=None,
 8742        subdomain=None,
 8743        tags=None,
 8744        username=None,
 8745    ):
 8746        self.bind_interface = bind_interface if bind_interface is not None else ''
 8747        '''
 8748         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 8749        '''
 8750        self.database = database if database is not None else ''
 8751        '''
 8752         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 8753        '''
 8754        self.egress_filter = egress_filter if egress_filter is not None else ''
 8755        '''
 8756         A filter applied to the routing logic to pin datasource to nodes.
 8757        '''
 8758        self.healthy = healthy if healthy is not None else False
 8759        '''
 8760         True if the datasource is reachable and the credentials are valid.
 8761        '''
 8762        self.hostname = hostname if hostname is not None else ''
 8763        '''
 8764         The host to dial to initiate a connection from the egress node to this resource.
 8765        '''
 8766        self.id = id if id is not None else ''
 8767        '''
 8768         Unique identifier of the Resource.
 8769        '''
 8770        self.name = name if name is not None else ''
 8771        '''
 8772         Unique human-readable name of the Resource.
 8773        '''
 8774        self.override_database = override_database if override_database is not None else False
 8775        '''
 8776         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
 8777        '''
 8778        self.password = password if password is not None else ''
 8779        '''
 8780         The password to authenticate with.
 8781        '''
 8782        self.port = port if port is not None else 0
 8783        '''
 8784         The port to dial to initiate a connection from the egress node to this resource.
 8785        '''
 8786        self.port_override = port_override if port_override is not None else 0
 8787        '''
 8788         The local port used by clients to connect to this resource.
 8789        '''
 8790        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8791        '''
 8792         ID of the proxy cluster for this resource, if any.
 8793        '''
 8794        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 8795        '''
 8796         ID of the secret store containing credentials for this resource, if any.
 8797        '''
 8798        self.subdomain = subdomain if subdomain is not None else ''
 8799        '''
 8800         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 8801        '''
 8802        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8803        '''
 8804         Tags is a map of key, value pairs.
 8805        '''
 8806        self.username = username if username is not None else ''
 8807        '''
 8808         The username to authenticate with.
 8809        '''
 8810
 8811    def __repr__(self):
 8812        return '<sdm.Citus ' + \
 8813            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 8814            'database: ' + repr(self.database) + ' ' +\
 8815            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 8816            'healthy: ' + repr(self.healthy) + ' ' +\
 8817            'hostname: ' + repr(self.hostname) + ' ' +\
 8818            'id: ' + repr(self.id) + ' ' +\
 8819            'name: ' + repr(self.name) + ' ' +\
 8820            'override_database: ' + repr(self.override_database) + ' ' +\
 8821            'password: ' + repr(self.password) + ' ' +\
 8822            'port: ' + repr(self.port) + ' ' +\
 8823            'port_override: ' + repr(self.port_override) + ' ' +\
 8824            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8825            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8826            'subdomain: ' + repr(self.subdomain) + ' ' +\
 8827            'tags: ' + repr(self.tags) + ' ' +\
 8828            'username: ' + repr(self.username) + ' ' +\
 8829            '>'
 8830
 8831    def to_dict(self):
 8832        return {
 8833            'bind_interface': self.bind_interface,
 8834            'database': self.database,
 8835            'egress_filter': self.egress_filter,
 8836            'healthy': self.healthy,
 8837            'hostname': self.hostname,
 8838            'id': self.id,
 8839            'name': self.name,
 8840            'override_database': self.override_database,
 8841            'password': self.password,
 8842            'port': self.port,
 8843            'port_override': self.port_override,
 8844            'proxy_cluster_id': self.proxy_cluster_id,
 8845            'secret_store_id': self.secret_store_id,
 8846            'subdomain': self.subdomain,
 8847            'tags': self.tags,
 8848            'username': self.username,
 8849        }
 8850
 8851    @classmethod
 8852    def from_dict(cls, d):
 8853        return cls(
 8854            bind_interface=d.get('bind_interface'),
 8855            database=d.get('database'),
 8856            egress_filter=d.get('egress_filter'),
 8857            healthy=d.get('healthy'),
 8858            hostname=d.get('hostname'),
 8859            id=d.get('id'),
 8860            name=d.get('name'),
 8861            override_database=d.get('override_database'),
 8862            password=d.get('password'),
 8863            port=d.get('port'),
 8864            port_override=d.get('port_override'),
 8865            proxy_cluster_id=d.get('proxy_cluster_id'),
 8866            secret_store_id=d.get('secret_store_id'),
 8867            subdomain=d.get('subdomain'),
 8868            tags=d.get('tags'),
 8869            username=d.get('username'),
 8870        )
 8871
 8872
 8873class ClickHouseHTTP:
 8874    __slots__ = [
 8875        'bind_interface',
 8876        'database',
 8877        'egress_filter',
 8878        'healthy',
 8879        'id',
 8880        'name',
 8881        'password',
 8882        'port_override',
 8883        'proxy_cluster_id',
 8884        'secret_store_id',
 8885        'tags',
 8886        'url',
 8887        'username',
 8888    ]
 8889
 8890    def __init__(
 8891        self,
 8892        bind_interface=None,
 8893        database=None,
 8894        egress_filter=None,
 8895        healthy=None,
 8896        id=None,
 8897        name=None,
 8898        password=None,
 8899        port_override=None,
 8900        proxy_cluster_id=None,
 8901        secret_store_id=None,
 8902        tags=None,
 8903        url=None,
 8904        username=None,
 8905    ):
 8906        self.bind_interface = bind_interface if bind_interface is not None else ''
 8907        '''
 8908         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 8909        '''
 8910        self.database = database if database is not None else ''
 8911        '''
 8912         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 8913        '''
 8914        self.egress_filter = egress_filter if egress_filter is not None else ''
 8915        '''
 8916         A filter applied to the routing logic to pin datasource to nodes.
 8917        '''
 8918        self.healthy = healthy if healthy is not None else False
 8919        '''
 8920         True if the datasource is reachable and the credentials are valid.
 8921        '''
 8922        self.id = id if id is not None else ''
 8923        '''
 8924         Unique identifier of the Resource.
 8925        '''
 8926        self.name = name if name is not None else ''
 8927        '''
 8928         Unique human-readable name of the Resource.
 8929        '''
 8930        self.password = password if password is not None else ''
 8931        '''
 8932         The password to authenticate with.
 8933        '''
 8934        self.port_override = port_override if port_override is not None else 0
 8935        '''
 8936         The local port used by clients to connect to this resource.
 8937        '''
 8938        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8939        '''
 8940         ID of the proxy cluster for this resource, if any.
 8941        '''
 8942        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 8943        '''
 8944         ID of the secret store containing credentials for this resource, if any.
 8945        '''
 8946        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8947        '''
 8948         Tags is a map of key, value pairs.
 8949        '''
 8950        self.url = url if url is not None else ''
 8951        '''
 8952         The URL to dial to initiate a connection from the egress node to this resource.
 8953        '''
 8954        self.username = username if username is not None else ''
 8955        '''
 8956         The username to authenticate with.
 8957        '''
 8958
 8959    def __repr__(self):
 8960        return '<sdm.ClickHouseHTTP ' + \
 8961            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 8962            'database: ' + repr(self.database) + ' ' +\
 8963            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 8964            'healthy: ' + repr(self.healthy) + ' ' +\
 8965            'id: ' + repr(self.id) + ' ' +\
 8966            'name: ' + repr(self.name) + ' ' +\
 8967            'password: ' + repr(self.password) + ' ' +\
 8968            'port_override: ' + repr(self.port_override) + ' ' +\
 8969            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8970            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8971            'tags: ' + repr(self.tags) + ' ' +\
 8972            'url: ' + repr(self.url) + ' ' +\
 8973            'username: ' + repr(self.username) + ' ' +\
 8974            '>'
 8975
 8976    def to_dict(self):
 8977        return {
 8978            'bind_interface': self.bind_interface,
 8979            'database': self.database,
 8980            'egress_filter': self.egress_filter,
 8981            'healthy': self.healthy,
 8982            'id': self.id,
 8983            'name': self.name,
 8984            'password': self.password,
 8985            'port_override': self.port_override,
 8986            'proxy_cluster_id': self.proxy_cluster_id,
 8987            'secret_store_id': self.secret_store_id,
 8988            'tags': self.tags,
 8989            'url': self.url,
 8990            'username': self.username,
 8991        }
 8992
 8993    @classmethod
 8994    def from_dict(cls, d):
 8995        return cls(
 8996            bind_interface=d.get('bind_interface'),
 8997            database=d.get('database'),
 8998            egress_filter=d.get('egress_filter'),
 8999            healthy=d.get('healthy'),
 9000            id=d.get('id'),
 9001            name=d.get('name'),
 9002            password=d.get('password'),
 9003            port_override=d.get('port_override'),
 9004            proxy_cluster_id=d.get('proxy_cluster_id'),
 9005            secret_store_id=d.get('secret_store_id'),
 9006            tags=d.get('tags'),
 9007            url=d.get('url'),
 9008            username=d.get('username'),
 9009        )
 9010
 9011
 9012class ClickHouseMySQL:
 9013    __slots__ = [
 9014        'bind_interface',
 9015        'database',
 9016        'egress_filter',
 9017        'healthy',
 9018        'hostname',
 9019        'id',
 9020        'name',
 9021        'password',
 9022        'port',
 9023        'port_override',
 9024        'proxy_cluster_id',
 9025        'require_native_auth',
 9026        'secret_store_id',
 9027        'subdomain',
 9028        'tags',
 9029        'username',
 9030    ]
 9031
 9032    def __init__(
 9033        self,
 9034        bind_interface=None,
 9035        database=None,
 9036        egress_filter=None,
 9037        healthy=None,
 9038        hostname=None,
 9039        id=None,
 9040        name=None,
 9041        password=None,
 9042        port=None,
 9043        port_override=None,
 9044        proxy_cluster_id=None,
 9045        require_native_auth=None,
 9046        secret_store_id=None,
 9047        subdomain=None,
 9048        tags=None,
 9049        username=None,
 9050    ):
 9051        self.bind_interface = bind_interface if bind_interface is not None else ''
 9052        '''
 9053         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 9054        '''
 9055        self.database = database if database is not None else ''
 9056        '''
 9057         The database for healthchecks. Does not affect client requests.
 9058        '''
 9059        self.egress_filter = egress_filter if egress_filter is not None else ''
 9060        '''
 9061         A filter applied to the routing logic to pin datasource to nodes.
 9062        '''
 9063        self.healthy = healthy if healthy is not None else False
 9064        '''
 9065         True if the datasource is reachable and the credentials are valid.
 9066        '''
 9067        self.hostname = hostname if hostname is not None else ''
 9068        '''
 9069         The host to dial to initiate a connection from the egress node to this resource.
 9070        '''
 9071        self.id = id if id is not None else ''
 9072        '''
 9073         Unique identifier of the Resource.
 9074        '''
 9075        self.name = name if name is not None else ''
 9076        '''
 9077         Unique human-readable name of the Resource.
 9078        '''
 9079        self.password = password if password is not None else ''
 9080        '''
 9081         The password to authenticate with.
 9082        '''
 9083        self.port = port if port is not None else 0
 9084        '''
 9085         The port to dial to initiate a connection from the egress node to this resource.
 9086        '''
 9087        self.port_override = port_override if port_override is not None else 0
 9088        '''
 9089         The local port used by clients to connect to this resource.
 9090        '''
 9091        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9092        '''
 9093         ID of the proxy cluster for this resource, if any.
 9094        '''
 9095        self.require_native_auth = require_native_auth if require_native_auth is not None else False
 9096        '''
 9097         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
 9098        '''
 9099        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9100        '''
 9101         ID of the secret store containing credentials for this resource, if any.
 9102        '''
 9103        self.subdomain = subdomain if subdomain is not None else ''
 9104        '''
 9105         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 9106        '''
 9107        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9108        '''
 9109         Tags is a map of key, value pairs.
 9110        '''
 9111        self.username = username if username is not None else ''
 9112        '''
 9113         The username to authenticate with.
 9114        '''
 9115
 9116    def __repr__(self):
 9117        return '<sdm.ClickHouseMySQL ' + \
 9118            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 9119            'database: ' + repr(self.database) + ' ' +\
 9120            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 9121            'healthy: ' + repr(self.healthy) + ' ' +\
 9122            'hostname: ' + repr(self.hostname) + ' ' +\
 9123            'id: ' + repr(self.id) + ' ' +\
 9124            'name: ' + repr(self.name) + ' ' +\
 9125            'password: ' + repr(self.password) + ' ' +\
 9126            'port: ' + repr(self.port) + ' ' +\
 9127            'port_override: ' + repr(self.port_override) + ' ' +\
 9128            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 9129            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
 9130            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 9131            'subdomain: ' + repr(self.subdomain) + ' ' +\
 9132            'tags: ' + repr(self.tags) + ' ' +\
 9133            'username: ' + repr(self.username) + ' ' +\
 9134            '>'
 9135
 9136    def to_dict(self):
 9137        return {
 9138            'bind_interface': self.bind_interface,
 9139            'database': self.database,
 9140            'egress_filter': self.egress_filter,
 9141            'healthy': self.healthy,
 9142            'hostname': self.hostname,
 9143            'id': self.id,
 9144            'name': self.name,
 9145            'password': self.password,
 9146            'port': self.port,
 9147            'port_override': self.port_override,
 9148            'proxy_cluster_id': self.proxy_cluster_id,
 9149            'require_native_auth': self.require_native_auth,
 9150            'secret_store_id': self.secret_store_id,
 9151            'subdomain': self.subdomain,
 9152            'tags': self.tags,
 9153            'username': self.username,
 9154        }
 9155
 9156    @classmethod
 9157    def from_dict(cls, d):
 9158        return cls(
 9159            bind_interface=d.get('bind_interface'),
 9160            database=d.get('database'),
 9161            egress_filter=d.get('egress_filter'),
 9162            healthy=d.get('healthy'),
 9163            hostname=d.get('hostname'),
 9164            id=d.get('id'),
 9165            name=d.get('name'),
 9166            password=d.get('password'),
 9167            port=d.get('port'),
 9168            port_override=d.get('port_override'),
 9169            proxy_cluster_id=d.get('proxy_cluster_id'),
 9170            require_native_auth=d.get('require_native_auth'),
 9171            secret_store_id=d.get('secret_store_id'),
 9172            subdomain=d.get('subdomain'),
 9173            tags=d.get('tags'),
 9174            username=d.get('username'),
 9175        )
 9176
 9177
 9178class ClickHouseTCP:
 9179    __slots__ = [
 9180        'bind_interface',
 9181        'database',
 9182        'egress_filter',
 9183        'healthy',
 9184        'hostname',
 9185        'id',
 9186        'name',
 9187        'password',
 9188        'port',
 9189        'port_override',
 9190        'proxy_cluster_id',
 9191        'secret_store_id',
 9192        'subdomain',
 9193        'tags',
 9194        'tls_required',
 9195        'username',
 9196    ]
 9197
 9198    def __init__(
 9199        self,
 9200        bind_interface=None,
 9201        database=None,
 9202        egress_filter=None,
 9203        healthy=None,
 9204        hostname=None,
 9205        id=None,
 9206        name=None,
 9207        password=None,
 9208        port=None,
 9209        port_override=None,
 9210        proxy_cluster_id=None,
 9211        secret_store_id=None,
 9212        subdomain=None,
 9213        tags=None,
 9214        tls_required=None,
 9215        username=None,
 9216    ):
 9217        self.bind_interface = bind_interface if bind_interface is not None else ''
 9218        '''
 9219         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 9220        '''
 9221        self.database = database if database is not None else ''
 9222        '''
 9223         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 9224        '''
 9225        self.egress_filter = egress_filter if egress_filter is not None else ''
 9226        '''
 9227         A filter applied to the routing logic to pin datasource to nodes.
 9228        '''
 9229        self.healthy = healthy if healthy is not None else False
 9230        '''
 9231         True if the datasource is reachable and the credentials are valid.
 9232        '''
 9233        self.hostname = hostname if hostname is not None else ''
 9234        '''
 9235         The host to dial to initiate a connection from the egress node to this resource.
 9236        '''
 9237        self.id = id if id is not None else ''
 9238        '''
 9239         Unique identifier of the Resource.
 9240        '''
 9241        self.name = name if name is not None else ''
 9242        '''
 9243         Unique human-readable name of the Resource.
 9244        '''
 9245        self.password = password if password is not None else ''
 9246        '''
 9247         The password to authenticate with.
 9248        '''
 9249        self.port = port if port is not None else 0
 9250        '''
 9251         The port to dial to initiate a connection from the egress node to this resource.
 9252        '''
 9253        self.port_override = port_override if port_override is not None else 0
 9254        '''
 9255         The local port used by clients to connect to this resource.
 9256        '''
 9257        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9258        '''
 9259         ID of the proxy cluster for this resource, if any.
 9260        '''
 9261        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9262        '''
 9263         ID of the secret store containing credentials for this resource, if any.
 9264        '''
 9265        self.subdomain = subdomain if subdomain is not None else ''
 9266        '''
 9267         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 9268        '''
 9269        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9270        '''
 9271         Tags is a map of key, value pairs.
 9272        '''
 9273        self.tls_required = tls_required if tls_required is not None else False
 9274        '''
 9275         If set, TLS must be used to connect to this resource.
 9276        '''
 9277        self.username = username if username is not None else ''
 9278        '''
 9279         The username to authenticate with.
 9280        '''
 9281
 9282    def __repr__(self):
 9283        return '<sdm.ClickHouseTCP ' + \
 9284            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 9285            'database: ' + repr(self.database) + ' ' +\
 9286            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 9287            'healthy: ' + repr(self.healthy) + ' ' +\
 9288            'hostname: ' + repr(self.hostname) + ' ' +\
 9289            'id: ' + repr(self.id) + ' ' +\
 9290            'name: ' + repr(self.name) + ' ' +\
 9291            'password: ' + repr(self.password) + ' ' +\
 9292            'port: ' + repr(self.port) + ' ' +\
 9293            'port_override: ' + repr(self.port_override) + ' ' +\
 9294            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 9295            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 9296            'subdomain: ' + repr(self.subdomain) + ' ' +\
 9297            'tags: ' + repr(self.tags) + ' ' +\
 9298            'tls_required: ' + repr(self.tls_required) + ' ' +\
 9299            'username: ' + repr(self.username) + ' ' +\
 9300            '>'
 9301
 9302    def to_dict(self):
 9303        return {
 9304            'bind_interface': self.bind_interface,
 9305            'database': self.database,
 9306            'egress_filter': self.egress_filter,
 9307            'healthy': self.healthy,
 9308            'hostname': self.hostname,
 9309            'id': self.id,
 9310            'name': self.name,
 9311            'password': self.password,
 9312            'port': self.port,
 9313            'port_override': self.port_override,
 9314            'proxy_cluster_id': self.proxy_cluster_id,
 9315            'secret_store_id': self.secret_store_id,
 9316            'subdomain': self.subdomain,
 9317            'tags': self.tags,
 9318            'tls_required': self.tls_required,
 9319            'username': self.username,
 9320        }
 9321
 9322    @classmethod
 9323    def from_dict(cls, d):
 9324        return cls(
 9325            bind_interface=d.get('bind_interface'),
 9326            database=d.get('database'),
 9327            egress_filter=d.get('egress_filter'),
 9328            healthy=d.get('healthy'),
 9329            hostname=d.get('hostname'),
 9330            id=d.get('id'),
 9331            name=d.get('name'),
 9332            password=d.get('password'),
 9333            port=d.get('port'),
 9334            port_override=d.get('port_override'),
 9335            proxy_cluster_id=d.get('proxy_cluster_id'),
 9336            secret_store_id=d.get('secret_store_id'),
 9337            subdomain=d.get('subdomain'),
 9338            tags=d.get('tags'),
 9339            tls_required=d.get('tls_required'),
 9340            username=d.get('username'),
 9341        )
 9342
 9343
 9344class Clustrix:
 9345    __slots__ = [
 9346        'bind_interface',
 9347        'database',
 9348        'egress_filter',
 9349        'healthy',
 9350        'hostname',
 9351        'id',
 9352        'name',
 9353        'password',
 9354        'port',
 9355        'port_override',
 9356        'proxy_cluster_id',
 9357        'require_native_auth',
 9358        'secret_store_id',
 9359        'subdomain',
 9360        'tags',
 9361        'use_azure_single_server_usernames',
 9362        'username',
 9363    ]
 9364
 9365    def __init__(
 9366        self,
 9367        bind_interface=None,
 9368        database=None,
 9369        egress_filter=None,
 9370        healthy=None,
 9371        hostname=None,
 9372        id=None,
 9373        name=None,
 9374        password=None,
 9375        port=None,
 9376        port_override=None,
 9377        proxy_cluster_id=None,
 9378        require_native_auth=None,
 9379        secret_store_id=None,
 9380        subdomain=None,
 9381        tags=None,
 9382        use_azure_single_server_usernames=None,
 9383        username=None,
 9384    ):
 9385        self.bind_interface = bind_interface if bind_interface is not None else ''
 9386        '''
 9387         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 9388        '''
 9389        self.database = database if database is not None else ''
 9390        '''
 9391         The database for healthchecks. Does not affect client requests.
 9392        '''
 9393        self.egress_filter = egress_filter if egress_filter is not None else ''
 9394        '''
 9395         A filter applied to the routing logic to pin datasource to nodes.
 9396        '''
 9397        self.healthy = healthy if healthy is not None else False
 9398        '''
 9399         True if the datasource is reachable and the credentials are valid.
 9400        '''
 9401        self.hostname = hostname if hostname is not None else ''
 9402        '''
 9403         The host to dial to initiate a connection from the egress node to this resource.
 9404        '''
 9405        self.id = id if id is not None else ''
 9406        '''
 9407         Unique identifier of the Resource.
 9408        '''
 9409        self.name = name if name is not None else ''
 9410        '''
 9411         Unique human-readable name of the Resource.
 9412        '''
 9413        self.password = password if password is not None else ''
 9414        '''
 9415         The password to authenticate with.
 9416        '''
 9417        self.port = port if port is not None else 0
 9418        '''
 9419         The port to dial to initiate a connection from the egress node to this resource.
 9420        '''
 9421        self.port_override = port_override if port_override is not None else 0
 9422        '''
 9423         The local port used by clients to connect to this resource.
 9424        '''
 9425        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9426        '''
 9427         ID of the proxy cluster for this resource, if any.
 9428        '''
 9429        self.require_native_auth = require_native_auth if require_native_auth is not None else False
 9430        '''
 9431         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
 9432        '''
 9433        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9434        '''
 9435         ID of the secret store containing credentials for this resource, if any.
 9436        '''
 9437        self.subdomain = subdomain if subdomain is not None else ''
 9438        '''
 9439         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 9440        '''
 9441        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9442        '''
 9443         Tags is a map of key, value pairs.
 9444        '''
 9445        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
 9446        '''
 9447         If true, appends the hostname to the username when hitting a database.azure.com address
 9448        '''
 9449        self.username = username if username is not None else ''
 9450        '''
 9451         The username to authenticate with.
 9452        '''
 9453
 9454    def __repr__(self):
 9455        return '<sdm.Clustrix ' + \
 9456            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 9457            'database: ' + repr(self.database) + ' ' +\
 9458            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 9459            'healthy: ' + repr(self.healthy) + ' ' +\
 9460            'hostname: ' + repr(self.hostname) + ' ' +\
 9461            'id: ' + repr(self.id) + ' ' +\
 9462            'name: ' + repr(self.name) + ' ' +\
 9463            'password: ' + repr(self.password) + ' ' +\
 9464            'port: ' + repr(self.port) + ' ' +\
 9465            'port_override: ' + repr(self.port_override) + ' ' +\
 9466            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 9467            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
 9468            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 9469            'subdomain: ' + repr(self.subdomain) + ' ' +\
 9470            'tags: ' + repr(self.tags) + ' ' +\
 9471            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
 9472            'username: ' + repr(self.username) + ' ' +\
 9473            '>'
 9474
 9475    def to_dict(self):
 9476        return {
 9477            'bind_interface': self.bind_interface,
 9478            'database': self.database,
 9479            'egress_filter': self.egress_filter,
 9480            'healthy': self.healthy,
 9481            'hostname': self.hostname,
 9482            'id': self.id,
 9483            'name': self.name,
 9484            'password': self.password,
 9485            'port': self.port,
 9486            'port_override': self.port_override,
 9487            'proxy_cluster_id': self.proxy_cluster_id,
 9488            'require_native_auth': self.require_native_auth,
 9489            'secret_store_id': self.secret_store_id,
 9490            'subdomain': self.subdomain,
 9491            'tags': self.tags,
 9492            'use_azure_single_server_usernames':
 9493            self.use_azure_single_server_usernames,
 9494            'username': self.username,
 9495        }
 9496
 9497    @classmethod
 9498    def from_dict(cls, d):
 9499        return cls(
 9500            bind_interface=d.get('bind_interface'),
 9501            database=d.get('database'),
 9502            egress_filter=d.get('egress_filter'),
 9503            healthy=d.get('healthy'),
 9504            hostname=d.get('hostname'),
 9505            id=d.get('id'),
 9506            name=d.get('name'),
 9507            password=d.get('password'),
 9508            port=d.get('port'),
 9509            port_override=d.get('port_override'),
 9510            proxy_cluster_id=d.get('proxy_cluster_id'),
 9511            require_native_auth=d.get('require_native_auth'),
 9512            secret_store_id=d.get('secret_store_id'),
 9513            subdomain=d.get('subdomain'),
 9514            tags=d.get('tags'),
 9515            use_azure_single_server_usernames=d.get(
 9516                'use_azure_single_server_usernames'),
 9517            username=d.get('username'),
 9518        )
 9519
 9520
 9521class Cockroach:
 9522    __slots__ = [
 9523        'bind_interface',
 9524        'database',
 9525        'egress_filter',
 9526        'healthy',
 9527        'hostname',
 9528        'id',
 9529        'name',
 9530        'override_database',
 9531        'password',
 9532        'port',
 9533        'port_override',
 9534        'proxy_cluster_id',
 9535        'secret_store_id',
 9536        'subdomain',
 9537        'tags',
 9538        'username',
 9539    ]
 9540
 9541    def __init__(
 9542        self,
 9543        bind_interface=None,
 9544        database=None,
 9545        egress_filter=None,
 9546        healthy=None,
 9547        hostname=None,
 9548        id=None,
 9549        name=None,
 9550        override_database=None,
 9551        password=None,
 9552        port=None,
 9553        port_override=None,
 9554        proxy_cluster_id=None,
 9555        secret_store_id=None,
 9556        subdomain=None,
 9557        tags=None,
 9558        username=None,
 9559    ):
 9560        self.bind_interface = bind_interface if bind_interface is not None else ''
 9561        '''
 9562         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 9563        '''
 9564        self.database = database if database is not None else ''
 9565        '''
 9566         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 9567        '''
 9568        self.egress_filter = egress_filter if egress_filter is not None else ''
 9569        '''
 9570         A filter applied to the routing logic to pin datasource to nodes.
 9571        '''
 9572        self.healthy = healthy if healthy is not None else False
 9573        '''
 9574         True if the datasource is reachable and the credentials are valid.
 9575        '''
 9576        self.hostname = hostname if hostname is not None else ''
 9577        '''
 9578         The host to dial to initiate a connection from the egress node to this resource.
 9579        '''
 9580        self.id = id if id is not None else ''
 9581        '''
 9582         Unique identifier of the Resource.
 9583        '''
 9584        self.name = name if name is not None else ''
 9585        '''
 9586         Unique human-readable name of the Resource.
 9587        '''
 9588        self.override_database = override_database if override_database is not None else False
 9589        '''
 9590         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
 9591        '''
 9592        self.password = password if password is not None else ''
 9593        '''
 9594         The password to authenticate with.
 9595        '''
 9596        self.port = port if port is not None else 0
 9597        '''
 9598         The port to dial to initiate a connection from the egress node to this resource.
 9599        '''
 9600        self.port_override = port_override if port_override is not None else 0
 9601        '''
 9602         The local port used by clients to connect to this resource.
 9603        '''
 9604        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9605        '''
 9606         ID of the proxy cluster for this resource, if any.
 9607        '''
 9608        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9609        '''
 9610         ID of the secret store containing credentials for this resource, if any.
 9611        '''
 9612        self.subdomain = subdomain if subdomain is not None else ''
 9613        '''
 9614         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 9615        '''
 9616        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9617        '''
 9618         Tags is a map of key, value pairs.
 9619        '''
 9620        self.username = username if username is not None else ''
 9621        '''
 9622         The username to authenticate with.
 9623        '''
 9624
 9625    def __repr__(self):
 9626        return '<sdm.Cockroach ' + \
 9627            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 9628            'database: ' + repr(self.database) + ' ' +\
 9629            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 9630            'healthy: ' + repr(self.healthy) + ' ' +\
 9631            'hostname: ' + repr(self.hostname) + ' ' +\
 9632            'id: ' + repr(self.id) + ' ' +\
 9633            'name: ' + repr(self.name) + ' ' +\
 9634            'override_database: ' + repr(self.override_database) + ' ' +\
 9635            'password: ' + repr(self.password) + ' ' +\
 9636            'port: ' + repr(self.port) + ' ' +\
 9637            'port_override: ' + repr(self.port_override) + ' ' +\
 9638            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 9639            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 9640            'subdomain: ' + repr(self.subdomain) + ' ' +\
 9641            'tags: ' + repr(self.tags) + ' ' +\
 9642            'username: ' + repr(self.username) + ' ' +\
 9643            '>'
 9644
 9645    def to_dict(self):
 9646        return {
 9647            'bind_interface': self.bind_interface,
 9648            'database': self.database,
 9649            'egress_filter': self.egress_filter,
 9650            'healthy': self.healthy,
 9651            'hostname': self.hostname,
 9652            'id': self.id,
 9653            'name': self.name,
 9654            'override_database': self.override_database,
 9655            'password': self.password,
 9656            'port': self.port,
 9657            'port_override': self.port_override,
 9658            'proxy_cluster_id': self.proxy_cluster_id,
 9659            'secret_store_id': self.secret_store_id,
 9660            'subdomain': self.subdomain,
 9661            'tags': self.tags,
 9662            'username': self.username,
 9663        }
 9664
 9665    @classmethod
 9666    def from_dict(cls, d):
 9667        return cls(
 9668            bind_interface=d.get('bind_interface'),
 9669            database=d.get('database'),
 9670            egress_filter=d.get('egress_filter'),
 9671            healthy=d.get('healthy'),
 9672            hostname=d.get('hostname'),
 9673            id=d.get('id'),
 9674            name=d.get('name'),
 9675            override_database=d.get('override_database'),
 9676            password=d.get('password'),
 9677            port=d.get('port'),
 9678            port_override=d.get('port_override'),
 9679            proxy_cluster_id=d.get('proxy_cluster_id'),
 9680            secret_store_id=d.get('secret_store_id'),
 9681            subdomain=d.get('subdomain'),
 9682            tags=d.get('tags'),
 9683            username=d.get('username'),
 9684        )
 9685
 9686
 9687class ControlPanelGetRDPCAPublicKeyResponse:
 9688    '''
 9689         ControlPanelGetRDPCAPublicKeyResponse represents a request for an
 9690     organization's RDP Certificate Authority public key.
 9691    '''
 9692    __slots__ = [
 9693        'meta',
 9694        'public_key',
 9695        'rate_limit',
 9696    ]
 9697
 9698    def __init__(
 9699        self,
 9700        meta=None,
 9701        public_key=None,
 9702        rate_limit=None,
 9703    ):
 9704        self.meta = meta if meta is not None else None
 9705        '''
 9706         Reserved for future use.
 9707        '''
 9708        self.public_key = public_key if public_key is not None else ''
 9709        '''
 9710         The public key of the SSH Certificate Authority, in OpenSSH RSA public
 9711         key format.
 9712        '''
 9713        self.rate_limit = rate_limit if rate_limit is not None else None
 9714        '''
 9715         Rate limit information.
 9716        '''
 9717
 9718    def __repr__(self):
 9719        return '<sdm.ControlPanelGetRDPCAPublicKeyResponse ' + \
 9720            'meta: ' + repr(self.meta) + ' ' +\
 9721            'public_key: ' + repr(self.public_key) + ' ' +\
 9722            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 9723            '>'
 9724
 9725    def to_dict(self):
 9726        return {
 9727            'meta': self.meta,
 9728            'public_key': self.public_key,
 9729            'rate_limit': self.rate_limit,
 9730        }
 9731
 9732    @classmethod
 9733    def from_dict(cls, d):
 9734        return cls(
 9735            meta=d.get('meta'),
 9736            public_key=d.get('public_key'),
 9737            rate_limit=d.get('rate_limit'),
 9738        )
 9739
 9740
 9741class ControlPanelGetSSHCAPublicKeyResponse:
 9742    '''
 9743         ControlPanelGetSSHCAPublicKeyResponse represents a request for an
 9744     organization's SSH Certificate Authority public key.
 9745    '''
 9746    __slots__ = [
 9747        'meta',
 9748        'public_key',
 9749        'rate_limit',
 9750    ]
 9751
 9752    def __init__(
 9753        self,
 9754        meta=None,
 9755        public_key=None,
 9756        rate_limit=None,
 9757    ):
 9758        self.meta = meta if meta is not None else None
 9759        '''
 9760         Reserved for future use.
 9761        '''
 9762        self.public_key = public_key if public_key is not None else ''
 9763        '''
 9764         The public key of the SSH Certificate Authority, in OpenSSH RSA public
 9765         key format.
 9766        '''
 9767        self.rate_limit = rate_limit if rate_limit is not None else None
 9768        '''
 9769         Rate limit information.
 9770        '''
 9771
 9772    def __repr__(self):
 9773        return '<sdm.ControlPanelGetSSHCAPublicKeyResponse ' + \
 9774            'meta: ' + repr(self.meta) + ' ' +\
 9775            'public_key: ' + repr(self.public_key) + ' ' +\
 9776            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 9777            '>'
 9778
 9779    def to_dict(self):
 9780        return {
 9781            'meta': self.meta,
 9782            'public_key': self.public_key,
 9783            'rate_limit': self.rate_limit,
 9784        }
 9785
 9786    @classmethod
 9787    def from_dict(cls, d):
 9788        return cls(
 9789            meta=d.get('meta'),
 9790            public_key=d.get('public_key'),
 9791            rate_limit=d.get('rate_limit'),
 9792        )
 9793
 9794
 9795class ControlPanelVerifyJWTResponse:
 9796    '''
 9797         ControlPanelVerifyJWTResponse reports whether x-sdm-token is valid.
 9798    '''
 9799    __slots__ = [
 9800        'meta',
 9801        'rate_limit',
 9802        'valid',
 9803    ]
 9804
 9805    def __init__(
 9806        self,
 9807        meta=None,
 9808        rate_limit=None,
 9809        valid=None,
 9810    ):
 9811        self.meta = meta if meta is not None else None
 9812        '''
 9813         Reserved for future use.
 9814        '''
 9815        self.rate_limit = rate_limit if rate_limit is not None else None
 9816        '''
 9817         Rate limit information.
 9818        '''
 9819        self.valid = valid if valid is not None else False
 9820        '''
 9821         Reports if the given token is valid.
 9822        '''
 9823
 9824    def __repr__(self):
 9825        return '<sdm.ControlPanelVerifyJWTResponse ' + \
 9826            'meta: ' + repr(self.meta) + ' ' +\
 9827            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 9828            'valid: ' + repr(self.valid) + ' ' +\
 9829            '>'
 9830
 9831    def to_dict(self):
 9832        return {
 9833            'meta': self.meta,
 9834            'rate_limit': self.rate_limit,
 9835            'valid': self.valid,
 9836        }
 9837
 9838    @classmethod
 9839    def from_dict(cls, d):
 9840        return cls(
 9841            meta=d.get('meta'),
 9842            rate_limit=d.get('rate_limit'),
 9843            valid=d.get('valid'),
 9844        )
 9845
 9846
 9847class CouchbaseDatabase:
 9848    __slots__ = [
 9849        'bind_interface',
 9850        'egress_filter',
 9851        'healthy',
 9852        'hostname',
 9853        'id',
 9854        'n1ql_port',
 9855        'name',
 9856        'password',
 9857        'port',
 9858        'port_override',
 9859        'proxy_cluster_id',
 9860        'secret_store_id',
 9861        'subdomain',
 9862        'tags',
 9863        'tls_required',
 9864        'username',
 9865    ]
 9866
 9867    def __init__(
 9868        self,
 9869        bind_interface=None,
 9870        egress_filter=None,
 9871        healthy=None,
 9872        hostname=None,
 9873        id=None,
 9874        n1ql_port=None,
 9875        name=None,
 9876        password=None,
 9877        port=None,
 9878        port_override=None,
 9879        proxy_cluster_id=None,
 9880        secret_store_id=None,
 9881        subdomain=None,
 9882        tags=None,
 9883        tls_required=None,
 9884        username=None,
 9885    ):
 9886        self.bind_interface = bind_interface if bind_interface is not None else ''
 9887        '''
 9888         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 9889        '''
 9890        self.egress_filter = egress_filter if egress_filter is not None else ''
 9891        '''
 9892         A filter applied to the routing logic to pin datasource to nodes.
 9893        '''
 9894        self.healthy = healthy if healthy is not None else False
 9895        '''
 9896         True if the datasource is reachable and the credentials are valid.
 9897        '''
 9898        self.hostname = hostname if hostname is not None else ''
 9899        '''
 9900         The host to dial to initiate a connection from the egress node to this resource.
 9901        '''
 9902        self.id = id if id is not None else ''
 9903        '''
 9904         Unique identifier of the Resource.
 9905        '''
 9906        self.n1ql_port = n1ql_port if n1ql_port is not None else 0
 9907        '''
 9908         The port number for N1QL queries. Default HTTP is 8093. Default HTTPS is 18093.
 9909        '''
 9910        self.name = name if name is not None else ''
 9911        '''
 9912         Unique human-readable name of the Resource.
 9913        '''
 9914        self.password = password if password is not None else ''
 9915        '''
 9916         The password to authenticate with.
 9917        '''
 9918        self.port = port if port is not None else 0
 9919        '''
 9920         The port to dial to initiate a connection from the egress node to this resource.
 9921        '''
 9922        self.port_override = port_override if port_override is not None else 0
 9923        '''
 9924         The local port used by clients to connect to this resource.
 9925        '''
 9926        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9927        '''
 9928         ID of the proxy cluster for this resource, if any.
 9929        '''
 9930        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9931        '''
 9932         ID of the secret store containing credentials for this resource, if any.
 9933        '''
 9934        self.subdomain = subdomain if subdomain is not None else ''
 9935        '''
 9936         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 9937        '''
 9938        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9939        '''
 9940         Tags is a map of key, value pairs.
 9941        '''
 9942        self.tls_required = tls_required if tls_required is not None else False
 9943        '''
 9944         If set, TLS must be used to connect to this resource.
 9945        '''
 9946        self.username = username if username is not None else ''
 9947        '''
 9948         The username to authenticate with.
 9949        '''
 9950
 9951    def __repr__(self):
 9952        return '<sdm.CouchbaseDatabase ' + \
 9953            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 9954            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 9955            'healthy: ' + repr(self.healthy) + ' ' +\
 9956            'hostname: ' + repr(self.hostname) + ' ' +\
 9957            'id: ' + repr(self.id) + ' ' +\
 9958            'n1ql_port: ' + repr(self.n1ql_port) + ' ' +\
 9959            'name: ' + repr(self.name) + ' ' +\
 9960            'password: ' + repr(self.password) + ' ' +\
 9961            'port: ' + repr(self.port) + ' ' +\
 9962            'port_override: ' + repr(self.port_override) + ' ' +\
 9963            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 9964            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 9965            'subdomain: ' + repr(self.subdomain) + ' ' +\
 9966            'tags: ' + repr(self.tags) + ' ' +\
 9967            'tls_required: ' + repr(self.tls_required) + ' ' +\
 9968            'username: ' + repr(self.username) + ' ' +\
 9969            '>'
 9970
 9971    def to_dict(self):
 9972        return {
 9973            'bind_interface': self.bind_interface,
 9974            'egress_filter': self.egress_filter,
 9975            'healthy': self.healthy,
 9976            'hostname': self.hostname,
 9977            'id': self.id,
 9978            'n1ql_port': self.n1ql_port,
 9979            'name': self.name,
 9980            'password': self.password,
 9981            'port': self.port,
 9982            'port_override': self.port_override,
 9983            'proxy_cluster_id': self.proxy_cluster_id,
 9984            'secret_store_id': self.secret_store_id,
 9985            'subdomain': self.subdomain,
 9986            'tags': self.tags,
 9987            'tls_required': self.tls_required,
 9988            'username': self.username,
 9989        }
 9990
 9991    @classmethod
 9992    def from_dict(cls, d):
 9993        return cls(
 9994            bind_interface=d.get('bind_interface'),
 9995            egress_filter=d.get('egress_filter'),
 9996            healthy=d.get('healthy'),
 9997            hostname=d.get('hostname'),
 9998            id=d.get('id'),
 9999            n1ql_port=d.get('n1ql_port'),
10000            name=d.get('name'),
10001            password=d.get('password'),
10002            port=d.get('port'),
10003            port_override=d.get('port_override'),
10004            proxy_cluster_id=d.get('proxy_cluster_id'),
10005            secret_store_id=d.get('secret_store_id'),
10006            subdomain=d.get('subdomain'),
10007            tags=d.get('tags'),
10008            tls_required=d.get('tls_required'),
10009            username=d.get('username'),
10010        )
10011
10012
10013class CouchbaseWebUI:
10014    __slots__ = [
10015        'bind_interface',
10016        'egress_filter',
10017        'healthy',
10018        'id',
10019        'name',
10020        'password',
10021        'port_override',
10022        'proxy_cluster_id',
10023        'secret_store_id',
10024        'subdomain',
10025        'tags',
10026        'url',
10027        'username',
10028    ]
10029
10030    def __init__(
10031        self,
10032        bind_interface=None,
10033        egress_filter=None,
10034        healthy=None,
10035        id=None,
10036        name=None,
10037        password=None,
10038        port_override=None,
10039        proxy_cluster_id=None,
10040        secret_store_id=None,
10041        subdomain=None,
10042        tags=None,
10043        url=None,
10044        username=None,
10045    ):
10046        self.bind_interface = bind_interface if bind_interface is not None else ''
10047        '''
10048         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10049        '''
10050        self.egress_filter = egress_filter if egress_filter is not None else ''
10051        '''
10052         A filter applied to the routing logic to pin datasource to nodes.
10053        '''
10054        self.healthy = healthy if healthy is not None else False
10055        '''
10056         True if the datasource is reachable and the credentials are valid.
10057        '''
10058        self.id = id if id is not None else ''
10059        '''
10060         Unique identifier of the Resource.
10061        '''
10062        self.name = name if name is not None else ''
10063        '''
10064         Unique human-readable name of the Resource.
10065        '''
10066        self.password = password if password is not None else ''
10067        '''
10068         The password to authenticate with.
10069        '''
10070        self.port_override = port_override if port_override is not None else 0
10071        '''
10072         The local port used by clients to connect to this resource.
10073        '''
10074        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10075        '''
10076         ID of the proxy cluster for this resource, if any.
10077        '''
10078        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10079        '''
10080         ID of the secret store containing credentials for this resource, if any.
10081        '''
10082        self.subdomain = subdomain if subdomain is not None else ''
10083        '''
10084         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10085        '''
10086        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10087        '''
10088         Tags is a map of key, value pairs.
10089        '''
10090        self.url = url if url is not None else ''
10091        '''
10092         The base address of your website without the path.
10093        '''
10094        self.username = username if username is not None else ''
10095        '''
10096         The username to authenticate with.
10097        '''
10098
10099    def __repr__(self):
10100        return '<sdm.CouchbaseWebUI ' + \
10101            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10102            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10103            'healthy: ' + repr(self.healthy) + ' ' +\
10104            'id: ' + repr(self.id) + ' ' +\
10105            'name: ' + repr(self.name) + ' ' +\
10106            'password: ' + repr(self.password) + ' ' +\
10107            'port_override: ' + repr(self.port_override) + ' ' +\
10108            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10109            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10110            'subdomain: ' + repr(self.subdomain) + ' ' +\
10111            'tags: ' + repr(self.tags) + ' ' +\
10112            'url: ' + repr(self.url) + ' ' +\
10113            'username: ' + repr(self.username) + ' ' +\
10114            '>'
10115
10116    def to_dict(self):
10117        return {
10118            'bind_interface': self.bind_interface,
10119            'egress_filter': self.egress_filter,
10120            'healthy': self.healthy,
10121            'id': self.id,
10122            'name': self.name,
10123            'password': self.password,
10124            'port_override': self.port_override,
10125            'proxy_cluster_id': self.proxy_cluster_id,
10126            'secret_store_id': self.secret_store_id,
10127            'subdomain': self.subdomain,
10128            'tags': self.tags,
10129            'url': self.url,
10130            'username': self.username,
10131        }
10132
10133    @classmethod
10134    def from_dict(cls, d):
10135        return cls(
10136            bind_interface=d.get('bind_interface'),
10137            egress_filter=d.get('egress_filter'),
10138            healthy=d.get('healthy'),
10139            id=d.get('id'),
10140            name=d.get('name'),
10141            password=d.get('password'),
10142            port_override=d.get('port_override'),
10143            proxy_cluster_id=d.get('proxy_cluster_id'),
10144            secret_store_id=d.get('secret_store_id'),
10145            subdomain=d.get('subdomain'),
10146            tags=d.get('tags'),
10147            url=d.get('url'),
10148            username=d.get('username'),
10149        )
10150
10151
10152class CreateResponseMetadata:
10153    '''
10154         CreateResponseMetadata is reserved for future use.
10155    '''
10156    __slots__ = []
10157
10158    def __init__(self, ):
10159        pass
10160
10161    def __repr__(self):
10162        return '<sdm.CreateResponseMetadata ' + \
10163            '>'
10164
10165    def to_dict(self):
10166        return {}
10167
10168    @classmethod
10169    def from_dict(cls, d):
10170        return cls()
10171
10172
10173class CyberarkConjurStore:
10174    __slots__ = [
10175        'appurl',
10176        'id',
10177        'name',
10178        'tags',
10179    ]
10180
10181    def __init__(
10182        self,
10183        appurl=None,
10184        id=None,
10185        name=None,
10186        tags=None,
10187    ):
10188        self.appurl = appurl if appurl is not None else ''
10189        '''
10190         The URL of the Cyberark instance
10191        '''
10192        self.id = id if id is not None else ''
10193        '''
10194         Unique identifier of the SecretStore.
10195        '''
10196        self.name = name if name is not None else ''
10197        '''
10198         Unique human-readable name of the SecretStore.
10199        '''
10200        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10201        '''
10202         Tags is a map of key, value pairs.
10203        '''
10204
10205    def __repr__(self):
10206        return '<sdm.CyberarkConjurStore ' + \
10207            'appurl: ' + repr(self.appurl) + ' ' +\
10208            'id: ' + repr(self.id) + ' ' +\
10209            'name: ' + repr(self.name) + ' ' +\
10210            'tags: ' + repr(self.tags) + ' ' +\
10211            '>'
10212
10213    def to_dict(self):
10214        return {
10215            'appurl': self.appurl,
10216            'id': self.id,
10217            'name': self.name,
10218            'tags': self.tags,
10219        }
10220
10221    @classmethod
10222    def from_dict(cls, d):
10223        return cls(
10224            appurl=d.get('appurl'),
10225            id=d.get('id'),
10226            name=d.get('name'),
10227            tags=d.get('tags'),
10228        )
10229
10230
10231class CyberarkPAMExperimentalStore:
10232    '''
10233    CyberarkPAMExperimentalStore is currently unstable, and its API may change, or it may be removed,
10234    without a major version bump.
10235    '''
10236    __slots__ = [
10237        'appurl',
10238        'id',
10239        'name',
10240        'tags',
10241    ]
10242
10243    def __init__(
10244        self,
10245        appurl=None,
10246        id=None,
10247        name=None,
10248        tags=None,
10249    ):
10250        self.appurl = appurl if appurl is not None else ''
10251        '''
10252         The URL of the Cyberark instance
10253        '''
10254        self.id = id if id is not None else ''
10255        '''
10256         Unique identifier of the SecretStore.
10257        '''
10258        self.name = name if name is not None else ''
10259        '''
10260         Unique human-readable name of the SecretStore.
10261        '''
10262        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10263        '''
10264         Tags is a map of key, value pairs.
10265        '''
10266
10267    def __repr__(self):
10268        return '<sdm.CyberarkPAMExperimentalStore ' + \
10269            'appurl: ' + repr(self.appurl) + ' ' +\
10270            'id: ' + repr(self.id) + ' ' +\
10271            'name: ' + repr(self.name) + ' ' +\
10272            'tags: ' + repr(self.tags) + ' ' +\
10273            '>'
10274
10275    def to_dict(self):
10276        return {
10277            'appurl': self.appurl,
10278            'id': self.id,
10279            'name': self.name,
10280            'tags': self.tags,
10281        }
10282
10283    @classmethod
10284    def from_dict(cls, d):
10285        return cls(
10286            appurl=d.get('appurl'),
10287            id=d.get('id'),
10288            name=d.get('name'),
10289            tags=d.get('tags'),
10290        )
10291
10292
10293class CyberarkPAMStore:
10294    __slots__ = [
10295        'appurl',
10296        'id',
10297        'name',
10298        'tags',
10299    ]
10300
10301    def __init__(
10302        self,
10303        appurl=None,
10304        id=None,
10305        name=None,
10306        tags=None,
10307    ):
10308        self.appurl = appurl if appurl is not None else ''
10309        '''
10310         The URL of the Cyberark instance
10311        '''
10312        self.id = id if id is not None else ''
10313        '''
10314         Unique identifier of the SecretStore.
10315        '''
10316        self.name = name if name is not None else ''
10317        '''
10318         Unique human-readable name of the SecretStore.
10319        '''
10320        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10321        '''
10322         Tags is a map of key, value pairs.
10323        '''
10324
10325    def __repr__(self):
10326        return '<sdm.CyberarkPAMStore ' + \
10327            'appurl: ' + repr(self.appurl) + ' ' +\
10328            'id: ' + repr(self.id) + ' ' +\
10329            'name: ' + repr(self.name) + ' ' +\
10330            'tags: ' + repr(self.tags) + ' ' +\
10331            '>'
10332
10333    def to_dict(self):
10334        return {
10335            'appurl': self.appurl,
10336            'id': self.id,
10337            'name': self.name,
10338            'tags': self.tags,
10339        }
10340
10341    @classmethod
10342    def from_dict(cls, d):
10343        return cls(
10344            appurl=d.get('appurl'),
10345            id=d.get('id'),
10346            name=d.get('name'),
10347            tags=d.get('tags'),
10348        )
10349
10350
10351class DB2I:
10352    __slots__ = [
10353        'bind_interface',
10354        'egress_filter',
10355        'healthy',
10356        'hostname',
10357        'id',
10358        'name',
10359        'password',
10360        'port',
10361        'port_override',
10362        'proxy_cluster_id',
10363        'secret_store_id',
10364        'subdomain',
10365        'tags',
10366        'tls_required',
10367        'username',
10368    ]
10369
10370    def __init__(
10371        self,
10372        bind_interface=None,
10373        egress_filter=None,
10374        healthy=None,
10375        hostname=None,
10376        id=None,
10377        name=None,
10378        password=None,
10379        port=None,
10380        port_override=None,
10381        proxy_cluster_id=None,
10382        secret_store_id=None,
10383        subdomain=None,
10384        tags=None,
10385        tls_required=None,
10386        username=None,
10387    ):
10388        self.bind_interface = bind_interface if bind_interface is not None else ''
10389        '''
10390         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10391        '''
10392        self.egress_filter = egress_filter if egress_filter is not None else ''
10393        '''
10394         A filter applied to the routing logic to pin datasource to nodes.
10395        '''
10396        self.healthy = healthy if healthy is not None else False
10397        '''
10398         True if the datasource is reachable and the credentials are valid.
10399        '''
10400        self.hostname = hostname if hostname is not None else ''
10401        '''
10402         The host to dial to initiate a connection from the egress node to this resource.
10403        '''
10404        self.id = id if id is not None else ''
10405        '''
10406         Unique identifier of the Resource.
10407        '''
10408        self.name = name if name is not None else ''
10409        '''
10410         Unique human-readable name of the Resource.
10411        '''
10412        self.password = password if password is not None else ''
10413        '''
10414         The password to authenticate with.
10415        '''
10416        self.port = port if port is not None else 0
10417        '''
10418         The port to dial to initiate a connection from the egress node to this resource.
10419        '''
10420        self.port_override = port_override if port_override is not None else 0
10421        '''
10422         The local port used by clients to connect to this resource.
10423        '''
10424        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10425        '''
10426         ID of the proxy cluster for this resource, if any.
10427        '''
10428        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10429        '''
10430         ID of the secret store containing credentials for this resource, if any.
10431        '''
10432        self.subdomain = subdomain if subdomain is not None else ''
10433        '''
10434         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10435        '''
10436        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10437        '''
10438         Tags is a map of key, value pairs.
10439        '''
10440        self.tls_required = tls_required if tls_required is not None else False
10441        '''
10442         If set, TLS must be used to connect to this resource.
10443        '''
10444        self.username = username if username is not None else ''
10445        '''
10446         The username to authenticate with.
10447        '''
10448
10449    def __repr__(self):
10450        return '<sdm.DB2I ' + \
10451            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10452            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10453            'healthy: ' + repr(self.healthy) + ' ' +\
10454            'hostname: ' + repr(self.hostname) + ' ' +\
10455            'id: ' + repr(self.id) + ' ' +\
10456            'name: ' + repr(self.name) + ' ' +\
10457            'password: ' + repr(self.password) + ' ' +\
10458            'port: ' + repr(self.port) + ' ' +\
10459            'port_override: ' + repr(self.port_override) + ' ' +\
10460            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10461            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10462            'subdomain: ' + repr(self.subdomain) + ' ' +\
10463            'tags: ' + repr(self.tags) + ' ' +\
10464            'tls_required: ' + repr(self.tls_required) + ' ' +\
10465            'username: ' + repr(self.username) + ' ' +\
10466            '>'
10467
10468    def to_dict(self):
10469        return {
10470            'bind_interface': self.bind_interface,
10471            'egress_filter': self.egress_filter,
10472            'healthy': self.healthy,
10473            'hostname': self.hostname,
10474            'id': self.id,
10475            'name': self.name,
10476            'password': self.password,
10477            'port': self.port,
10478            'port_override': self.port_override,
10479            'proxy_cluster_id': self.proxy_cluster_id,
10480            'secret_store_id': self.secret_store_id,
10481            'subdomain': self.subdomain,
10482            'tags': self.tags,
10483            'tls_required': self.tls_required,
10484            'username': self.username,
10485        }
10486
10487    @classmethod
10488    def from_dict(cls, d):
10489        return cls(
10490            bind_interface=d.get('bind_interface'),
10491            egress_filter=d.get('egress_filter'),
10492            healthy=d.get('healthy'),
10493            hostname=d.get('hostname'),
10494            id=d.get('id'),
10495            name=d.get('name'),
10496            password=d.get('password'),
10497            port=d.get('port'),
10498            port_override=d.get('port_override'),
10499            proxy_cluster_id=d.get('proxy_cluster_id'),
10500            secret_store_id=d.get('secret_store_id'),
10501            subdomain=d.get('subdomain'),
10502            tags=d.get('tags'),
10503            tls_required=d.get('tls_required'),
10504            username=d.get('username'),
10505        )
10506
10507
10508class DB2LUW:
10509    __slots__ = [
10510        'bind_interface',
10511        'database',
10512        'egress_filter',
10513        'healthy',
10514        'hostname',
10515        'id',
10516        'name',
10517        'password',
10518        'port',
10519        'port_override',
10520        'proxy_cluster_id',
10521        'secret_store_id',
10522        'subdomain',
10523        'tags',
10524        'tls_required',
10525        'username',
10526    ]
10527
10528    def __init__(
10529        self,
10530        bind_interface=None,
10531        database=None,
10532        egress_filter=None,
10533        healthy=None,
10534        hostname=None,
10535        id=None,
10536        name=None,
10537        password=None,
10538        port=None,
10539        port_override=None,
10540        proxy_cluster_id=None,
10541        secret_store_id=None,
10542        subdomain=None,
10543        tags=None,
10544        tls_required=None,
10545        username=None,
10546    ):
10547        self.bind_interface = bind_interface if bind_interface is not None else ''
10548        '''
10549         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10550        '''
10551        self.database = database if database is not None else ''
10552        '''
10553         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
10554        '''
10555        self.egress_filter = egress_filter if egress_filter is not None else ''
10556        '''
10557         A filter applied to the routing logic to pin datasource to nodes.
10558        '''
10559        self.healthy = healthy if healthy is not None else False
10560        '''
10561         True if the datasource is reachable and the credentials are valid.
10562        '''
10563        self.hostname = hostname if hostname is not None else ''
10564        '''
10565         The host to dial to initiate a connection from the egress node to this resource.
10566        '''
10567        self.id = id if id is not None else ''
10568        '''
10569         Unique identifier of the Resource.
10570        '''
10571        self.name = name if name is not None else ''
10572        '''
10573         Unique human-readable name of the Resource.
10574        '''
10575        self.password = password if password is not None else ''
10576        '''
10577         The password to authenticate with.
10578        '''
10579        self.port = port if port is not None else 0
10580        '''
10581         The port to dial to initiate a connection from the egress node to this resource.
10582        '''
10583        self.port_override = port_override if port_override is not None else 0
10584        '''
10585         The local port used by clients to connect to this resource.
10586        '''
10587        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10588        '''
10589         ID of the proxy cluster for this resource, if any.
10590        '''
10591        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10592        '''
10593         ID of the secret store containing credentials for this resource, if any.
10594        '''
10595        self.subdomain = subdomain if subdomain is not None else ''
10596        '''
10597         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10598        '''
10599        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10600        '''
10601         Tags is a map of key, value pairs.
10602        '''
10603        self.tls_required = tls_required if tls_required is not None else False
10604        '''
10605         If set, TLS must be used to connect to this resource.
10606        '''
10607        self.username = username if username is not None else ''
10608        '''
10609         The username to authenticate with.
10610        '''
10611
10612    def __repr__(self):
10613        return '<sdm.DB2LUW ' + \
10614            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10615            'database: ' + repr(self.database) + ' ' +\
10616            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10617            'healthy: ' + repr(self.healthy) + ' ' +\
10618            'hostname: ' + repr(self.hostname) + ' ' +\
10619            'id: ' + repr(self.id) + ' ' +\
10620            'name: ' + repr(self.name) + ' ' +\
10621            'password: ' + repr(self.password) + ' ' +\
10622            'port: ' + repr(self.port) + ' ' +\
10623            'port_override: ' + repr(self.port_override) + ' ' +\
10624            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10625            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10626            'subdomain: ' + repr(self.subdomain) + ' ' +\
10627            'tags: ' + repr(self.tags) + ' ' +\
10628            'tls_required: ' + repr(self.tls_required) + ' ' +\
10629            'username: ' + repr(self.username) + ' ' +\
10630            '>'
10631
10632    def to_dict(self):
10633        return {
10634            'bind_interface': self.bind_interface,
10635            'database': self.database,
10636            'egress_filter': self.egress_filter,
10637            'healthy': self.healthy,
10638            'hostname': self.hostname,
10639            'id': self.id,
10640            'name': self.name,
10641            'password': self.password,
10642            'port': self.port,
10643            'port_override': self.port_override,
10644            'proxy_cluster_id': self.proxy_cluster_id,
10645            'secret_store_id': self.secret_store_id,
10646            'subdomain': self.subdomain,
10647            'tags': self.tags,
10648            'tls_required': self.tls_required,
10649            'username': self.username,
10650        }
10651
10652    @classmethod
10653    def from_dict(cls, d):
10654        return cls(
10655            bind_interface=d.get('bind_interface'),
10656            database=d.get('database'),
10657            egress_filter=d.get('egress_filter'),
10658            healthy=d.get('healthy'),
10659            hostname=d.get('hostname'),
10660            id=d.get('id'),
10661            name=d.get('name'),
10662            password=d.get('password'),
10663            port=d.get('port'),
10664            port_override=d.get('port_override'),
10665            proxy_cluster_id=d.get('proxy_cluster_id'),
10666            secret_store_id=d.get('secret_store_id'),
10667            subdomain=d.get('subdomain'),
10668            tags=d.get('tags'),
10669            tls_required=d.get('tls_required'),
10670            username=d.get('username'),
10671        )
10672
10673
10674class DeleteResponseMetadata:
10675    '''
10676         DeleteResponseMetadata is reserved for future use.
10677    '''
10678    __slots__ = []
10679
10680    def __init__(self, ):
10681        pass
10682
10683    def __repr__(self):
10684        return '<sdm.DeleteResponseMetadata ' + \
10685            '>'
10686
10687    def to_dict(self):
10688        return {}
10689
10690    @classmethod
10691    def from_dict(cls, d):
10692        return cls()
10693
10694
10695class DelineaStore:
10696    __slots__ = [
10697        'id',
10698        'name',
10699        'server_url',
10700        'tags',
10701        'tenant_name',
10702    ]
10703
10704    def __init__(
10705        self,
10706        id=None,
10707        name=None,
10708        server_url=None,
10709        tags=None,
10710        tenant_name=None,
10711    ):
10712        self.id = id if id is not None else ''
10713        '''
10714         Unique identifier of the SecretStore.
10715        '''
10716        self.name = name if name is not None else ''
10717        '''
10718         Unique human-readable name of the SecretStore.
10719        '''
10720        self.server_url = server_url if server_url is not None else ''
10721        '''
10722         The URL of the Delinea instance
10723        '''
10724        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10725        '''
10726         Tags is a map of key, value pairs.
10727        '''
10728        self.tenant_name = tenant_name if tenant_name is not None else ''
10729        '''
10730         The tenant name to target
10731        '''
10732
10733    def __repr__(self):
10734        return '<sdm.DelineaStore ' + \
10735            'id: ' + repr(self.id) + ' ' +\
10736            'name: ' + repr(self.name) + ' ' +\
10737            'server_url: ' + repr(self.server_url) + ' ' +\
10738            'tags: ' + repr(self.tags) + ' ' +\
10739            'tenant_name: ' + repr(self.tenant_name) + ' ' +\
10740            '>'
10741
10742    def to_dict(self):
10743        return {
10744            'id': self.id,
10745            'name': self.name,
10746            'server_url': self.server_url,
10747            'tags': self.tags,
10748            'tenant_name': self.tenant_name,
10749        }
10750
10751    @classmethod
10752    def from_dict(cls, d):
10753        return cls(
10754            id=d.get('id'),
10755            name=d.get('name'),
10756            server_url=d.get('server_url'),
10757            tags=d.get('tags'),
10758            tenant_name=d.get('tenant_name'),
10759        )
10760
10761
10762class DocumentDBHost:
10763    __slots__ = [
10764        'auth_database',
10765        'bind_interface',
10766        'egress_filter',
10767        'healthy',
10768        'hostname',
10769        'id',
10770        'name',
10771        'password',
10772        'port',
10773        'port_override',
10774        'proxy_cluster_id',
10775        'secret_store_id',
10776        'subdomain',
10777        'tags',
10778        'username',
10779    ]
10780
10781    def __init__(
10782        self,
10783        auth_database=None,
10784        bind_interface=None,
10785        egress_filter=None,
10786        healthy=None,
10787        hostname=None,
10788        id=None,
10789        name=None,
10790        password=None,
10791        port=None,
10792        port_override=None,
10793        proxy_cluster_id=None,
10794        secret_store_id=None,
10795        subdomain=None,
10796        tags=None,
10797        username=None,
10798    ):
10799        self.auth_database = auth_database if auth_database is not None else ''
10800        '''
10801         The authentication database to use.
10802        '''
10803        self.bind_interface = bind_interface if bind_interface is not None else ''
10804        '''
10805         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10806        '''
10807        self.egress_filter = egress_filter if egress_filter is not None else ''
10808        '''
10809         A filter applied to the routing logic to pin datasource to nodes.
10810        '''
10811        self.healthy = healthy if healthy is not None else False
10812        '''
10813         True if the datasource is reachable and the credentials are valid.
10814        '''
10815        self.hostname = hostname if hostname is not None else ''
10816        '''
10817         The host to dial to initiate a connection from the egress node to this resource.
10818        '''
10819        self.id = id if id is not None else ''
10820        '''
10821         Unique identifier of the Resource.
10822        '''
10823        self.name = name if name is not None else ''
10824        '''
10825         Unique human-readable name of the Resource.
10826        '''
10827        self.password = password if password is not None else ''
10828        '''
10829         The password to authenticate with.
10830        '''
10831        self.port = port if port is not None else 0
10832        '''
10833         The port to dial to initiate a connection from the egress node to this resource.
10834        '''
10835        self.port_override = port_override if port_override is not None else 0
10836        '''
10837         The local port used by clients to connect to this resource.
10838        '''
10839        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10840        '''
10841         ID of the proxy cluster for this resource, if any.
10842        '''
10843        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10844        '''
10845         ID of the secret store containing credentials for this resource, if any.
10846        '''
10847        self.subdomain = subdomain if subdomain is not None else ''
10848        '''
10849         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10850        '''
10851        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10852        '''
10853         Tags is a map of key, value pairs.
10854        '''
10855        self.username = username if username is not None else ''
10856        '''
10857         The username to authenticate with.
10858        '''
10859
10860    def __repr__(self):
10861        return '<sdm.DocumentDBHost ' + \
10862            'auth_database: ' + repr(self.auth_database) + ' ' +\
10863            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10864            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10865            'healthy: ' + repr(self.healthy) + ' ' +\
10866            'hostname: ' + repr(self.hostname) + ' ' +\
10867            'id: ' + repr(self.id) + ' ' +\
10868            'name: ' + repr(self.name) + ' ' +\
10869            'password: ' + repr(self.password) + ' ' +\
10870            'port: ' + repr(self.port) + ' ' +\
10871            'port_override: ' + repr(self.port_override) + ' ' +\
10872            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10873            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10874            'subdomain: ' + repr(self.subdomain) + ' ' +\
10875            'tags: ' + repr(self.tags) + ' ' +\
10876            'username: ' + repr(self.username) + ' ' +\
10877            '>'
10878
10879    def to_dict(self):
10880        return {
10881            'auth_database': self.auth_database,
10882            'bind_interface': self.bind_interface,
10883            'egress_filter': self.egress_filter,
10884            'healthy': self.healthy,
10885            'hostname': self.hostname,
10886            'id': self.id,
10887            'name': self.name,
10888            'password': self.password,
10889            'port': self.port,
10890            'port_override': self.port_override,
10891            'proxy_cluster_id': self.proxy_cluster_id,
10892            'secret_store_id': self.secret_store_id,
10893            'subdomain': self.subdomain,
10894            'tags': self.tags,
10895            'username': self.username,
10896        }
10897
10898    @classmethod
10899    def from_dict(cls, d):
10900        return cls(
10901            auth_database=d.get('auth_database'),
10902            bind_interface=d.get('bind_interface'),
10903            egress_filter=d.get('egress_filter'),
10904            healthy=d.get('healthy'),
10905            hostname=d.get('hostname'),
10906            id=d.get('id'),
10907            name=d.get('name'),
10908            password=d.get('password'),
10909            port=d.get('port'),
10910            port_override=d.get('port_override'),
10911            proxy_cluster_id=d.get('proxy_cluster_id'),
10912            secret_store_id=d.get('secret_store_id'),
10913            subdomain=d.get('subdomain'),
10914            tags=d.get('tags'),
10915            username=d.get('username'),
10916        )
10917
10918
10919class DocumentDBHostIAM:
10920    __slots__ = [
10921        'bind_interface',
10922        'egress_filter',
10923        'healthy',
10924        'hostname',
10925        'id',
10926        'name',
10927        'port',
10928        'port_override',
10929        'proxy_cluster_id',
10930        'region',
10931        'secret_store_id',
10932        'subdomain',
10933        'tags',
10934    ]
10935
10936    def __init__(
10937        self,
10938        bind_interface=None,
10939        egress_filter=None,
10940        healthy=None,
10941        hostname=None,
10942        id=None,
10943        name=None,
10944        port=None,
10945        port_override=None,
10946        proxy_cluster_id=None,
10947        region=None,
10948        secret_store_id=None,
10949        subdomain=None,
10950        tags=None,
10951    ):
10952        self.bind_interface = bind_interface if bind_interface is not None else ''
10953        '''
10954         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10955        '''
10956        self.egress_filter = egress_filter if egress_filter is not None else ''
10957        '''
10958         A filter applied to the routing logic to pin datasource to nodes.
10959        '''
10960        self.healthy = healthy if healthy is not None else False
10961        '''
10962         True if the datasource is reachable and the credentials are valid.
10963        '''
10964        self.hostname = hostname if hostname is not None else ''
10965        '''
10966         The host to dial to initiate a connection from the egress node to this resource.
10967        '''
10968        self.id = id if id is not None else ''
10969        '''
10970         Unique identifier of the Resource.
10971        '''
10972        self.name = name if name is not None else ''
10973        '''
10974         Unique human-readable name of the Resource.
10975        '''
10976        self.port = port if port is not None else 0
10977        '''
10978         The port to dial to initiate a connection from the egress node to this resource.
10979        '''
10980        self.port_override = port_override if port_override is not None else 0
10981        '''
10982         The local port used by clients to connect to this resource.
10983        '''
10984        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10985        '''
10986         ID of the proxy cluster for this resource, if any.
10987        '''
10988        self.region = region if region is not None else ''
10989        '''
10990         The AWS region to connect to.
10991        '''
10992        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10993        '''
10994         ID of the secret store containing credentials for this resource, if any.
10995        '''
10996        self.subdomain = subdomain if subdomain is not None else ''
10997        '''
10998         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10999        '''
11000        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11001        '''
11002         Tags is a map of key, value pairs.
11003        '''
11004
11005    def __repr__(self):
11006        return '<sdm.DocumentDBHostIAM ' + \
11007            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11008            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11009            'healthy: ' + repr(self.healthy) + ' ' +\
11010            'hostname: ' + repr(self.hostname) + ' ' +\
11011            'id: ' + repr(self.id) + ' ' +\
11012            'name: ' + repr(self.name) + ' ' +\
11013            'port: ' + repr(self.port) + ' ' +\
11014            'port_override: ' + repr(self.port_override) + ' ' +\
11015            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11016            'region: ' + repr(self.region) + ' ' +\
11017            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11018            'subdomain: ' + repr(self.subdomain) + ' ' +\
11019            'tags: ' + repr(self.tags) + ' ' +\
11020            '>'
11021
11022    def to_dict(self):
11023        return {
11024            'bind_interface': self.bind_interface,
11025            'egress_filter': self.egress_filter,
11026            'healthy': self.healthy,
11027            'hostname': self.hostname,
11028            'id': self.id,
11029            'name': self.name,
11030            'port': self.port,
11031            'port_override': self.port_override,
11032            'proxy_cluster_id': self.proxy_cluster_id,
11033            'region': self.region,
11034            'secret_store_id': self.secret_store_id,
11035            'subdomain': self.subdomain,
11036            'tags': self.tags,
11037        }
11038
11039    @classmethod
11040    def from_dict(cls, d):
11041        return cls(
11042            bind_interface=d.get('bind_interface'),
11043            egress_filter=d.get('egress_filter'),
11044            healthy=d.get('healthy'),
11045            hostname=d.get('hostname'),
11046            id=d.get('id'),
11047            name=d.get('name'),
11048            port=d.get('port'),
11049            port_override=d.get('port_override'),
11050            proxy_cluster_id=d.get('proxy_cluster_id'),
11051            region=d.get('region'),
11052            secret_store_id=d.get('secret_store_id'),
11053            subdomain=d.get('subdomain'),
11054            tags=d.get('tags'),
11055        )
11056
11057
11058class DocumentDBReplicaSet:
11059    __slots__ = [
11060        'auth_database',
11061        'bind_interface',
11062        'connect_to_replica',
11063        'egress_filter',
11064        'healthy',
11065        'hostname',
11066        'id',
11067        'name',
11068        'password',
11069        'port_override',
11070        'proxy_cluster_id',
11071        'replica_set',
11072        'secret_store_id',
11073        'subdomain',
11074        'tags',
11075        'username',
11076    ]
11077
11078    def __init__(
11079        self,
11080        auth_database=None,
11081        bind_interface=None,
11082        connect_to_replica=None,
11083        egress_filter=None,
11084        healthy=None,
11085        hostname=None,
11086        id=None,
11087        name=None,
11088        password=None,
11089        port_override=None,
11090        proxy_cluster_id=None,
11091        replica_set=None,
11092        secret_store_id=None,
11093        subdomain=None,
11094        tags=None,
11095        username=None,
11096    ):
11097        self.auth_database = auth_database if auth_database is not None else ''
11098        '''
11099         The authentication database to use.
11100        '''
11101        self.bind_interface = bind_interface if bind_interface is not None else ''
11102        '''
11103         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11104        '''
11105        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
11106        '''
11107         Set to connect to a replica instead of the primary node.
11108        '''
11109        self.egress_filter = egress_filter if egress_filter is not None else ''
11110        '''
11111         A filter applied to the routing logic to pin datasource to nodes.
11112        '''
11113        self.healthy = healthy if healthy is not None else False
11114        '''
11115         True if the datasource is reachable and the credentials are valid.
11116        '''
11117        self.hostname = hostname if hostname is not None else ''
11118        '''
11119         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
11120        '''
11121        self.id = id if id is not None else ''
11122        '''
11123         Unique identifier of the Resource.
11124        '''
11125        self.name = name if name is not None else ''
11126        '''
11127         Unique human-readable name of the Resource.
11128        '''
11129        self.password = password if password is not None else ''
11130        '''
11131         The password to authenticate with.
11132        '''
11133        self.port_override = port_override if port_override is not None else 0
11134        '''
11135         The local port used by clients to connect to this resource.
11136        '''
11137        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11138        '''
11139         ID of the proxy cluster for this resource, if any.
11140        '''
11141        self.replica_set = replica_set if replica_set is not None else ''
11142        '''
11143         The name of the mongo replicaset.
11144        '''
11145        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11146        '''
11147         ID of the secret store containing credentials for this resource, if any.
11148        '''
11149        self.subdomain = subdomain if subdomain is not None else ''
11150        '''
11151         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11152        '''
11153        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11154        '''
11155         Tags is a map of key, value pairs.
11156        '''
11157        self.username = username if username is not None else ''
11158        '''
11159         The username to authenticate with.
11160        '''
11161
11162    def __repr__(self):
11163        return '<sdm.DocumentDBReplicaSet ' + \
11164            'auth_database: ' + repr(self.auth_database) + ' ' +\
11165            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11166            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
11167            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11168            'healthy: ' + repr(self.healthy) + ' ' +\
11169            'hostname: ' + repr(self.hostname) + ' ' +\
11170            'id: ' + repr(self.id) + ' ' +\
11171            'name: ' + repr(self.name) + ' ' +\
11172            'password: ' + repr(self.password) + ' ' +\
11173            'port_override: ' + repr(self.port_override) + ' ' +\
11174            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11175            'replica_set: ' + repr(self.replica_set) + ' ' +\
11176            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11177            'subdomain: ' + repr(self.subdomain) + ' ' +\
11178            'tags: ' + repr(self.tags) + ' ' +\
11179            'username: ' + repr(self.username) + ' ' +\
11180            '>'
11181
11182    def to_dict(self):
11183        return {
11184            'auth_database': self.auth_database,
11185            'bind_interface': self.bind_interface,
11186            'connect_to_replica': self.connect_to_replica,
11187            'egress_filter': self.egress_filter,
11188            'healthy': self.healthy,
11189            'hostname': self.hostname,
11190            'id': self.id,
11191            'name': self.name,
11192            'password': self.password,
11193            'port_override': self.port_override,
11194            'proxy_cluster_id': self.proxy_cluster_id,
11195            'replica_set': self.replica_set,
11196            'secret_store_id': self.secret_store_id,
11197            'subdomain': self.subdomain,
11198            'tags': self.tags,
11199            'username': self.username,
11200        }
11201
11202    @classmethod
11203    def from_dict(cls, d):
11204        return cls(
11205            auth_database=d.get('auth_database'),
11206            bind_interface=d.get('bind_interface'),
11207            connect_to_replica=d.get('connect_to_replica'),
11208            egress_filter=d.get('egress_filter'),
11209            healthy=d.get('healthy'),
11210            hostname=d.get('hostname'),
11211            id=d.get('id'),
11212            name=d.get('name'),
11213            password=d.get('password'),
11214            port_override=d.get('port_override'),
11215            proxy_cluster_id=d.get('proxy_cluster_id'),
11216            replica_set=d.get('replica_set'),
11217            secret_store_id=d.get('secret_store_id'),
11218            subdomain=d.get('subdomain'),
11219            tags=d.get('tags'),
11220            username=d.get('username'),
11221        )
11222
11223
11224class DocumentDBReplicaSetIAM:
11225    '''
11226    DocumentDBReplicaSetIAM is currently unstable, and its API may change, or it may be removed,
11227    without a major version bump.
11228    '''
11229    __slots__ = [
11230        'bind_interface',
11231        'connect_to_replica',
11232        'egress_filter',
11233        'healthy',
11234        'hostname',
11235        'id',
11236        'name',
11237        'port_override',
11238        'proxy_cluster_id',
11239        'region',
11240        'secret_store_id',
11241        'subdomain',
11242        'tags',
11243    ]
11244
11245    def __init__(
11246        self,
11247        bind_interface=None,
11248        connect_to_replica=None,
11249        egress_filter=None,
11250        healthy=None,
11251        hostname=None,
11252        id=None,
11253        name=None,
11254        port_override=None,
11255        proxy_cluster_id=None,
11256        region=None,
11257        secret_store_id=None,
11258        subdomain=None,
11259        tags=None,
11260    ):
11261        self.bind_interface = bind_interface if bind_interface is not None else ''
11262        '''
11263         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11264        '''
11265        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
11266        '''
11267         Set to connect to a replica instead of the primary node.
11268        '''
11269        self.egress_filter = egress_filter if egress_filter is not None else ''
11270        '''
11271         A filter applied to the routing logic to pin datasource to nodes.
11272        '''
11273        self.healthy = healthy if healthy is not None else False
11274        '''
11275         True if the datasource is reachable and the credentials are valid.
11276        '''
11277        self.hostname = hostname if hostname is not None else ''
11278        '''
11279         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
11280        '''
11281        self.id = id if id is not None else ''
11282        '''
11283         Unique identifier of the Resource.
11284        '''
11285        self.name = name if name is not None else ''
11286        '''
11287         Unique human-readable name of the Resource.
11288        '''
11289        self.port_override = port_override if port_override is not None else 0
11290        '''
11291         The local port used by clients to connect to this resource.
11292        '''
11293        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11294        '''
11295         ID of the proxy cluster for this resource, if any.
11296        '''
11297        self.region = region if region is not None else ''
11298        '''
11299         The region of the document db cluster
11300        '''
11301        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11302        '''
11303         ID of the secret store containing credentials for this resource, if any.
11304        '''
11305        self.subdomain = subdomain if subdomain is not None else ''
11306        '''
11307         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11308        '''
11309        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11310        '''
11311         Tags is a map of key, value pairs.
11312        '''
11313
11314    def __repr__(self):
11315        return '<sdm.DocumentDBReplicaSetIAM ' + \
11316            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11317            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
11318            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11319            'healthy: ' + repr(self.healthy) + ' ' +\
11320            'hostname: ' + repr(self.hostname) + ' ' +\
11321            'id: ' + repr(self.id) + ' ' +\
11322            'name: ' + repr(self.name) + ' ' +\
11323            'port_override: ' + repr(self.port_override) + ' ' +\
11324            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11325            'region: ' + repr(self.region) + ' ' +\
11326            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11327            'subdomain: ' + repr(self.subdomain) + ' ' +\
11328            'tags: ' + repr(self.tags) + ' ' +\
11329            '>'
11330
11331    def to_dict(self):
11332        return {
11333            'bind_interface': self.bind_interface,
11334            'connect_to_replica': self.connect_to_replica,
11335            'egress_filter': self.egress_filter,
11336            'healthy': self.healthy,
11337            'hostname': self.hostname,
11338            'id': self.id,
11339            'name': self.name,
11340            'port_override': self.port_override,
11341            'proxy_cluster_id': self.proxy_cluster_id,
11342            'region': self.region,
11343            'secret_store_id': self.secret_store_id,
11344            'subdomain': self.subdomain,
11345            'tags': self.tags,
11346        }
11347
11348    @classmethod
11349    def from_dict(cls, d):
11350        return cls(
11351            bind_interface=d.get('bind_interface'),
11352            connect_to_replica=d.get('connect_to_replica'),
11353            egress_filter=d.get('egress_filter'),
11354            healthy=d.get('healthy'),
11355            hostname=d.get('hostname'),
11356            id=d.get('id'),
11357            name=d.get('name'),
11358            port_override=d.get('port_override'),
11359            proxy_cluster_id=d.get('proxy_cluster_id'),
11360            region=d.get('region'),
11361            secret_store_id=d.get('secret_store_id'),
11362            subdomain=d.get('subdomain'),
11363            tags=d.get('tags'),
11364        )
11365
11366
11367class Druid:
11368    __slots__ = [
11369        'bind_interface',
11370        'egress_filter',
11371        'healthy',
11372        'hostname',
11373        'id',
11374        'name',
11375        'password',
11376        'port',
11377        'port_override',
11378        'proxy_cluster_id',
11379        'secret_store_id',
11380        'subdomain',
11381        'tags',
11382        'username',
11383    ]
11384
11385    def __init__(
11386        self,
11387        bind_interface=None,
11388        egress_filter=None,
11389        healthy=None,
11390        hostname=None,
11391        id=None,
11392        name=None,
11393        password=None,
11394        port=None,
11395        port_override=None,
11396        proxy_cluster_id=None,
11397        secret_store_id=None,
11398        subdomain=None,
11399        tags=None,
11400        username=None,
11401    ):
11402        self.bind_interface = bind_interface if bind_interface is not None else ''
11403        '''
11404         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11405        '''
11406        self.egress_filter = egress_filter if egress_filter is not None else ''
11407        '''
11408         A filter applied to the routing logic to pin datasource to nodes.
11409        '''
11410        self.healthy = healthy if healthy is not None else False
11411        '''
11412         True if the datasource is reachable and the credentials are valid.
11413        '''
11414        self.hostname = hostname if hostname is not None else ''
11415        '''
11416         The host to dial to initiate a connection from the egress node to this resource.
11417        '''
11418        self.id = id if id is not None else ''
11419        '''
11420         Unique identifier of the Resource.
11421        '''
11422        self.name = name if name is not None else ''
11423        '''
11424         Unique human-readable name of the Resource.
11425        '''
11426        self.password = password if password is not None else ''
11427        '''
11428         The password to authenticate with.
11429        '''
11430        self.port = port if port is not None else 0
11431        '''
11432         The port to dial to initiate a connection from the egress node to this resource.
11433        '''
11434        self.port_override = port_override if port_override is not None else 0
11435        '''
11436         The local port used by clients to connect to this resource.
11437        '''
11438        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11439        '''
11440         ID of the proxy cluster for this resource, if any.
11441        '''
11442        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11443        '''
11444         ID of the secret store containing credentials for this resource, if any.
11445        '''
11446        self.subdomain = subdomain if subdomain is not None else ''
11447        '''
11448         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11449        '''
11450        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11451        '''
11452         Tags is a map of key, value pairs.
11453        '''
11454        self.username = username if username is not None else ''
11455        '''
11456         The username to authenticate with.
11457        '''
11458
11459    def __repr__(self):
11460        return '<sdm.Druid ' + \
11461            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11462            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11463            'healthy: ' + repr(self.healthy) + ' ' +\
11464            'hostname: ' + repr(self.hostname) + ' ' +\
11465            'id: ' + repr(self.id) + ' ' +\
11466            'name: ' + repr(self.name) + ' ' +\
11467            'password: ' + repr(self.password) + ' ' +\
11468            'port: ' + repr(self.port) + ' ' +\
11469            'port_override: ' + repr(self.port_override) + ' ' +\
11470            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11471            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11472            'subdomain: ' + repr(self.subdomain) + ' ' +\
11473            'tags: ' + repr(self.tags) + ' ' +\
11474            'username: ' + repr(self.username) + ' ' +\
11475            '>'
11476
11477    def to_dict(self):
11478        return {
11479            'bind_interface': self.bind_interface,
11480            'egress_filter': self.egress_filter,
11481            'healthy': self.healthy,
11482            'hostname': self.hostname,
11483            'id': self.id,
11484            'name': self.name,
11485            'password': self.password,
11486            'port': self.port,
11487            'port_override': self.port_override,
11488            'proxy_cluster_id': self.proxy_cluster_id,
11489            'secret_store_id': self.secret_store_id,
11490            'subdomain': self.subdomain,
11491            'tags': self.tags,
11492            'username': self.username,
11493        }
11494
11495    @classmethod
11496    def from_dict(cls, d):
11497        return cls(
11498            bind_interface=d.get('bind_interface'),
11499            egress_filter=d.get('egress_filter'),
11500            healthy=d.get('healthy'),
11501            hostname=d.get('hostname'),
11502            id=d.get('id'),
11503            name=d.get('name'),
11504            password=d.get('password'),
11505            port=d.get('port'),
11506            port_override=d.get('port_override'),
11507            proxy_cluster_id=d.get('proxy_cluster_id'),
11508            secret_store_id=d.get('secret_store_id'),
11509            subdomain=d.get('subdomain'),
11510            tags=d.get('tags'),
11511            username=d.get('username'),
11512        )
11513
11514
11515class DynamoDB:
11516    __slots__ = [
11517        'access_key',
11518        'bind_interface',
11519        'egress_filter',
11520        'endpoint',
11521        'healthy',
11522        'id',
11523        'name',
11524        'port_override',
11525        'proxy_cluster_id',
11526        'region',
11527        'role_arn',
11528        'role_external_id',
11529        'secret_access_key',
11530        'secret_store_id',
11531        'subdomain',
11532        'tags',
11533    ]
11534
11535    def __init__(
11536        self,
11537        access_key=None,
11538        bind_interface=None,
11539        egress_filter=None,
11540        endpoint=None,
11541        healthy=None,
11542        id=None,
11543        name=None,
11544        port_override=None,
11545        proxy_cluster_id=None,
11546        region=None,
11547        role_arn=None,
11548        role_external_id=None,
11549        secret_access_key=None,
11550        secret_store_id=None,
11551        subdomain=None,
11552        tags=None,
11553    ):
11554        self.access_key = access_key if access_key is not None else ''
11555        '''
11556         The Access Key ID to use to authenticate.
11557        '''
11558        self.bind_interface = bind_interface if bind_interface is not None else ''
11559        '''
11560         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11561        '''
11562        self.egress_filter = egress_filter if egress_filter is not None else ''
11563        '''
11564         A filter applied to the routing logic to pin datasource to nodes.
11565        '''
11566        self.endpoint = endpoint if endpoint is not None else ''
11567        '''
11568         The endpoint to dial e.g. dynamodb.region.amazonaws.com
11569        '''
11570        self.healthy = healthy if healthy is not None else False
11571        '''
11572         True if the datasource is reachable and the credentials are valid.
11573        '''
11574        self.id = id if id is not None else ''
11575        '''
11576         Unique identifier of the Resource.
11577        '''
11578        self.name = name if name is not None else ''
11579        '''
11580         Unique human-readable name of the Resource.
11581        '''
11582        self.port_override = port_override if port_override is not None else 0
11583        '''
11584         The local port used by clients to connect to this resource.
11585        '''
11586        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11587        '''
11588         ID of the proxy cluster for this resource, if any.
11589        '''
11590        self.region = region if region is not None else ''
11591        '''
11592         The region to authenticate requests against e.g. us-east-1
11593        '''
11594        self.role_arn = role_arn if role_arn is not None else ''
11595        '''
11596         The role to assume after logging in.
11597        '''
11598        self.role_external_id = role_external_id if role_external_id is not None else ''
11599        '''
11600         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
11601        '''
11602        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
11603        '''
11604         The Secret Access Key to use to authenticate.
11605        '''
11606        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11607        '''
11608         ID of the secret store containing credentials for this resource, if any.
11609        '''
11610        self.subdomain = subdomain if subdomain is not None else ''
11611        '''
11612         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11613        '''
11614        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11615        '''
11616         Tags is a map of key, value pairs.
11617        '''
11618
11619    def __repr__(self):
11620        return '<sdm.DynamoDB ' + \
11621            'access_key: ' + repr(self.access_key) + ' ' +\
11622            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11623            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11624            'endpoint: ' + repr(self.endpoint) + ' ' +\
11625            'healthy: ' + repr(self.healthy) + ' ' +\
11626            'id: ' + repr(self.id) + ' ' +\
11627            'name: ' + repr(self.name) + ' ' +\
11628            'port_override: ' + repr(self.port_override) + ' ' +\
11629            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11630            'region: ' + repr(self.region) + ' ' +\
11631            'role_arn: ' + repr(self.role_arn) + ' ' +\
11632            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
11633            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
11634            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11635            'subdomain: ' + repr(self.subdomain) + ' ' +\
11636            'tags: ' + repr(self.tags) + ' ' +\
11637            '>'
11638
11639    def to_dict(self):
11640        return {
11641            'access_key': self.access_key,
11642            'bind_interface': self.bind_interface,
11643            'egress_filter': self.egress_filter,
11644            'endpoint': self.endpoint,
11645            'healthy': self.healthy,
11646            'id': self.id,
11647            'name': self.name,
11648            'port_override': self.port_override,
11649            'proxy_cluster_id': self.proxy_cluster_id,
11650            'region': self.region,
11651            'role_arn': self.role_arn,
11652            'role_external_id': self.role_external_id,
11653            'secret_access_key': self.secret_access_key,
11654            'secret_store_id': self.secret_store_id,
11655            'subdomain': self.subdomain,
11656            'tags': self.tags,
11657        }
11658
11659    @classmethod
11660    def from_dict(cls, d):
11661        return cls(
11662            access_key=d.get('access_key'),
11663            bind_interface=d.get('bind_interface'),
11664            egress_filter=d.get('egress_filter'),
11665            endpoint=d.get('endpoint'),
11666            healthy=d.get('healthy'),
11667            id=d.get('id'),
11668            name=d.get('name'),
11669            port_override=d.get('port_override'),
11670            proxy_cluster_id=d.get('proxy_cluster_id'),
11671            region=d.get('region'),
11672            role_arn=d.get('role_arn'),
11673            role_external_id=d.get('role_external_id'),
11674            secret_access_key=d.get('secret_access_key'),
11675            secret_store_id=d.get('secret_store_id'),
11676            subdomain=d.get('subdomain'),
11677            tags=d.get('tags'),
11678        )
11679
11680
11681class DynamoDBIAM:
11682    __slots__ = [
11683        'bind_interface',
11684        'egress_filter',
11685        'endpoint',
11686        'healthy',
11687        'id',
11688        'name',
11689        'port_override',
11690        'proxy_cluster_id',
11691        'region',
11692        'role_arn',
11693        'role_external_id',
11694        'secret_store_id',
11695        'subdomain',
11696        'tags',
11697    ]
11698
11699    def __init__(
11700        self,
11701        bind_interface=None,
11702        egress_filter=None,
11703        endpoint=None,
11704        healthy=None,
11705        id=None,
11706        name=None,
11707        port_override=None,
11708        proxy_cluster_id=None,
11709        region=None,
11710        role_arn=None,
11711        role_external_id=None,
11712        secret_store_id=None,
11713        subdomain=None,
11714        tags=None,
11715    ):
11716        self.bind_interface = bind_interface if bind_interface is not None else ''
11717        '''
11718         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11719        '''
11720        self.egress_filter = egress_filter if egress_filter is not None else ''
11721        '''
11722         A filter applied to the routing logic to pin datasource to nodes.
11723        '''
11724        self.endpoint = endpoint if endpoint is not None else ''
11725        '''
11726         The endpoint to dial e.g. dynamodb.region.amazonaws.com
11727        '''
11728        self.healthy = healthy if healthy is not None else False
11729        '''
11730         True if the datasource is reachable and the credentials are valid.
11731        '''
11732        self.id = id if id is not None else ''
11733        '''
11734         Unique identifier of the Resource.
11735        '''
11736        self.name = name if name is not None else ''
11737        '''
11738         Unique human-readable name of the Resource.
11739        '''
11740        self.port_override = port_override if port_override is not None else 0
11741        '''
11742         The local port used by clients to connect to this resource.
11743        '''
11744        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11745        '''
11746         ID of the proxy cluster for this resource, if any.
11747        '''
11748        self.region = region if region is not None else ''
11749        '''
11750         The region to authenticate requests against e.g. us-east-1
11751        '''
11752        self.role_arn = role_arn if role_arn is not None else ''
11753        '''
11754         The role to assume after logging in.
11755        '''
11756        self.role_external_id = role_external_id if role_external_id is not None else ''
11757        '''
11758         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
11759        '''
11760        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11761        '''
11762         ID of the secret store containing credentials for this resource, if any.
11763        '''
11764        self.subdomain = subdomain if subdomain is not None else ''
11765        '''
11766         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11767        '''
11768        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11769        '''
11770         Tags is a map of key, value pairs.
11771        '''
11772
11773    def __repr__(self):
11774        return '<sdm.DynamoDBIAM ' + \
11775            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11776            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11777            'endpoint: ' + repr(self.endpoint) + ' ' +\
11778            'healthy: ' + repr(self.healthy) + ' ' +\
11779            'id: ' + repr(self.id) + ' ' +\
11780            'name: ' + repr(self.name) + ' ' +\
11781            'port_override: ' + repr(self.port_override) + ' ' +\
11782            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11783            'region: ' + repr(self.region) + ' ' +\
11784            'role_arn: ' + repr(self.role_arn) + ' ' +\
11785            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
11786            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11787            'subdomain: ' + repr(self.subdomain) + ' ' +\
11788            'tags: ' + repr(self.tags) + ' ' +\
11789            '>'
11790
11791    def to_dict(self):
11792        return {
11793            'bind_interface': self.bind_interface,
11794            'egress_filter': self.egress_filter,
11795            'endpoint': self.endpoint,
11796            'healthy': self.healthy,
11797            'id': self.id,
11798            'name': self.name,
11799            'port_override': self.port_override,
11800            'proxy_cluster_id': self.proxy_cluster_id,
11801            'region': self.region,
11802            'role_arn': self.role_arn,
11803            'role_external_id': self.role_external_id,
11804            'secret_store_id': self.secret_store_id,
11805            'subdomain': self.subdomain,
11806            'tags': self.tags,
11807        }
11808
11809    @classmethod
11810    def from_dict(cls, d):
11811        return cls(
11812            bind_interface=d.get('bind_interface'),
11813            egress_filter=d.get('egress_filter'),
11814            endpoint=d.get('endpoint'),
11815            healthy=d.get('healthy'),
11816            id=d.get('id'),
11817            name=d.get('name'),
11818            port_override=d.get('port_override'),
11819            proxy_cluster_id=d.get('proxy_cluster_id'),
11820            region=d.get('region'),
11821            role_arn=d.get('role_arn'),
11822            role_external_id=d.get('role_external_id'),
11823            secret_store_id=d.get('secret_store_id'),
11824            subdomain=d.get('subdomain'),
11825            tags=d.get('tags'),
11826        )
11827
11828
11829class Elastic:
11830    __slots__ = [
11831        'bind_interface',
11832        'egress_filter',
11833        'healthy',
11834        'hostname',
11835        'id',
11836        'name',
11837        'password',
11838        'port',
11839        'port_override',
11840        'proxy_cluster_id',
11841        'secret_store_id',
11842        'subdomain',
11843        'tags',
11844        'tls_required',
11845        'username',
11846    ]
11847
11848    def __init__(
11849        self,
11850        bind_interface=None,
11851        egress_filter=None,
11852        healthy=None,
11853        hostname=None,
11854        id=None,
11855        name=None,
11856        password=None,
11857        port=None,
11858        port_override=None,
11859        proxy_cluster_id=None,
11860        secret_store_id=None,
11861        subdomain=None,
11862        tags=None,
11863        tls_required=None,
11864        username=None,
11865    ):
11866        self.bind_interface = bind_interface if bind_interface is not None else ''
11867        '''
11868         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11869        '''
11870        self.egress_filter = egress_filter if egress_filter is not None else ''
11871        '''
11872         A filter applied to the routing logic to pin datasource to nodes.
11873        '''
11874        self.healthy = healthy if healthy is not None else False
11875        '''
11876         True if the datasource is reachable and the credentials are valid.
11877        '''
11878        self.hostname = hostname if hostname is not None else ''
11879        '''
11880         The host to dial to initiate a connection from the egress node to this resource.
11881        '''
11882        self.id = id if id is not None else ''
11883        '''
11884         Unique identifier of the Resource.
11885        '''
11886        self.name = name if name is not None else ''
11887        '''
11888         Unique human-readable name of the Resource.
11889        '''
11890        self.password = password if password is not None else ''
11891        '''
11892         The password to authenticate with.
11893        '''
11894        self.port = port if port is not None else 0
11895        '''
11896         The port to dial to initiate a connection from the egress node to this resource.
11897        '''
11898        self.port_override = port_override if port_override is not None else 0
11899        '''
11900         The local port used by clients to connect to this resource.
11901        '''
11902        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11903        '''
11904         ID of the proxy cluster for this resource, if any.
11905        '''
11906        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11907        '''
11908         ID of the secret store containing credentials for this resource, if any.
11909        '''
11910        self.subdomain = subdomain if subdomain is not None else ''
11911        '''
11912         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11913        '''
11914        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11915        '''
11916         Tags is a map of key, value pairs.
11917        '''
11918        self.tls_required = tls_required if tls_required is not None else False
11919        '''
11920         If set, TLS must be used to connect to this resource.
11921        '''
11922        self.username = username if username is not None else ''
11923        '''
11924         The username to authenticate with.
11925        '''
11926
11927    def __repr__(self):
11928        return '<sdm.Elastic ' + \
11929            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11930            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11931            'healthy: ' + repr(self.healthy) + ' ' +\
11932            'hostname: ' + repr(self.hostname) + ' ' +\
11933            'id: ' + repr(self.id) + ' ' +\
11934            'name: ' + repr(self.name) + ' ' +\
11935            'password: ' + repr(self.password) + ' ' +\
11936            'port: ' + repr(self.port) + ' ' +\
11937            'port_override: ' + repr(self.port_override) + ' ' +\
11938            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11939            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11940            'subdomain: ' + repr(self.subdomain) + ' ' +\
11941            'tags: ' + repr(self.tags) + ' ' +\
11942            'tls_required: ' + repr(self.tls_required) + ' ' +\
11943            'username: ' + repr(self.username) + ' ' +\
11944            '>'
11945
11946    def to_dict(self):
11947        return {
11948            'bind_interface': self.bind_interface,
11949            'egress_filter': self.egress_filter,
11950            'healthy': self.healthy,
11951            'hostname': self.hostname,
11952            'id': self.id,
11953            'name': self.name,
11954            'password': self.password,
11955            'port': self.port,
11956            'port_override': self.port_override,
11957            'proxy_cluster_id': self.proxy_cluster_id,
11958            'secret_store_id': self.secret_store_id,
11959            'subdomain': self.subdomain,
11960            'tags': self.tags,
11961            'tls_required': self.tls_required,
11962            'username': self.username,
11963        }
11964
11965    @classmethod
11966    def from_dict(cls, d):
11967        return cls(
11968            bind_interface=d.get('bind_interface'),
11969            egress_filter=d.get('egress_filter'),
11970            healthy=d.get('healthy'),
11971            hostname=d.get('hostname'),
11972            id=d.get('id'),
11973            name=d.get('name'),
11974            password=d.get('password'),
11975            port=d.get('port'),
11976            port_override=d.get('port_override'),
11977            proxy_cluster_id=d.get('proxy_cluster_id'),
11978            secret_store_id=d.get('secret_store_id'),
11979            subdomain=d.get('subdomain'),
11980            tags=d.get('tags'),
11981            tls_required=d.get('tls_required'),
11982            username=d.get('username'),
11983        )
11984
11985
11986class ElasticacheRedis:
11987    __slots__ = [
11988        'bind_interface',
11989        'egress_filter',
11990        'healthy',
11991        'hostname',
11992        'id',
11993        'name',
11994        'password',
11995        'port',
11996        'port_override',
11997        'proxy_cluster_id',
11998        'secret_store_id',
11999        'subdomain',
12000        'tags',
12001        'tls_required',
12002        'username',
12003    ]
12004
12005    def __init__(
12006        self,
12007        bind_interface=None,
12008        egress_filter=None,
12009        healthy=None,
12010        hostname=None,
12011        id=None,
12012        name=None,
12013        password=None,
12014        port=None,
12015        port_override=None,
12016        proxy_cluster_id=None,
12017        secret_store_id=None,
12018        subdomain=None,
12019        tags=None,
12020        tls_required=None,
12021        username=None,
12022    ):
12023        self.bind_interface = bind_interface if bind_interface is not None else ''
12024        '''
12025         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12026        '''
12027        self.egress_filter = egress_filter if egress_filter is not None else ''
12028        '''
12029         A filter applied to the routing logic to pin datasource to nodes.
12030        '''
12031        self.healthy = healthy if healthy is not None else False
12032        '''
12033         True if the datasource is reachable and the credentials are valid.
12034        '''
12035        self.hostname = hostname if hostname is not None else ''
12036        '''
12037         The host to dial to initiate a connection from the egress node to this resource.
12038        '''
12039        self.id = id if id is not None else ''
12040        '''
12041         Unique identifier of the Resource.
12042        '''
12043        self.name = name if name is not None else ''
12044        '''
12045         Unique human-readable name of the Resource.
12046        '''
12047        self.password = password if password is not None else ''
12048        '''
12049         The password to authenticate with.
12050        '''
12051        self.port = port if port is not None else 0
12052        '''
12053         The port to dial to initiate a connection from the egress node to this resource.
12054        '''
12055        self.port_override = port_override if port_override is not None else 0
12056        '''
12057         The local port used by clients to connect to this resource.
12058        '''
12059        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12060        '''
12061         ID of the proxy cluster for this resource, if any.
12062        '''
12063        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12064        '''
12065         ID of the secret store containing credentials for this resource, if any.
12066        '''
12067        self.subdomain = subdomain if subdomain is not None else ''
12068        '''
12069         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12070        '''
12071        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12072        '''
12073         Tags is a map of key, value pairs.
12074        '''
12075        self.tls_required = tls_required if tls_required is not None else False
12076        '''
12077         If set, TLS must be used to connect to this resource.
12078        '''
12079        self.username = username if username is not None else ''
12080        '''
12081         The username to authenticate with.
12082        '''
12083
12084    def __repr__(self):
12085        return '<sdm.ElasticacheRedis ' + \
12086            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12087            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12088            'healthy: ' + repr(self.healthy) + ' ' +\
12089            'hostname: ' + repr(self.hostname) + ' ' +\
12090            'id: ' + repr(self.id) + ' ' +\
12091            'name: ' + repr(self.name) + ' ' +\
12092            'password: ' + repr(self.password) + ' ' +\
12093            'port: ' + repr(self.port) + ' ' +\
12094            'port_override: ' + repr(self.port_override) + ' ' +\
12095            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12096            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12097            'subdomain: ' + repr(self.subdomain) + ' ' +\
12098            'tags: ' + repr(self.tags) + ' ' +\
12099            'tls_required: ' + repr(self.tls_required) + ' ' +\
12100            'username: ' + repr(self.username) + ' ' +\
12101            '>'
12102
12103    def to_dict(self):
12104        return {
12105            'bind_interface': self.bind_interface,
12106            'egress_filter': self.egress_filter,
12107            'healthy': self.healthy,
12108            'hostname': self.hostname,
12109            'id': self.id,
12110            'name': self.name,
12111            'password': self.password,
12112            'port': self.port,
12113            'port_override': self.port_override,
12114            'proxy_cluster_id': self.proxy_cluster_id,
12115            'secret_store_id': self.secret_store_id,
12116            'subdomain': self.subdomain,
12117            'tags': self.tags,
12118            'tls_required': self.tls_required,
12119            'username': self.username,
12120        }
12121
12122    @classmethod
12123    def from_dict(cls, d):
12124        return cls(
12125            bind_interface=d.get('bind_interface'),
12126            egress_filter=d.get('egress_filter'),
12127            healthy=d.get('healthy'),
12128            hostname=d.get('hostname'),
12129            id=d.get('id'),
12130            name=d.get('name'),
12131            password=d.get('password'),
12132            port=d.get('port'),
12133            port_override=d.get('port_override'),
12134            proxy_cluster_id=d.get('proxy_cluster_id'),
12135            secret_store_id=d.get('secret_store_id'),
12136            subdomain=d.get('subdomain'),
12137            tags=d.get('tags'),
12138            tls_required=d.get('tls_required'),
12139            username=d.get('username'),
12140        )
12141
12142
12143class GCP:
12144    __slots__ = [
12145        'bind_interface',
12146        'egress_filter',
12147        'healthy',
12148        'id',
12149        'keyfile',
12150        'name',
12151        'port_override',
12152        'proxy_cluster_id',
12153        'scopes',
12154        'secret_store_id',
12155        'subdomain',
12156        'tags',
12157    ]
12158
12159    def __init__(
12160        self,
12161        bind_interface=None,
12162        egress_filter=None,
12163        healthy=None,
12164        id=None,
12165        keyfile=None,
12166        name=None,
12167        port_override=None,
12168        proxy_cluster_id=None,
12169        scopes=None,
12170        secret_store_id=None,
12171        subdomain=None,
12172        tags=None,
12173    ):
12174        self.bind_interface = bind_interface if bind_interface is not None else ''
12175        '''
12176         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12177        '''
12178        self.egress_filter = egress_filter if egress_filter is not None else ''
12179        '''
12180         A filter applied to the routing logic to pin datasource to nodes.
12181        '''
12182        self.healthy = healthy if healthy is not None else False
12183        '''
12184         True if the datasource is reachable and the credentials are valid.
12185        '''
12186        self.id = id if id is not None else ''
12187        '''
12188         Unique identifier of the Resource.
12189        '''
12190        self.keyfile = keyfile if keyfile is not None else ''
12191        '''
12192         The service account keyfile to authenticate with.
12193        '''
12194        self.name = name if name is not None else ''
12195        '''
12196         Unique human-readable name of the Resource.
12197        '''
12198        self.port_override = port_override if port_override is not None else 0
12199        '''
12200         The local port used by clients to connect to this resource.
12201        '''
12202        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12203        '''
12204         ID of the proxy cluster for this resource, if any.
12205        '''
12206        self.scopes = scopes if scopes is not None else ''
12207        '''
12208         Space separated scopes that this login should assume into when authenticating.
12209        '''
12210        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12211        '''
12212         ID of the secret store containing credentials for this resource, if any.
12213        '''
12214        self.subdomain = subdomain if subdomain is not None else ''
12215        '''
12216         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12217        '''
12218        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12219        '''
12220         Tags is a map of key, value pairs.
12221        '''
12222
12223    def __repr__(self):
12224        return '<sdm.GCP ' + \
12225            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12226            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12227            'healthy: ' + repr(self.healthy) + ' ' +\
12228            'id: ' + repr(self.id) + ' ' +\
12229            'keyfile: ' + repr(self.keyfile) + ' ' +\
12230            'name: ' + repr(self.name) + ' ' +\
12231            'port_override: ' + repr(self.port_override) + ' ' +\
12232            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12233            'scopes: ' + repr(self.scopes) + ' ' +\
12234            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12235            'subdomain: ' + repr(self.subdomain) + ' ' +\
12236            'tags: ' + repr(self.tags) + ' ' +\
12237            '>'
12238
12239    def to_dict(self):
12240        return {
12241            'bind_interface': self.bind_interface,
12242            'egress_filter': self.egress_filter,
12243            'healthy': self.healthy,
12244            'id': self.id,
12245            'keyfile': self.keyfile,
12246            'name': self.name,
12247            'port_override': self.port_override,
12248            'proxy_cluster_id': self.proxy_cluster_id,
12249            'scopes': self.scopes,
12250            'secret_store_id': self.secret_store_id,
12251            'subdomain': self.subdomain,
12252            'tags': self.tags,
12253        }
12254
12255    @classmethod
12256    def from_dict(cls, d):
12257        return cls(
12258            bind_interface=d.get('bind_interface'),
12259            egress_filter=d.get('egress_filter'),
12260            healthy=d.get('healthy'),
12261            id=d.get('id'),
12262            keyfile=d.get('keyfile'),
12263            name=d.get('name'),
12264            port_override=d.get('port_override'),
12265            proxy_cluster_id=d.get('proxy_cluster_id'),
12266            scopes=d.get('scopes'),
12267            secret_store_id=d.get('secret_store_id'),
12268            subdomain=d.get('subdomain'),
12269            tags=d.get('tags'),
12270        )
12271
12272
12273class GCPCertX509Store:
12274    __slots__ = [
12275        'caid',
12276        'capoolid',
12277        'id',
12278        'issuedcertttlminutes',
12279        'location',
12280        'name',
12281        'projectid',
12282        'tags',
12283    ]
12284
12285    def __init__(
12286        self,
12287        caid=None,
12288        capoolid=None,
12289        id=None,
12290        issuedcertttlminutes=None,
12291        location=None,
12292        name=None,
12293        projectid=None,
12294        tags=None,
12295    ):
12296        self.caid = caid if caid is not None else ''
12297        '''
12298         The ID of the target CA
12299        '''
12300        self.capoolid = capoolid if capoolid is not None else ''
12301        '''
12302         The ID of the target CA pool
12303        '''
12304        self.id = id if id is not None else ''
12305        '''
12306         Unique identifier of the SecretStore.
12307        '''
12308        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
12309        '''
12310         The lifetime of certificates issued by this CA represented in minutes.
12311        '''
12312        self.location = location if location is not None else ''
12313        '''
12314         The Region for the CA in GCP format e.g. us-west1
12315        '''
12316        self.name = name if name is not None else ''
12317        '''
12318         Unique human-readable name of the SecretStore.
12319        '''
12320        self.projectid = projectid if projectid is not None else ''
12321        '''
12322         The GCP project ID to target.
12323        '''
12324        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12325        '''
12326         Tags is a map of key, value pairs.
12327        '''
12328
12329    def __repr__(self):
12330        return '<sdm.GCPCertX509Store ' + \
12331            'caid: ' + repr(self.caid) + ' ' +\
12332            'capoolid: ' + repr(self.capoolid) + ' ' +\
12333            'id: ' + repr(self.id) + ' ' +\
12334            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
12335            'location: ' + repr(self.location) + ' ' +\
12336            'name: ' + repr(self.name) + ' ' +\
12337            'projectid: ' + repr(self.projectid) + ' ' +\
12338            'tags: ' + repr(self.tags) + ' ' +\
12339            '>'
12340
12341    def to_dict(self):
12342        return {
12343            'caid': self.caid,
12344            'capoolid': self.capoolid,
12345            'id': self.id,
12346            'issuedcertttlminutes': self.issuedcertttlminutes,
12347            'location': self.location,
12348            'name': self.name,
12349            'projectid': self.projectid,
12350            'tags': self.tags,
12351        }
12352
12353    @classmethod
12354    def from_dict(cls, d):
12355        return cls(
12356            caid=d.get('caid'),
12357            capoolid=d.get('capoolid'),
12358            id=d.get('id'),
12359            issuedcertttlminutes=d.get('issuedcertttlminutes'),
12360            location=d.get('location'),
12361            name=d.get('name'),
12362            projectid=d.get('projectid'),
12363            tags=d.get('tags'),
12364        )
12365
12366
12367class GCPConsole:
12368    __slots__ = [
12369        'bind_interface',
12370        'egress_filter',
12371        'healthy',
12372        'id',
12373        'identity_alias_healthcheck_username',
12374        'identity_set_id',
12375        'name',
12376        'port_override',
12377        'proxy_cluster_id',
12378        'secret_store_id',
12379        'session_expiry',
12380        'subdomain',
12381        'tags',
12382        'workforce_pool_id',
12383        'workforce_provider_id',
12384    ]
12385
12386    def __init__(
12387        self,
12388        bind_interface=None,
12389        egress_filter=None,
12390        healthy=None,
12391        id=None,
12392        identity_alias_healthcheck_username=None,
12393        identity_set_id=None,
12394        name=None,
12395        port_override=None,
12396        proxy_cluster_id=None,
12397        secret_store_id=None,
12398        session_expiry=None,
12399        subdomain=None,
12400        tags=None,
12401        workforce_pool_id=None,
12402        workforce_provider_id=None,
12403    ):
12404        self.bind_interface = bind_interface if bind_interface is not None else ''
12405        '''
12406         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12407        '''
12408        self.egress_filter = egress_filter if egress_filter is not None else ''
12409        '''
12410         A filter applied to the routing logic to pin datasource to nodes.
12411        '''
12412        self.healthy = healthy if healthy is not None else False
12413        '''
12414         True if the datasource is reachable and the credentials are valid.
12415        '''
12416        self.id = id if id is not None else ''
12417        '''
12418         Unique identifier of the Resource.
12419        '''
12420        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
12421        '''
12422         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
12423        '''
12424        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
12425        '''
12426         The ID of the identity set to use for identity connections.
12427        '''
12428        self.name = name if name is not None else ''
12429        '''
12430         Unique human-readable name of the Resource.
12431        '''
12432        self.port_override = port_override if port_override is not None else 0
12433        '''
12434         The local port used by clients to connect to this resource.
12435        '''
12436        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12437        '''
12438         ID of the proxy cluster for this resource, if any.
12439        '''
12440        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12441        '''
12442         ID of the secret store containing credentials for this resource, if any.
12443        '''
12444        self.session_expiry = session_expiry if session_expiry is not None else 0
12445        '''
12446         The length of time in seconds console sessions will live before needing to reauthenticate.
12447        '''
12448        self.subdomain = subdomain if subdomain is not None else ''
12449        '''
12450         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12451        '''
12452        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12453        '''
12454         Tags is a map of key, value pairs.
12455        '''
12456        self.workforce_pool_id = workforce_pool_id if workforce_pool_id is not None else ''
12457        '''
12458         The ID of the Workforce Identity Pool in GCP to use for federated authentication.
12459        '''
12460        self.workforce_provider_id = workforce_provider_id if workforce_provider_id is not None else ''
12461        '''
12462         The ID of the Workforce Identity Provider in GCP to use for federated authentication.
12463        '''
12464
12465    def __repr__(self):
12466        return '<sdm.GCPConsole ' + \
12467            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12468            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12469            'healthy: ' + repr(self.healthy) + ' ' +\
12470            'id: ' + repr(self.id) + ' ' +\
12471            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
12472            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
12473            'name: ' + repr(self.name) + ' ' +\
12474            'port_override: ' + repr(self.port_override) + ' ' +\
12475            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12476            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12477            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
12478            'subdomain: ' + repr(self.subdomain) + ' ' +\
12479            'tags: ' + repr(self.tags) + ' ' +\
12480            'workforce_pool_id: ' + repr(self.workforce_pool_id) + ' ' +\
12481            'workforce_provider_id: ' + repr(self.workforce_provider_id) + ' ' +\
12482            '>'
12483
12484    def to_dict(self):
12485        return {
12486            'bind_interface': self.bind_interface,
12487            'egress_filter': self.egress_filter,
12488            'healthy': self.healthy,
12489            'id': self.id,
12490            'identity_alias_healthcheck_username':
12491            self.identity_alias_healthcheck_username,
12492            'identity_set_id': self.identity_set_id,
12493            'name': self.name,
12494            'port_override': self.port_override,
12495            'proxy_cluster_id': self.proxy_cluster_id,
12496            'secret_store_id': self.secret_store_id,
12497            'session_expiry': self.session_expiry,
12498            'subdomain': self.subdomain,
12499            'tags': self.tags,
12500            'workforce_pool_id': self.workforce_pool_id,
12501            'workforce_provider_id': self.workforce_provider_id,
12502        }
12503
12504    @classmethod
12505    def from_dict(cls, d):
12506        return cls(
12507            bind_interface=d.get('bind_interface'),
12508            egress_filter=d.get('egress_filter'),
12509            healthy=d.get('healthy'),
12510            id=d.get('id'),
12511            identity_alias_healthcheck_username=d.get(
12512                'identity_alias_healthcheck_username'),
12513            identity_set_id=d.get('identity_set_id'),
12514            name=d.get('name'),
12515            port_override=d.get('port_override'),
12516            proxy_cluster_id=d.get('proxy_cluster_id'),
12517            secret_store_id=d.get('secret_store_id'),
12518            session_expiry=d.get('session_expiry'),
12519            subdomain=d.get('subdomain'),
12520            tags=d.get('tags'),
12521            workforce_pool_id=d.get('workforce_pool_id'),
12522            workforce_provider_id=d.get('workforce_provider_id'),
12523        )
12524
12525
12526class GCPStore:
12527    __slots__ = [
12528        'id',
12529        'name',
12530        'projectid',
12531        'tags',
12532    ]
12533
12534    def __init__(
12535        self,
12536        id=None,
12537        name=None,
12538        projectid=None,
12539        tags=None,
12540    ):
12541        self.id = id if id is not None else ''
12542        '''
12543         Unique identifier of the SecretStore.
12544        '''
12545        self.name = name if name is not None else ''
12546        '''
12547         Unique human-readable name of the SecretStore.
12548        '''
12549        self.projectid = projectid if projectid is not None else ''
12550        '''
12551         The GCP project ID to target.
12552        '''
12553        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12554        '''
12555         Tags is a map of key, value pairs.
12556        '''
12557
12558    def __repr__(self):
12559        return '<sdm.GCPStore ' + \
12560            'id: ' + repr(self.id) + ' ' +\
12561            'name: ' + repr(self.name) + ' ' +\
12562            'projectid: ' + repr(self.projectid) + ' ' +\
12563            'tags: ' + repr(self.tags) + ' ' +\
12564            '>'
12565
12566    def to_dict(self):
12567        return {
12568            'id': self.id,
12569            'name': self.name,
12570            'projectid': self.projectid,
12571            'tags': self.tags,
12572        }
12573
12574    @classmethod
12575    def from_dict(cls, d):
12576        return cls(
12577            id=d.get('id'),
12578            name=d.get('name'),
12579            projectid=d.get('projectid'),
12580            tags=d.get('tags'),
12581        )
12582
12583
12584class GCPWIF:
12585    __slots__ = [
12586        'bind_interface',
12587        'egress_filter',
12588        'healthy',
12589        'id',
12590        'identity_alias_healthcheck_username',
12591        'identity_set_id',
12592        'name',
12593        'port_override',
12594        'project_id',
12595        'proxy_cluster_id',
12596        'scopes',
12597        'secret_store_id',
12598        'session_expiry',
12599        'subdomain',
12600        'tags',
12601        'workforce_pool_id',
12602        'workforce_provider_id',
12603    ]
12604
12605    def __init__(
12606        self,
12607        bind_interface=None,
12608        egress_filter=None,
12609        healthy=None,
12610        id=None,
12611        identity_alias_healthcheck_username=None,
12612        identity_set_id=None,
12613        name=None,
12614        port_override=None,
12615        project_id=None,
12616        proxy_cluster_id=None,
12617        scopes=None,
12618        secret_store_id=None,
12619        session_expiry=None,
12620        subdomain=None,
12621        tags=None,
12622        workforce_pool_id=None,
12623        workforce_provider_id=None,
12624    ):
12625        self.bind_interface = bind_interface if bind_interface is not None else ''
12626        '''
12627         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12628        '''
12629        self.egress_filter = egress_filter if egress_filter is not None else ''
12630        '''
12631         A filter applied to the routing logic to pin datasource to nodes.
12632        '''
12633        self.healthy = healthy if healthy is not None else False
12634        '''
12635         True if the datasource is reachable and the credentials are valid.
12636        '''
12637        self.id = id if id is not None else ''
12638        '''
12639         Unique identifier of the Resource.
12640        '''
12641        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
12642        '''
12643         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
12644        '''
12645        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
12646        '''
12647         The ID of the identity set to use for identity connections.
12648        '''
12649        self.name = name if name is not None else ''
12650        '''
12651         Unique human-readable name of the Resource.
12652        '''
12653        self.port_override = port_override if port_override is not None else 0
12654        '''
12655         The local port used by clients to connect to this resource.
12656        '''
12657        self.project_id = project_id if project_id is not None else ''
12658        '''
12659         When specified, all project scoped requests will use this Project ID, overriding the project ID specified by clients
12660        '''
12661        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12662        '''
12663         ID of the proxy cluster for this resource, if any.
12664        '''
12665        self.scopes = scopes if scopes is not None else ''
12666        '''
12667         Space separated scopes that this login should assume into when authenticating.
12668        '''
12669        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12670        '''
12671         ID of the secret store containing credentials for this resource, if any.
12672        '''
12673        self.session_expiry = session_expiry if session_expiry is not None else 0
12674        '''
12675         The length of time in seconds console sessions will live before needing to reauthenticate.
12676        '''
12677        self.subdomain = subdomain if subdomain is not None else ''
12678        '''
12679         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12680        '''
12681        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12682        '''
12683         Tags is a map of key, value pairs.
12684        '''
12685        self.workforce_pool_id = workforce_pool_id if workforce_pool_id is not None else ''
12686        '''
12687         The ID of the Workforce Identity Pool in GCP to use for federated authentication.
12688        '''
12689        self.workforce_provider_id = workforce_provider_id if workforce_provider_id is not None else ''
12690        '''
12691         The ID of the Workforce Identity Provider in GCP to use for federated authentication.
12692        '''
12693
12694    def __repr__(self):
12695        return '<sdm.GCPWIF ' + \
12696            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12697            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12698            'healthy: ' + repr(self.healthy) + ' ' +\
12699            'id: ' + repr(self.id) + ' ' +\
12700            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
12701            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
12702            'name: ' + repr(self.name) + ' ' +\
12703            'port_override: ' + repr(self.port_override) + ' ' +\
12704            'project_id: ' + repr(self.project_id) + ' ' +\
12705            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12706            'scopes: ' + repr(self.scopes) + ' ' +\
12707            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12708            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
12709            'subdomain: ' + repr(self.subdomain) + ' ' +\
12710            'tags: ' + repr(self.tags) + ' ' +\
12711            'workforce_pool_id: ' + repr(self.workforce_pool_id) + ' ' +\
12712            'workforce_provider_id: ' + repr(self.workforce_provider_id) + ' ' +\
12713            '>'
12714
12715    def to_dict(self):
12716        return {
12717            'bind_interface': self.bind_interface,
12718            'egress_filter': self.egress_filter,
12719            'healthy': self.healthy,
12720            'id': self.id,
12721            'identity_alias_healthcheck_username':
12722            self.identity_alias_healthcheck_username,
12723            'identity_set_id': self.identity_set_id,
12724            'name': self.name,
12725            'port_override': self.port_override,
12726            'project_id': self.project_id,
12727            'proxy_cluster_id': self.proxy_cluster_id,
12728            'scopes': self.scopes,
12729            'secret_store_id': self.secret_store_id,
12730            'session_expiry': self.session_expiry,
12731            'subdomain': self.subdomain,
12732            'tags': self.tags,
12733            'workforce_pool_id': self.workforce_pool_id,
12734            'workforce_provider_id': self.workforce_provider_id,
12735        }
12736
12737    @classmethod
12738    def from_dict(cls, d):
12739        return cls(
12740            bind_interface=d.get('bind_interface'),
12741            egress_filter=d.get('egress_filter'),
12742            healthy=d.get('healthy'),
12743            id=d.get('id'),
12744            identity_alias_healthcheck_username=d.get(
12745                'identity_alias_healthcheck_username'),
12746            identity_set_id=d.get('identity_set_id'),
12747            name=d.get('name'),
12748            port_override=d.get('port_override'),
12749            project_id=d.get('project_id'),
12750            proxy_cluster_id=d.get('proxy_cluster_id'),
12751            scopes=d.get('scopes'),
12752            secret_store_id=d.get('secret_store_id'),
12753            session_expiry=d.get('session_expiry'),
12754            subdomain=d.get('subdomain'),
12755            tags=d.get('tags'),
12756            workforce_pool_id=d.get('workforce_pool_id'),
12757            workforce_provider_id=d.get('workforce_provider_id'),
12758        )
12759
12760
12761class Gateway:
12762    '''
12763         Gateway represents a StrongDM CLI installation running in gateway mode.
12764    '''
12765    __slots__ = [
12766        'bind_address',
12767        'device',
12768        'gateway_filter',
12769        'id',
12770        'listen_address',
12771        'location',
12772        'maintenance_windows',
12773        'name',
12774        'state',
12775        'tags',
12776        'version',
12777    ]
12778
12779    def __init__(
12780        self,
12781        bind_address=None,
12782        device=None,
12783        gateway_filter=None,
12784        id=None,
12785        listen_address=None,
12786        location=None,
12787        maintenance_windows=None,
12788        name=None,
12789        state=None,
12790        tags=None,
12791        version=None,
12792    ):
12793        self.bind_address = bind_address if bind_address is not None else ''
12794        '''
12795         The hostname/port tuple which the gateway daemon will bind to.
12796         If not provided on create, set to "0.0.0.0:listen_address_port".
12797        '''
12798        self.device = device if device is not None else ''
12799        '''
12800         Device is a read only device name uploaded by the gateway process when
12801         it comes online.
12802        '''
12803        self.gateway_filter = gateway_filter if gateway_filter is not None else ''
12804        '''
12805         GatewayFilter can be used to restrict the peering between relays and
12806         gateways. Deprecated.
12807        '''
12808        self.id = id if id is not None else ''
12809        '''
12810         Unique identifier of the Gateway.
12811        '''
12812        self.listen_address = listen_address if listen_address is not None else ''
12813        '''
12814         The public hostname/port tuple at which the gateway will be accessible to clients.
12815        '''
12816        self.location = location if location is not None else ''
12817        '''
12818         Location is a read only network location uploaded by the gateway process
12819         when it comes online.
12820        '''
12821        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
12822        '''
12823         Maintenance Windows define when this node is allowed to restart. If a node
12824         is requested to restart, it will check each window to determine if any of
12825         them permit it to restart, and if any do, it will. This check is repeated
12826         per window until the restart is successfully completed.
12827         
12828         If not set here, may be set on the command line or via an environment variable
12829         on the process itself; any server setting will take precedence over local
12830         settings. This setting is ineffective for nodes below version 38.44.0.
12831         
12832         If this setting is not applied via this remote configuration or via local
12833         configuration, the default setting is used: always allow restarts if serving
12834         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
12835        '''
12836        self.name = name if name is not None else ''
12837        '''
12838         Unique human-readable name of the Gateway. Node names must include only letters, numbers, and hyphens (no spaces, underscores, or other special characters). Generated if not provided on create.
12839        '''
12840        self.state = state if state is not None else ''
12841        '''
12842         The current state of the gateway. One of: "new", "verifying_restart",
12843         "restarting", "started", "stopped", "dead", "unknown"
12844        '''
12845        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12846        '''
12847         Tags is a map of key, value pairs.
12848        '''
12849        self.version = version if version is not None else ''
12850        '''
12851         Version is a read only sdm binary version uploaded by the gateway process
12852         when it comes online.
12853        '''
12854
12855    def __repr__(self):
12856        return '<sdm.Gateway ' + \
12857            'bind_address: ' + repr(self.bind_address) + ' ' +\
12858            'device: ' + repr(self.device) + ' ' +\
12859            'gateway_filter: ' + repr(self.gateway_filter) + ' ' +\
12860            'id: ' + repr(self.id) + ' ' +\
12861            'listen_address: ' + repr(self.listen_address) + ' ' +\
12862            'location: ' + repr(self.location) + ' ' +\
12863            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
12864            'name: ' + repr(self.name) + ' ' +\
12865            'state: ' + repr(self.state) + ' ' +\
12866            'tags: ' + repr(self.tags) + ' ' +\
12867            'version: ' + repr(self.version) + ' ' +\
12868            '>'
12869
12870    def to_dict(self):
12871        return {
12872            'bind_address': self.bind_address,
12873            'device': self.device,
12874            'gateway_filter': self.gateway_filter,
12875            'id': self.id,
12876            'listen_address': self.listen_address,
12877            'location': self.location,
12878            'maintenance_windows': self.maintenance_windows,
12879            'name': self.name,
12880            'state': self.state,
12881            'tags': self.tags,
12882            'version': self.version,
12883        }
12884
12885    @classmethod
12886    def from_dict(cls, d):
12887        return cls(
12888            bind_address=d.get('bind_address'),
12889            device=d.get('device'),
12890            gateway_filter=d.get('gateway_filter'),
12891            id=d.get('id'),
12892            listen_address=d.get('listen_address'),
12893            location=d.get('location'),
12894            maintenance_windows=d.get('maintenance_windows'),
12895            name=d.get('name'),
12896            state=d.get('state'),
12897            tags=d.get('tags'),
12898            version=d.get('version'),
12899        )
12900
12901
12902class GenerateKeysRequest:
12903    __slots__ = [
12904        'secret_engine_id',
12905    ]
12906
12907    def __init__(
12908        self,
12909        secret_engine_id=None,
12910    ):
12911        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
12912        '''
12913         required
12914        '''
12915
12916    def __repr__(self):
12917        return '<sdm.GenerateKeysRequest ' + \
12918            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
12919            '>'
12920
12921    def to_dict(self):
12922        return {
12923            'secret_engine_id': self.secret_engine_id,
12924        }
12925
12926    @classmethod
12927    def from_dict(cls, d):
12928        return cls(secret_engine_id=d.get('secret_engine_id'), )
12929
12930
12931class GenerateKeysResponse:
12932    __slots__ = [
12933        'rate_limit',
12934    ]
12935
12936    def __init__(
12937        self,
12938        rate_limit=None,
12939    ):
12940        self.rate_limit = rate_limit if rate_limit is not None else None
12941        '''
12942         Rate limit information.
12943        '''
12944
12945    def __repr__(self):
12946        return '<sdm.GenerateKeysResponse ' + \
12947            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
12948            '>'
12949
12950    def to_dict(self):
12951        return {
12952            'rate_limit': self.rate_limit,
12953        }
12954
12955    @classmethod
12956    def from_dict(cls, d):
12957        return cls(rate_limit=d.get('rate_limit'), )
12958
12959
12960class GenericResponseMetadata:
12961    '''
12962         GenericResponseMetadata contains common headers for generic request
12963     responses.
12964    '''
12965    __slots__ = []
12966
12967    def __init__(self, ):
12968        pass
12969
12970    def __repr__(self):
12971        return '<sdm.GenericResponseMetadata ' + \
12972            '>'
12973
12974    def to_dict(self):
12975        return {}
12976
12977    @classmethod
12978    def from_dict(cls, d):
12979        return cls()
12980
12981
12982class GetResponseMetadata:
12983    '''
12984         GetResponseMetadata is reserved for future use.
12985    '''
12986    __slots__ = []
12987
12988    def __init__(self, ):
12989        pass
12990
12991    def __repr__(self):
12992        return '<sdm.GetResponseMetadata ' + \
12993            '>'
12994
12995    def to_dict(self):
12996        return {}
12997
12998    @classmethod
12999    def from_dict(cls, d):
13000        return cls()
13001
13002
13003class GoogleGKE:
13004    __slots__ = [
13005        'allow_resource_role_bypass',
13006        'bind_interface',
13007        'certificate_authority',
13008        'discovery_enabled',
13009        'discovery_username',
13010        'egress_filter',
13011        'endpoint',
13012        'healthcheck_namespace',
13013        'healthy',
13014        'id',
13015        'identity_alias_healthcheck_username',
13016        'identity_set_id',
13017        'name',
13018        'port_override',
13019        'proxy_cluster_id',
13020        'secret_store_id',
13021        'service_account_key',
13022        'subdomain',
13023        'tags',
13024    ]
13025
13026    def __init__(
13027        self,
13028        allow_resource_role_bypass=None,
13029        bind_interface=None,
13030        certificate_authority=None,
13031        discovery_enabled=None,
13032        discovery_username=None,
13033        egress_filter=None,
13034        endpoint=None,
13035        healthcheck_namespace=None,
13036        healthy=None,
13037        id=None,
13038        identity_alias_healthcheck_username=None,
13039        identity_set_id=None,
13040        name=None,
13041        port_override=None,
13042        proxy_cluster_id=None,
13043        secret_store_id=None,
13044        service_account_key=None,
13045        subdomain=None,
13046        tags=None,
13047    ):
13048        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
13049        '''
13050         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
13051         when a resource role is not provided.
13052        '''
13053        self.bind_interface = bind_interface if bind_interface is not None else ''
13054        '''
13055         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13056        '''
13057        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
13058        '''
13059         The CA to authenticate TLS connections with.
13060        '''
13061        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
13062        '''
13063         If true, configures discovery of a cluster to be run from a node.
13064        '''
13065        self.discovery_username = discovery_username if discovery_username is not None else ''
13066        '''
13067         If a cluster is configured for user impersonation, this is the user to impersonate when
13068         running discovery.
13069        '''
13070        self.egress_filter = egress_filter if egress_filter is not None else ''
13071        '''
13072         A filter applied to the routing logic to pin datasource to nodes.
13073        '''
13074        self.endpoint = endpoint if endpoint is not None else ''
13075        '''
13076         The endpoint to dial.
13077        '''
13078        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
13079        '''
13080         The path used to check the health of your connection.  Defaults to `default`.
13081        '''
13082        self.healthy = healthy if healthy is not None else False
13083        '''
13084         True if the datasource is reachable and the credentials are valid.
13085        '''
13086        self.id = id if id is not None else ''
13087        '''
13088         Unique identifier of the Resource.
13089        '''
13090        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
13091        '''
13092         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
13093        '''
13094        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
13095        '''
13096         The ID of the identity set to use for identity connections.
13097        '''
13098        self.name = name if name is not None else ''
13099        '''
13100         Unique human-readable name of the Resource.
13101        '''
13102        self.port_override = port_override if port_override is not None else 0
13103        '''
13104         The local port used by clients to connect to this resource.
13105        '''
13106        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13107        '''
13108         ID of the proxy cluster for this resource, if any.
13109        '''
13110        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13111        '''
13112         ID of the secret store containing credentials for this resource, if any.
13113        '''
13114        self.service_account_key = service_account_key if service_account_key is not None else ''
13115        '''
13116         The service account key to authenticate with.
13117        '''
13118        self.subdomain = subdomain if subdomain is not None else ''
13119        '''
13120         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13121        '''
13122        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13123        '''
13124         Tags is a map of key, value pairs.
13125        '''
13126
13127    def __repr__(self):
13128        return '<sdm.GoogleGKE ' + \
13129            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
13130            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13131            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
13132            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
13133            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
13134            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13135            'endpoint: ' + repr(self.endpoint) + ' ' +\
13136            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
13137            'healthy: ' + repr(self.healthy) + ' ' +\
13138            'id: ' + repr(self.id) + ' ' +\
13139            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
13140            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
13141            'name: ' + repr(self.name) + ' ' +\
13142            'port_override: ' + repr(self.port_override) + ' ' +\
13143            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13144            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13145            'service_account_key: ' + repr(self.service_account_key) + ' ' +\
13146            'subdomain: ' + repr(self.subdomain) + ' ' +\
13147            'tags: ' + repr(self.tags) + ' ' +\
13148            '>'
13149
13150    def to_dict(self):
13151        return {
13152            'allow_resource_role_bypass': self.allow_resource_role_bypass,
13153            'bind_interface': self.bind_interface,
13154            'certificate_authority': self.certificate_authority,
13155            'discovery_enabled': self.discovery_enabled,
13156            'discovery_username': self.discovery_username,
13157            'egress_filter': self.egress_filter,
13158            'endpoint': self.endpoint,
13159            'healthcheck_namespace': self.healthcheck_namespace,
13160            'healthy': self.healthy,
13161            'id': self.id,
13162            'identity_alias_healthcheck_username':
13163            self.identity_alias_healthcheck_username,
13164            'identity_set_id': self.identity_set_id,
13165            'name': self.name,
13166            'port_override': self.port_override,
13167            'proxy_cluster_id': self.proxy_cluster_id,
13168            'secret_store_id': self.secret_store_id,
13169            'service_account_key': self.service_account_key,
13170            'subdomain': self.subdomain,
13171            'tags': self.tags,
13172        }
13173
13174    @classmethod
13175    def from_dict(cls, d):
13176        return cls(
13177            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
13178            bind_interface=d.get('bind_interface'),
13179            certificate_authority=d.get('certificate_authority'),
13180            discovery_enabled=d.get('discovery_enabled'),
13181            discovery_username=d.get('discovery_username'),
13182            egress_filter=d.get('egress_filter'),
13183            endpoint=d.get('endpoint'),
13184            healthcheck_namespace=d.get('healthcheck_namespace'),
13185            healthy=d.get('healthy'),
13186            id=d.get('id'),
13187            identity_alias_healthcheck_username=d.get(
13188                'identity_alias_healthcheck_username'),
13189            identity_set_id=d.get('identity_set_id'),
13190            name=d.get('name'),
13191            port_override=d.get('port_override'),
13192            proxy_cluster_id=d.get('proxy_cluster_id'),
13193            secret_store_id=d.get('secret_store_id'),
13194            service_account_key=d.get('service_account_key'),
13195            subdomain=d.get('subdomain'),
13196            tags=d.get('tags'),
13197        )
13198
13199
13200class GoogleGKEUserImpersonation:
13201    __slots__ = [
13202        'bind_interface',
13203        'certificate_authority',
13204        'egress_filter',
13205        'endpoint',
13206        'healthcheck_namespace',
13207        'healthy',
13208        'id',
13209        'name',
13210        'port_override',
13211        'proxy_cluster_id',
13212        'secret_store_id',
13213        'service_account_key',
13214        'subdomain',
13215        'tags',
13216    ]
13217
13218    def __init__(
13219        self,
13220        bind_interface=None,
13221        certificate_authority=None,
13222        egress_filter=None,
13223        endpoint=None,
13224        healthcheck_namespace=None,
13225        healthy=None,
13226        id=None,
13227        name=None,
13228        port_override=None,
13229        proxy_cluster_id=None,
13230        secret_store_id=None,
13231        service_account_key=None,
13232        subdomain=None,
13233        tags=None,
13234    ):
13235        self.bind_interface = bind_interface if bind_interface is not None else ''
13236        '''
13237         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13238        '''
13239        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
13240        '''
13241         The CA to authenticate TLS connections with.
13242        '''
13243        self.egress_filter = egress_filter if egress_filter is not None else ''
13244        '''
13245         A filter applied to the routing logic to pin datasource to nodes.
13246        '''
13247        self.endpoint = endpoint if endpoint is not None else ''
13248        '''
13249         The endpoint to dial.
13250        '''
13251        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
13252        '''
13253         The path used to check the health of your connection.  Defaults to `default`.
13254        '''
13255        self.healthy = healthy if healthy is not None else False
13256        '''
13257         True if the datasource is reachable and the credentials are valid.
13258        '''
13259        self.id = id if id is not None else ''
13260        '''
13261         Unique identifier of the Resource.
13262        '''
13263        self.name = name if name is not None else ''
13264        '''
13265         Unique human-readable name of the Resource.
13266        '''
13267        self.port_override = port_override if port_override is not None else 0
13268        '''
13269         The local port used by clients to connect to this resource.
13270        '''
13271        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13272        '''
13273         ID of the proxy cluster for this resource, if any.
13274        '''
13275        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13276        '''
13277         ID of the secret store containing credentials for this resource, if any.
13278        '''
13279        self.service_account_key = service_account_key if service_account_key is not None else ''
13280        '''
13281         The service account key to authenticate with.
13282        '''
13283        self.subdomain = subdomain if subdomain is not None else ''
13284        '''
13285         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13286        '''
13287        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13288        '''
13289         Tags is a map of key, value pairs.
13290        '''
13291
13292    def __repr__(self):
13293        return '<sdm.GoogleGKEUserImpersonation ' + \
13294            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13295            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
13296            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13297            'endpoint: ' + repr(self.endpoint) + ' ' +\
13298            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
13299            'healthy: ' + repr(self.healthy) + ' ' +\
13300            'id: ' + repr(self.id) + ' ' +\
13301            'name: ' + repr(self.name) + ' ' +\
13302            'port_override: ' + repr(self.port_override) + ' ' +\
13303            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13304            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13305            'service_account_key: ' + repr(self.service_account_key) + ' ' +\
13306            'subdomain: ' + repr(self.subdomain) + ' ' +\
13307            'tags: ' + repr(self.tags) + ' ' +\
13308            '>'
13309
13310    def to_dict(self):
13311        return {
13312            'bind_interface': self.bind_interface,
13313            'certificate_authority': self.certificate_authority,
13314            'egress_filter': self.egress_filter,
13315            'endpoint': self.endpoint,
13316            'healthcheck_namespace': self.healthcheck_namespace,
13317            'healthy': self.healthy,
13318            'id': self.id,
13319            'name': self.name,
13320            'port_override': self.port_override,
13321            'proxy_cluster_id': self.proxy_cluster_id,
13322            'secret_store_id': self.secret_store_id,
13323            'service_account_key': self.service_account_key,
13324            'subdomain': self.subdomain,
13325            'tags': self.tags,
13326        }
13327
13328    @classmethod
13329    def from_dict(cls, d):
13330        return cls(
13331            bind_interface=d.get('bind_interface'),
13332            certificate_authority=d.get('certificate_authority'),
13333            egress_filter=d.get('egress_filter'),
13334            endpoint=d.get('endpoint'),
13335            healthcheck_namespace=d.get('healthcheck_namespace'),
13336            healthy=d.get('healthy'),
13337            id=d.get('id'),
13338            name=d.get('name'),
13339            port_override=d.get('port_override'),
13340            proxy_cluster_id=d.get('proxy_cluster_id'),
13341            secret_store_id=d.get('secret_store_id'),
13342            service_account_key=d.get('service_account_key'),
13343            subdomain=d.get('subdomain'),
13344            tags=d.get('tags'),
13345        )
13346
13347
13348class Greenplum:
13349    __slots__ = [
13350        'bind_interface',
13351        'database',
13352        'egress_filter',
13353        'healthy',
13354        'hostname',
13355        'id',
13356        'name',
13357        'override_database',
13358        'password',
13359        'port',
13360        'port_override',
13361        'proxy_cluster_id',
13362        'secret_store_id',
13363        'subdomain',
13364        'tags',
13365        'username',
13366    ]
13367
13368    def __init__(
13369        self,
13370        bind_interface=None,
13371        database=None,
13372        egress_filter=None,
13373        healthy=None,
13374        hostname=None,
13375        id=None,
13376        name=None,
13377        override_database=None,
13378        password=None,
13379        port=None,
13380        port_override=None,
13381        proxy_cluster_id=None,
13382        secret_store_id=None,
13383        subdomain=None,
13384        tags=None,
13385        username=None,
13386    ):
13387        self.bind_interface = bind_interface if bind_interface is not None else ''
13388        '''
13389         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13390        '''
13391        self.database = database if database is not None else ''
13392        '''
13393         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
13394        '''
13395        self.egress_filter = egress_filter if egress_filter is not None else ''
13396        '''
13397         A filter applied to the routing logic to pin datasource to nodes.
13398        '''
13399        self.healthy = healthy if healthy is not None else False
13400        '''
13401         True if the datasource is reachable and the credentials are valid.
13402        '''
13403        self.hostname = hostname if hostname is not None else ''
13404        '''
13405         The host to dial to initiate a connection from the egress node to this resource.
13406        '''
13407        self.id = id if id is not None else ''
13408        '''
13409         Unique identifier of the Resource.
13410        '''
13411        self.name = name if name is not None else ''
13412        '''
13413         Unique human-readable name of the Resource.
13414        '''
13415        self.override_database = override_database if override_database is not None else False
13416        '''
13417         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
13418        '''
13419        self.password = password if password is not None else ''
13420        '''
13421         The password to authenticate with.
13422        '''
13423        self.port = port if port is not None else 0
13424        '''
13425         The port to dial to initiate a connection from the egress node to this resource.
13426        '''
13427        self.port_override = port_override if port_override is not None else 0
13428        '''
13429         The local port used by clients to connect to this resource.
13430        '''
13431        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13432        '''
13433         ID of the proxy cluster for this resource, if any.
13434        '''
13435        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13436        '''
13437         ID of the secret store containing credentials for this resource, if any.
13438        '''
13439        self.subdomain = subdomain if subdomain is not None else ''
13440        '''
13441         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13442        '''
13443        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13444        '''
13445         Tags is a map of key, value pairs.
13446        '''
13447        self.username = username if username is not None else ''
13448        '''
13449         The username to authenticate with.
13450        '''
13451
13452    def __repr__(self):
13453        return '<sdm.Greenplum ' + \
13454            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13455            'database: ' + repr(self.database) + ' ' +\
13456            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13457            'healthy: ' + repr(self.healthy) + ' ' +\
13458            'hostname: ' + repr(self.hostname) + ' ' +\
13459            'id: ' + repr(self.id) + ' ' +\
13460            'name: ' + repr(self.name) + ' ' +\
13461            'override_database: ' + repr(self.override_database) + ' ' +\
13462            'password: ' + repr(self.password) + ' ' +\
13463            'port: ' + repr(self.port) + ' ' +\
13464            'port_override: ' + repr(self.port_override) + ' ' +\
13465            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13466            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13467            'subdomain: ' + repr(self.subdomain) + ' ' +\
13468            'tags: ' + repr(self.tags) + ' ' +\
13469            'username: ' + repr(self.username) + ' ' +\
13470            '>'
13471
13472    def to_dict(self):
13473        return {
13474            'bind_interface': self.bind_interface,
13475            'database': self.database,
13476            'egress_filter': self.egress_filter,
13477            'healthy': self.healthy,
13478            'hostname': self.hostname,
13479            'id': self.id,
13480            'name': self.name,
13481            'override_database': self.override_database,
13482            'password': self.password,
13483            'port': self.port,
13484            'port_override': self.port_override,
13485            'proxy_cluster_id': self.proxy_cluster_id,
13486            'secret_store_id': self.secret_store_id,
13487            'subdomain': self.subdomain,
13488            'tags': self.tags,
13489            'username': self.username,
13490        }
13491
13492    @classmethod
13493    def from_dict(cls, d):
13494        return cls(
13495            bind_interface=d.get('bind_interface'),
13496            database=d.get('database'),
13497            egress_filter=d.get('egress_filter'),
13498            healthy=d.get('healthy'),
13499            hostname=d.get('hostname'),
13500            id=d.get('id'),
13501            name=d.get('name'),
13502            override_database=d.get('override_database'),
13503            password=d.get('password'),
13504            port=d.get('port'),
13505            port_override=d.get('port_override'),
13506            proxy_cluster_id=d.get('proxy_cluster_id'),
13507            secret_store_id=d.get('secret_store_id'),
13508            subdomain=d.get('subdomain'),
13509            tags=d.get('tags'),
13510            username=d.get('username'),
13511        )
13512
13513
13514class HTTPAuth:
13515    __slots__ = [
13516        'auth_header',
13517        'bind_interface',
13518        'default_path',
13519        'egress_filter',
13520        'headers_blacklist',
13521        'healthcheck_path',
13522        'healthy',
13523        'host_override',
13524        'id',
13525        'name',
13526        'port_override',
13527        'proxy_cluster_id',
13528        'secret_store_id',
13529        'subdomain',
13530        'tags',
13531        'url',
13532    ]
13533
13534    def __init__(
13535        self,
13536        auth_header=None,
13537        bind_interface=None,
13538        default_path=None,
13539        egress_filter=None,
13540        headers_blacklist=None,
13541        healthcheck_path=None,
13542        healthy=None,
13543        host_override=None,
13544        id=None,
13545        name=None,
13546        port_override=None,
13547        proxy_cluster_id=None,
13548        secret_store_id=None,
13549        subdomain=None,
13550        tags=None,
13551        url=None,
13552    ):
13553        self.auth_header = auth_header if auth_header is not None else ''
13554        '''
13555         The content to set as the authorization header.
13556        '''
13557        self.bind_interface = bind_interface if bind_interface is not None else ''
13558        '''
13559         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13560        '''
13561        self.default_path = default_path if default_path is not None else ''
13562        '''
13563         Automatically redirect to this path upon connecting.
13564        '''
13565        self.egress_filter = egress_filter if egress_filter is not None else ''
13566        '''
13567         A filter applied to the routing logic to pin datasource to nodes.
13568        '''
13569        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
13570        '''
13571         Header names (e.g. Authorization), to omit from logs.
13572        '''
13573        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
13574        '''
13575         This path will be used to check the health of your site.
13576        '''
13577        self.healthy = healthy if healthy is not None else False
13578        '''
13579         True if the datasource is reachable and the credentials are valid.
13580        '''
13581        self.host_override = host_override if host_override is not None else ''
13582        '''
13583         The host header will be overwritten with this field if provided.
13584        '''
13585        self.id = id if id is not None else ''
13586        '''
13587         Unique identifier of the Resource.
13588        '''
13589        self.name = name if name is not None else ''
13590        '''
13591         Unique human-readable name of the Resource.
13592        '''
13593        self.port_override = port_override if port_override is not None else 0
13594        '''
13595         The local port used by clients to connect to this resource.
13596        '''
13597        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13598        '''
13599         ID of the proxy cluster for this resource, if any.
13600        '''
13601        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13602        '''
13603         ID of the secret store containing credentials for this resource, if any.
13604        '''
13605        self.subdomain = subdomain if subdomain is not None else ''
13606        '''
13607         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13608        '''
13609        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13610        '''
13611         Tags is a map of key, value pairs.
13612        '''
13613        self.url = url if url is not None else ''
13614        '''
13615         The base address of your website without the path.
13616        '''
13617
13618    def __repr__(self):
13619        return '<sdm.HTTPAuth ' + \
13620            'auth_header: ' + repr(self.auth_header) + ' ' +\
13621            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13622            'default_path: ' + repr(self.default_path) + ' ' +\
13623            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13624            'headers_blacklist: ' + repr(self.headers_blacklist) + ' ' +\
13625            'healthcheck_path: ' + repr(self.healthcheck_path) + ' ' +\
13626            'healthy: ' + repr(self.healthy) + ' ' +\
13627            'host_override: ' + repr(self.host_override) + ' ' +\
13628            'id: ' + repr(self.id) + ' ' +\
13629            'name: ' + repr(self.name) + ' ' +\
13630            'port_override: ' + repr(self.port_override) + ' ' +\
13631            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13632            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13633            'subdomain: ' + repr(self.subdomain) + ' ' +\
13634            'tags: ' + repr(self.tags) + ' ' +\
13635            'url: ' + repr(self.url) + ' ' +\
13636            '>'
13637
13638    def to_dict(self):
13639        return {
13640            'auth_header': self.auth_header,
13641            'bind_interface': self.bind_interface,
13642            'default_path': self.default_path,
13643            'egress_filter': self.egress_filter,
13644            'headers_blacklist': self.headers_blacklist,
13645            'healthcheck_path': self.healthcheck_path,
13646            'healthy': self.healthy,
13647            'host_override': self.host_override,
13648            'id': self.id,
13649            'name': self.name,
13650            'port_override': self.port_override,
13651            'proxy_cluster_id': self.proxy_cluster_id,
13652            'secret_store_id': self.secret_store_id,
13653            'subdomain': self.subdomain,
13654            'tags': self.tags,
13655            'url': self.url,
13656        }
13657
13658    @classmethod
13659    def from_dict(cls, d):
13660        return cls(
13661            auth_header=d.get('auth_header'),
13662            bind_interface=d.get('bind_interface'),
13663            default_path=d.get('default_path'),
13664            egress_filter=d.get('egress_filter'),
13665            headers_blacklist=d.get('headers_blacklist'),
13666            healthcheck_path=d.get('healthcheck_path'),
13667            healthy=d.get('healthy'),
13668            host_override=d.get('host_override'),
13669            id=d.get('id'),
13670            name=d.get('name'),
13671            port_override=d.get('port_override'),
13672            proxy_cluster_id=d.get('proxy_cluster_id'),
13673            secret_store_id=d.get('secret_store_id'),
13674            subdomain=d.get('subdomain'),
13675            tags=d.get('tags'),
13676            url=d.get('url'),
13677        )
13678
13679
13680class HTTPBasicAuth:
13681    __slots__ = [
13682        'bind_interface',
13683        'default_path',
13684        'egress_filter',
13685        'headers_blacklist',
13686        'healthcheck_path',
13687        'healthy',
13688        'host_override',
13689        'id',
13690        'name',
13691        'password',
13692        'port_override',
13693        'proxy_cluster_id',
13694        'secret_store_id',
13695        'subdomain',
13696        'tags',
13697        'url',
13698        'username',
13699    ]
13700
13701    def __init__(
13702        self,
13703        bind_interface=None,
13704        default_path=None,
13705        egress_filter=None,
13706        headers_blacklist=None,
13707        healthcheck_path=None,
13708        healthy=None,
13709        host_override=None,
13710        id=None,
13711        name=None,
13712        password=None,
13713        port_override=None,
13714        proxy_cluster_id=None,
13715        secret_store_id=None,
13716        subdomain=None,
13717        tags=None,
13718        url=None,
13719        username=None,
13720    ):
13721        self.bind_interface = bind_interface if bind_interface is not None else ''
13722        '''
13723         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13724        '''
13725        self.default_path = default_path if default_path is not None else ''
13726        '''
13727         Automatically redirect to this path upon connecting.
13728        '''
13729        self.egress_filter = egress_filter if egress_filter is not None else ''
13730        '''
13731         A filter applied to the routing logic to pin datasource to nodes.
13732        '''
13733        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
13734        '''
13735         Header names (e.g. Authorization), to omit from logs.
13736        '''
13737        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
13738        '''
13739         This path will be used to check the health of your site.
13740        '''
13741        self.healthy = healthy if healthy is not None else False
13742        '''
13743         True if the datasource is reachable and the credentials are valid.
13744        '''
13745        self.host_override = host_override if host_override is not None else ''
13746        '''
13747         The host header will be overwritten with this field if provided.
13748        '''
13749        self.id = id if id is not None else ''
13750        '''
13751         Unique identifier of the Resource.
13752        '''
13753        self.name = name if name is not None else ''
13754        '''
13755         Unique human-readable name of the Resource.
13756        '''
13757        self.password = password if password is not None else ''
13758        '''
13759         The password to authenticate with.
13760        '''
13761        self.port_override = port_override if port_override is not None else 0
13762        '''
13763         The local port used by clients to connect to this resource.
13764        '''
13765        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13766        '''
13767         ID of the proxy cluster for this resource, if any.
13768        '''
13769        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13770        '''
13771         ID of the secret store containing credentials for this resource, if any.
13772        '''
13773        self.subdomain = subdomain if subdomain is not None else ''
13774        '''
13775         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13776        '''
13777        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13778        '''
13779         Tags is a map of key, value pairs.
13780        '''
13781        self.url = url if url is not None else ''
13782        '''
13783         The base address of your website without the path.
13784        '''
13785        self.username = username if username is not None else ''
13786        '''
13787         The username to authenticate with.
13788        '''
13789
13790    def __repr__(self):
13791        return '<sdm.HTTPBasicAuth ' + \
13792            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13793            'default_path: ' + repr(self.default_path) + ' ' +\
13794            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13795            'headers_blacklist: ' + repr(self.headers_blacklist) + ' ' +\
13796            'healthcheck_path: ' + repr(self.healthcheck_path) + ' ' +\
13797            'healthy: ' + repr(self.healthy) + ' ' +\
13798            'host_override: ' + repr(self.host_override) + ' ' +\
13799            'id: ' + repr(self.id) + ' ' +\
13800            'name: ' + repr(self.name) + ' ' +\
13801            'password: ' + repr(self.password) + ' ' +\
13802            'port_override: ' + repr(self.port_override) + ' ' +\
13803            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13804            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13805            'subdomain: ' + repr(self.subdomain) + ' ' +\
13806            'tags: ' + repr(self.tags) + ' ' +\
13807            'url: ' + repr(self.url) + ' ' +\
13808            'username: ' + repr(self.username) + ' ' +\
13809            '>'
13810
13811    def to_dict(self):
13812        return {
13813            'bind_interface': self.bind_interface,
13814            'default_path': self.default_path,
13815            'egress_filter': self.egress_filter,
13816            'headers_blacklist': self.headers_blacklist,
13817            'healthcheck_path': self.healthcheck_path,
13818            'healthy': self.healthy,
13819            'host_override': self.host_override,
13820            'id': self.id,
13821            'name': self.name,
13822            'password': self.password,
13823            'port_override': self.port_override,
13824            'proxy_cluster_id': self.proxy_cluster_id,
13825            'secret_store_id': self.secret_store_id,
13826            'subdomain': self.subdomain,
13827            'tags': self.tags,
13828            'url': self.url,
13829            'username': self.username,
13830        }
13831
13832    @classmethod
13833    def from_dict(cls, d):
13834        return cls(
13835            bind_interface=d.get('bind_interface'),
13836            default_path=d.get('default_path'),
13837            egress_filter=d.get('egress_filter'),
13838            headers_blacklist=d.get('headers_blacklist'),
13839            healthcheck_path=d.get('healthcheck_path'),
13840            healthy=d.get('healthy'),
13841            host_override=d.get('host_override'),
13842            id=d.get('id'),
13843            name=d.get('name'),
13844            password=d.get('password'),
13845            port_override=d.get('port_override'),
13846            proxy_cluster_id=d.get('proxy_cluster_id'),
13847            secret_store_id=d.get('secret_store_id'),
13848            subdomain=d.get('subdomain'),
13849            tags=d.get('tags'),
13850            url=d.get('url'),
13851            username=d.get('username'),
13852        )
13853
13854
13855class HTTPNoAuth:
13856    __slots__ = [
13857        'bind_interface',
13858        'default_path',
13859        'egress_filter',
13860        'headers_blacklist',
13861        'healthcheck_path',
13862        'healthy',
13863        'host_override',
13864        'id',
13865        'name',
13866        'port_override',
13867        'proxy_cluster_id',
13868        'secret_store_id',
13869        'subdomain',
13870        'tags',
13871        'url',
13872    ]
13873
13874    def __init__(
13875        self,
13876        bind_interface=None,
13877        default_path=None,
13878        egress_filter=None,
13879        headers_blacklist=None,
13880        healthcheck_path=None,
13881        healthy=None,
13882        host_override=None,
13883        id=None,
13884        name=None,
13885        port_override=None,
13886        proxy_cluster_id=None,
13887        secret_store_id=None,
13888        subdomain=None,
13889        tags=None,
13890        url=None,
13891    ):
13892        self.bind_interface = bind_interface if bind_interface is not None else ''
13893        '''
13894         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13895        '''
13896        self.default_path = default_path if default_path is not None else ''
13897        '''
13898         Automatically redirect to this path upon connecting.
13899        '''
13900        self.egress_filter = egress_filter if egress_filter is not None else ''
13901        '''
13902         A filter applied to the routing logic to pin datasource to nodes.
13903        '''
13904        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
13905        '''
13906         Header names (e.g. Authorization), to omit from logs.
13907        '''
13908        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
13909        '''
13910         This path will be used to check the health of your site.
13911        '''
13912        self.healthy = healthy if healthy is not None else False
13913        '''
13914         True if the datasource is reachable and the credentials are valid.
13915        '''
13916        self.host_override = host_override if host_override is not None else ''
13917        '''
13918         The host header will be overwritten with this field if provided.
13919        '''
13920        self.id = id if id is not None else ''
13921        '''
13922         Unique identifier of the Resource.
13923        '''
13924        self.name = name if name is not None else ''
13925        '''
13926         Unique human-readable name of the Resource.
13927        '''
13928        self.port_override = port_override if port_override is not None else 0
13929        '''
13930         The local port used by clients to connect to this resource.
13931        '''
13932        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13933        '''
13934         ID of the proxy cluster for this resource, if any.
13935        '''
13936        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13937        '''
13938         ID of the secret store containing credentials for this resource, if any.
13939        '''
13940        self.subdomain = subdomain if subdomain is not None else ''
13941        '''
13942         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13943        '''
13944        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13945        '''
13946         Tags is a map of key, value pairs.
13947        '''
13948        self.url = url if url is not None else ''
13949        '''
13950         The base address of your website without the path.
13951        '''
13952
13953    def __repr__(self):
13954        return '<sdm.HTTPNoAuth ' + \
13955            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13956            'default_path: ' + repr(self.default_path) + ' ' +\
13957            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13958            'headers_blacklist: ' + repr(self.headers_blacklist) + ' ' +\
13959            'healthcheck_path: ' + repr(self.healthcheck_path) + ' ' +\
13960            'healthy: ' + repr(self.healthy) + ' ' +\
13961            'host_override: ' + repr(self.host_override) + ' ' +\
13962            'id: ' + repr(self.id) + ' ' +\
13963            'name: ' + repr(self.name) + ' ' +\
13964            'port_override: ' + repr(self.port_override) + ' ' +\
13965            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13966            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13967            'subdomain: ' + repr(self.subdomain) + ' ' +\
13968            'tags: ' + repr(self.tags) + ' ' +\
13969            'url: ' + repr(self.url) + ' ' +\
13970            '>'
13971
13972    def to_dict(self):
13973        return {
13974            'bind_interface': self.bind_interface,
13975            'default_path': self.default_path,
13976            'egress_filter': self.egress_filter,
13977            'headers_blacklist': self.headers_blacklist,
13978            'healthcheck_path': self.healthcheck_path,
13979            'healthy': self.healthy,
13980            'host_override': self.host_override,
13981            'id': self.id,
13982            'name': self.name,
13983            'port_override': self.port_override,
13984            'proxy_cluster_id': self.proxy_cluster_id,
13985            'secret_store_id': self.secret_store_id,
13986            'subdomain': self.subdomain,
13987            'tags': self.tags,
13988            'url': self.url,
13989        }
13990
13991    @classmethod
13992    def from_dict(cls, d):
13993        return cls(
13994            bind_interface=d.get('bind_interface'),
13995            default_path=d.get('default_path'),
13996            egress_filter=d.get('egress_filter'),
13997            headers_blacklist=d.get('headers_blacklist'),
13998            healthcheck_path=d.get('healthcheck_path'),
13999            healthy=d.get('healthy'),
14000            host_override=d.get('host_override'),
14001            id=d.get('id'),
14002            name=d.get('name'),
14003            port_override=d.get('port_override'),
14004            proxy_cluster_id=d.get('proxy_cluster_id'),
14005            secret_store_id=d.get('secret_store_id'),
14006            subdomain=d.get('subdomain'),
14007            tags=d.get('tags'),
14008            url=d.get('url'),
14009        )
14010
14011
14012class Healthcheck:
14013    '''
14014         Healthcheck defines the status of the link between a node and a resource
14015    '''
14016    __slots__ = [
14017        'error_msg',
14018        'healthy',
14019        'id',
14020        'node_id',
14021        'node_name',
14022        'resource_id',
14023        'resource_name',
14024        'timestamp',
14025    ]
14026
14027    def __init__(
14028        self,
14029        error_msg=None,
14030        healthy=None,
14031        id=None,
14032        node_id=None,
14033        node_name=None,
14034        resource_id=None,
14035        resource_name=None,
14036        timestamp=None,
14037    ):
14038        self.error_msg = error_msg if error_msg is not None else ''
14039        '''
14040         The error if unhealthy
14041        '''
14042        self.healthy = healthy if healthy is not None else False
14043        '''
14044         Whether the healthcheck succeeded.
14045        '''
14046        self.id = id if id is not None else ''
14047        '''
14048         Unique identifier of the healthcheck.
14049        '''
14050        self.node_id = node_id if node_id is not None else ''
14051        '''
14052         Unique identifier of the healthcheck node.
14053        '''
14054        self.node_name = node_name if node_name is not None else ''
14055        '''
14056         The name of the node.
14057        '''
14058        self.resource_id = resource_id if resource_id is not None else ''
14059        '''
14060         Unique identifier of the healthcheck resource.
14061        '''
14062        self.resource_name = resource_name if resource_name is not None else ''
14063        '''
14064         The name of the resource.
14065        '''
14066        self.timestamp = timestamp if timestamp is not None else None
14067        '''
14068         The time at which the healthcheck state was recorded.
14069        '''
14070
14071    def __repr__(self):
14072        return '<sdm.Healthcheck ' + \
14073            'error_msg: ' + repr(self.error_msg) + ' ' +\
14074            'healthy: ' + repr(self.healthy) + ' ' +\
14075            'id: ' + repr(self.id) + ' ' +\
14076            'node_id: ' + repr(self.node_id) + ' ' +\
14077            'node_name: ' + repr(self.node_name) + ' ' +\
14078            'resource_id: ' + repr(self.resource_id) + ' ' +\
14079            'resource_name: ' + repr(self.resource_name) + ' ' +\
14080            'timestamp: ' + repr(self.timestamp) + ' ' +\
14081            '>'
14082
14083    def to_dict(self):
14084        return {
14085            'error_msg': self.error_msg,
14086            'healthy': self.healthy,
14087            'id': self.id,
14088            'node_id': self.node_id,
14089            'node_name': self.node_name,
14090            'resource_id': self.resource_id,
14091            'resource_name': self.resource_name,
14092            'timestamp': self.timestamp,
14093        }
14094
14095    @classmethod
14096    def from_dict(cls, d):
14097        return cls(
14098            error_msg=d.get('error_msg'),
14099            healthy=d.get('healthy'),
14100            id=d.get('id'),
14101            node_id=d.get('node_id'),
14102            node_name=d.get('node_name'),
14103            resource_id=d.get('resource_id'),
14104            resource_name=d.get('resource_name'),
14105            timestamp=d.get('timestamp'),
14106        )
14107
14108
14109class HealthcheckListResponse:
14110    '''
14111         HealthcheckListResponse returns a list of Healthchecks that meet the criteria of a
14112     HealthcheckListRequest.
14113    '''
14114    __slots__ = [
14115        'rate_limit',
14116    ]
14117
14118    def __init__(
14119        self,
14120        rate_limit=None,
14121    ):
14122        self.rate_limit = rate_limit if rate_limit is not None else None
14123        '''
14124         Rate limit information.
14125        '''
14126
14127    def __repr__(self):
14128        return '<sdm.HealthcheckListResponse ' + \
14129            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14130            '>'
14131
14132    def to_dict(self):
14133        return {
14134            'rate_limit': self.rate_limit,
14135        }
14136
14137    @classmethod
14138    def from_dict(cls, d):
14139        return cls(rate_limit=d.get('rate_limit'), )
14140
14141
14142class HealthcheckRequest:
14143    __slots__ = [
14144        'secret_engine_id',
14145    ]
14146
14147    def __init__(
14148        self,
14149        secret_engine_id=None,
14150    ):
14151        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
14152        '''
14153         required
14154        '''
14155
14156    def __repr__(self):
14157        return '<sdm.HealthcheckRequest ' + \
14158            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
14159            '>'
14160
14161    def to_dict(self):
14162        return {
14163            'secret_engine_id': self.secret_engine_id,
14164        }
14165
14166    @classmethod
14167    def from_dict(cls, d):
14168        return cls(secret_engine_id=d.get('secret_engine_id'), )
14169
14170
14171class HealthcheckResponse:
14172    __slots__ = [
14173        'rate_limit',
14174        'status',
14175    ]
14176
14177    def __init__(
14178        self,
14179        rate_limit=None,
14180        status=None,
14181    ):
14182        self.rate_limit = rate_limit if rate_limit is not None else None
14183        '''
14184         Rate limit information.
14185        '''
14186        self.status = status if status is not None else []
14187        '''
14188         Array of statuses of all nodes serving a secret engine
14189        '''
14190
14191    def __repr__(self):
14192        return '<sdm.HealthcheckResponse ' + \
14193            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14194            'status: ' + repr(self.status) + ' ' +\
14195            '>'
14196
14197    def to_dict(self):
14198        return {
14199            'rate_limit': self.rate_limit,
14200            'status': self.status,
14201        }
14202
14203    @classmethod
14204    def from_dict(cls, d):
14205        return cls(
14206            rate_limit=d.get('rate_limit'),
14207            status=d.get('status'),
14208        )
14209
14210
14211class HealthcheckStatus:
14212    '''
14213         HealthcheckStatus contains status of a node health
14214    '''
14215    __slots__ = [
14216        'node_id',
14217        'status',
14218    ]
14219
14220    def __init__(
14221        self,
14222        node_id=None,
14223        status=None,
14224    ):
14225        self.node_id = node_id if node_id is not None else ''
14226        '''
14227         ID of node
14228        '''
14229        self.status = status if status is not None else ''
14230        '''
14231         Status of node's health
14232        '''
14233
14234    def __repr__(self):
14235        return '<sdm.HealthcheckStatus ' + \
14236            'node_id: ' + repr(self.node_id) + ' ' +\
14237            'status: ' + repr(self.status) + ' ' +\
14238            '>'
14239
14240    def to_dict(self):
14241        return {
14242            'node_id': self.node_id,
14243            'status': self.status,
14244        }
14245
14246    @classmethod
14247    def from_dict(cls, d):
14248        return cls(
14249            node_id=d.get('node_id'),
14250            status=d.get('status'),
14251        )
14252
14253
14254class IdentityAlias:
14255    '''
14256         IdentityAliases define the username to be used for a specific account
14257     when connecting to a remote resource using that identity set.
14258    '''
14259    __slots__ = [
14260        'account_id',
14261        'id',
14262        'identity_set_id',
14263        'username',
14264    ]
14265
14266    def __init__(
14267        self,
14268        account_id=None,
14269        id=None,
14270        identity_set_id=None,
14271        username=None,
14272    ):
14273        self.account_id = account_id if account_id is not None else ''
14274        '''
14275         The account for this identity alias.
14276        '''
14277        self.id = id if id is not None else ''
14278        '''
14279         Unique identifier of the IdentityAlias.
14280        '''
14281        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
14282        '''
14283         The identity set.
14284        '''
14285        self.username = username if username is not None else ''
14286        '''
14287         The username to be used as the identity alias for this account.
14288        '''
14289
14290    def __repr__(self):
14291        return '<sdm.IdentityAlias ' + \
14292            'account_id: ' + repr(self.account_id) + ' ' +\
14293            'id: ' + repr(self.id) + ' ' +\
14294            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
14295            'username: ' + repr(self.username) + ' ' +\
14296            '>'
14297
14298    def to_dict(self):
14299        return {
14300            'account_id': self.account_id,
14301            'id': self.id,
14302            'identity_set_id': self.identity_set_id,
14303            'username': self.username,
14304        }
14305
14306    @classmethod
14307    def from_dict(cls, d):
14308        return cls(
14309            account_id=d.get('account_id'),
14310            id=d.get('id'),
14311            identity_set_id=d.get('identity_set_id'),
14312            username=d.get('username'),
14313        )
14314
14315
14316class IdentityAliasCreateResponse:
14317    '''
14318         IdentityAliasCreateResponse reports how the IdentityAliases were created in the system.
14319    '''
14320    __slots__ = [
14321        'identity_alias',
14322        'meta',
14323        'rate_limit',
14324    ]
14325
14326    def __init__(
14327        self,
14328        identity_alias=None,
14329        meta=None,
14330        rate_limit=None,
14331    ):
14332        self.identity_alias = identity_alias if identity_alias is not None else None
14333        '''
14334         The created IdentityAlias.
14335        '''
14336        self.meta = meta if meta is not None else None
14337        '''
14338         Reserved for future use.
14339        '''
14340        self.rate_limit = rate_limit if rate_limit is not None else None
14341        '''
14342         Rate limit information.
14343        '''
14344
14345    def __repr__(self):
14346        return '<sdm.IdentityAliasCreateResponse ' + \
14347            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
14348            'meta: ' + repr(self.meta) + ' ' +\
14349            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14350            '>'
14351
14352    def to_dict(self):
14353        return {
14354            'identity_alias': self.identity_alias,
14355            'meta': self.meta,
14356            'rate_limit': self.rate_limit,
14357        }
14358
14359    @classmethod
14360    def from_dict(cls, d):
14361        return cls(
14362            identity_alias=d.get('identity_alias'),
14363            meta=d.get('meta'),
14364            rate_limit=d.get('rate_limit'),
14365        )
14366
14367
14368class IdentityAliasDeleteResponse:
14369    '''
14370         IdentityAliasDeleteResponse returns information about a IdentityAlias that was deleted.
14371    '''
14372    __slots__ = [
14373        'meta',
14374        'rate_limit',
14375    ]
14376
14377    def __init__(
14378        self,
14379        meta=None,
14380        rate_limit=None,
14381    ):
14382        self.meta = meta if meta is not None else None
14383        '''
14384         Reserved for future use.
14385        '''
14386        self.rate_limit = rate_limit if rate_limit is not None else None
14387        '''
14388         Rate limit information.
14389        '''
14390
14391    def __repr__(self):
14392        return '<sdm.IdentityAliasDeleteResponse ' + \
14393            'meta: ' + repr(self.meta) + ' ' +\
14394            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14395            '>'
14396
14397    def to_dict(self):
14398        return {
14399            'meta': self.meta,
14400            'rate_limit': self.rate_limit,
14401        }
14402
14403    @classmethod
14404    def from_dict(cls, d):
14405        return cls(
14406            meta=d.get('meta'),
14407            rate_limit=d.get('rate_limit'),
14408        )
14409
14410
14411class IdentityAliasGetResponse:
14412    '''
14413         IdentityAliasGetResponse returns a requested IdentityAlias.
14414    '''
14415    __slots__ = [
14416        'identity_alias',
14417        'meta',
14418        'rate_limit',
14419    ]
14420
14421    def __init__(
14422        self,
14423        identity_alias=None,
14424        meta=None,
14425        rate_limit=None,
14426    ):
14427        self.identity_alias = identity_alias if identity_alias is not None else None
14428        '''
14429         The requested IdentityAlias.
14430        '''
14431        self.meta = meta if meta is not None else None
14432        '''
14433         Reserved for future use.
14434        '''
14435        self.rate_limit = rate_limit if rate_limit is not None else None
14436        '''
14437         Rate limit information.
14438        '''
14439
14440    def __repr__(self):
14441        return '<sdm.IdentityAliasGetResponse ' + \
14442            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
14443            'meta: ' + repr(self.meta) + ' ' +\
14444            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14445            '>'
14446
14447    def to_dict(self):
14448        return {
14449            'identity_alias': self.identity_alias,
14450            'meta': self.meta,
14451            'rate_limit': self.rate_limit,
14452        }
14453
14454    @classmethod
14455    def from_dict(cls, d):
14456        return cls(
14457            identity_alias=d.get('identity_alias'),
14458            meta=d.get('meta'),
14459            rate_limit=d.get('rate_limit'),
14460        )
14461
14462
14463class IdentityAliasHistory:
14464    '''
14465         IdentityAliasHistory records the state of a IdentityAlias at a given point in time,
14466     where every change (create, update and delete) to a IdentityAlias produces an
14467     IdentityAliasHistory record.
14468    '''
14469    __slots__ = [
14470        'activity_id',
14471        'deleted_at',
14472        'identity_alias',
14473        'timestamp',
14474    ]
14475
14476    def __init__(
14477        self,
14478        activity_id=None,
14479        deleted_at=None,
14480        identity_alias=None,
14481        timestamp=None,
14482    ):
14483        self.activity_id = activity_id if activity_id is not None else ''
14484        '''
14485         The unique identifier of the Activity that produced this change to the IdentityAlias.
14486         May be empty for some system-initiated updates.
14487        '''
14488        self.deleted_at = deleted_at if deleted_at is not None else None
14489        '''
14490         If this IdentityAlias was deleted, the time it was deleted.
14491        '''
14492        self.identity_alias = identity_alias if identity_alias is not None else None
14493        '''
14494         The complete IdentityAlias state at this time.
14495        '''
14496        self.timestamp = timestamp if timestamp is not None else None
14497        '''
14498         The time at which the IdentityAlias state was recorded.
14499        '''
14500
14501    def __repr__(self):
14502        return '<sdm.IdentityAliasHistory ' + \
14503            'activity_id: ' + repr(self.activity_id) + ' ' +\
14504            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
14505            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
14506            'timestamp: ' + repr(self.timestamp) + ' ' +\
14507            '>'
14508
14509    def to_dict(self):
14510        return {
14511            'activity_id': self.activity_id,
14512            'deleted_at': self.deleted_at,
14513            'identity_alias': self.identity_alias,
14514            'timestamp': self.timestamp,
14515        }
14516
14517    @classmethod
14518    def from_dict(cls, d):
14519        return cls(
14520            activity_id=d.get('activity_id'),
14521            deleted_at=d.get('deleted_at'),
14522            identity_alias=d.get('identity_alias'),
14523            timestamp=d.get('timestamp'),
14524        )
14525
14526
14527class IdentityAliasUpdateResponse:
14528    '''
14529         IdentityAliasUpdateResponse returns the fields of a IdentityAlias after it has been updated by
14530     a IdentityAliasUpdateRequest.
14531    '''
14532    __slots__ = [
14533        'identity_alias',
14534        'meta',
14535        'rate_limit',
14536    ]
14537
14538    def __init__(
14539        self,
14540        identity_alias=None,
14541        meta=None,
14542        rate_limit=None,
14543    ):
14544        self.identity_alias = identity_alias if identity_alias is not None else None
14545        '''
14546         The updated IdentityAlias.
14547        '''
14548        self.meta = meta if meta is not None else None
14549        '''
14550         Reserved for future use.
14551        '''
14552        self.rate_limit = rate_limit if rate_limit is not None else None
14553        '''
14554         Rate limit information.
14555        '''
14556
14557    def __repr__(self):
14558        return '<sdm.IdentityAliasUpdateResponse ' + \
14559            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
14560            'meta: ' + repr(self.meta) + ' ' +\
14561            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14562            '>'
14563
14564    def to_dict(self):
14565        return {
14566            'identity_alias': self.identity_alias,
14567            'meta': self.meta,
14568            'rate_limit': self.rate_limit,
14569        }
14570
14571    @classmethod
14572    def from_dict(cls, d):
14573        return cls(
14574            identity_alias=d.get('identity_alias'),
14575            meta=d.get('meta'),
14576            rate_limit=d.get('rate_limit'),
14577        )
14578
14579
14580class IdentitySet:
14581    '''
14582         A IdentitySet defines a group of identity aliases.
14583    '''
14584    __slots__ = [
14585        'id',
14586        'name',
14587    ]
14588
14589    def __init__(
14590        self,
14591        id=None,
14592        name=None,
14593    ):
14594        self.id = id if id is not None else ''
14595        '''
14596         Unique identifier of the IdentitySet.
14597        '''
14598        self.name = name if name is not None else ''
14599        '''
14600         Unique human-readable name of the IdentitySet.
14601        '''
14602
14603    def __repr__(self):
14604        return '<sdm.IdentitySet ' + \
14605            'id: ' + repr(self.id) + ' ' +\
14606            'name: ' + repr(self.name) + ' ' +\
14607            '>'
14608
14609    def to_dict(self):
14610        return {
14611            'id': self.id,
14612            'name': self.name,
14613        }
14614
14615    @classmethod
14616    def from_dict(cls, d):
14617        return cls(
14618            id=d.get('id'),
14619            name=d.get('name'),
14620        )
14621
14622
14623class IdentitySetCreateResponse:
14624    '''
14625         IdentitySetCreateResponse reports how the IdentitySets were created in the system. It can
14626     communicate partial successes or failures.
14627    '''
14628    __slots__ = [
14629        'identity_set',
14630        'meta',
14631        'rate_limit',
14632    ]
14633
14634    def __init__(
14635        self,
14636        identity_set=None,
14637        meta=None,
14638        rate_limit=None,
14639    ):
14640        self.identity_set = identity_set if identity_set is not None else None
14641        '''
14642         The created IdentitySet.
14643        '''
14644        self.meta = meta if meta is not None else None
14645        '''
14646         Reserved for future use.
14647        '''
14648        self.rate_limit = rate_limit if rate_limit is not None else None
14649        '''
14650         Rate limit information.
14651        '''
14652
14653    def __repr__(self):
14654        return '<sdm.IdentitySetCreateResponse ' + \
14655            'identity_set: ' + repr(self.identity_set) + ' ' +\
14656            'meta: ' + repr(self.meta) + ' ' +\
14657            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14658            '>'
14659
14660    def to_dict(self):
14661        return {
14662            'identity_set': self.identity_set,
14663            'meta': self.meta,
14664            'rate_limit': self.rate_limit,
14665        }
14666
14667    @classmethod
14668    def from_dict(cls, d):
14669        return cls(
14670            identity_set=d.get('identity_set'),
14671            meta=d.get('meta'),
14672            rate_limit=d.get('rate_limit'),
14673        )
14674
14675
14676class IdentitySetDeleteResponse:
14677    '''
14678         IdentitySetDeleteResponse returns information about a IdentitySet that was deleted.
14679    '''
14680    __slots__ = [
14681        'meta',
14682        'rate_limit',
14683    ]
14684
14685    def __init__(
14686        self,
14687        meta=None,
14688        rate_limit=None,
14689    ):
14690        self.meta = meta if meta is not None else None
14691        '''
14692         Reserved for future use.
14693        '''
14694        self.rate_limit = rate_limit if rate_limit is not None else None
14695        '''
14696         Rate limit information.
14697        '''
14698
14699    def __repr__(self):
14700        return '<sdm.IdentitySetDeleteResponse ' + \
14701            'meta: ' + repr(self.meta) + ' ' +\
14702            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14703            '>'
14704
14705    def to_dict(self):
14706        return {
14707            'meta': self.meta,
14708            'rate_limit': self.rate_limit,
14709        }
14710
14711    @classmethod
14712    def from_dict(cls, d):
14713        return cls(
14714            meta=d.get('meta'),
14715            rate_limit=d.get('rate_limit'),
14716        )
14717
14718
14719class IdentitySetGetResponse:
14720    '''
14721         IdentitySetGetResponse returns a requested IdentitySet.
14722    '''
14723    __slots__ = [
14724        'identity_set',
14725        'meta',
14726        'rate_limit',
14727    ]
14728
14729    def __init__(
14730        self,
14731        identity_set=None,
14732        meta=None,
14733        rate_limit=None,
14734    ):
14735        self.identity_set = identity_set if identity_set is not None else None
14736        '''
14737         The requested IdentitySet.
14738        '''
14739        self.meta = meta if meta is not None else None
14740        '''
14741         Reserved for future use.
14742        '''
14743        self.rate_limit = rate_limit if rate_limit is not None else None
14744        '''
14745         Rate limit information.
14746        '''
14747
14748    def __repr__(self):
14749        return '<sdm.IdentitySetGetResponse ' + \
14750            'identity_set: ' + repr(self.identity_set) + ' ' +\
14751            'meta: ' + repr(self.meta) + ' ' +\
14752            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14753            '>'
14754
14755    def to_dict(self):
14756        return {
14757            'identity_set': self.identity_set,
14758            'meta': self.meta,
14759            'rate_limit': self.rate_limit,
14760        }
14761
14762    @classmethod
14763    def from_dict(cls, d):
14764        return cls(
14765            identity_set=d.get('identity_set'),
14766            meta=d.get('meta'),
14767            rate_limit=d.get('rate_limit'),
14768        )
14769
14770
14771class IdentitySetHistory:
14772    '''
14773         IdentitySetHistory records the state of a IdentitySet at a given point in time,
14774     where every change (create, update and delete) to a IdentitySet produces an
14775     IdentitySetHistory record.
14776    '''
14777    __slots__ = [
14778        'activity_id',
14779        'deleted_at',
14780        'identity_set',
14781        'timestamp',
14782    ]
14783
14784    def __init__(
14785        self,
14786        activity_id=None,
14787        deleted_at=None,
14788        identity_set=None,
14789        timestamp=None,
14790    ):
14791        self.activity_id = activity_id if activity_id is not None else ''
14792        '''
14793         The unique identifier of the Activity that produced this change to the IdentitySet.
14794         May be empty for some system-initiated updates.
14795        '''
14796        self.deleted_at = deleted_at if deleted_at is not None else None
14797        '''
14798         If this IdentitySet was deleted, the time it was deleted.
14799        '''
14800        self.identity_set = identity_set if identity_set is not None else None
14801        '''
14802         The complete IdentitySet state at this time.
14803        '''
14804        self.timestamp = timestamp if timestamp is not None else None
14805        '''
14806         The time at which the IdentitySet state was recorded.
14807        '''
14808
14809    def __repr__(self):
14810        return '<sdm.IdentitySetHistory ' + \
14811            'activity_id: ' + repr(self.activity_id) + ' ' +\
14812            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
14813            'identity_set: ' + repr(self.identity_set) + ' ' +\
14814            'timestamp: ' + repr(self.timestamp) + ' ' +\
14815            '>'
14816
14817    def to_dict(self):
14818        return {
14819            'activity_id': self.activity_id,
14820            'deleted_at': self.deleted_at,
14821            'identity_set': self.identity_set,
14822            'timestamp': self.timestamp,
14823        }
14824
14825    @classmethod
14826    def from_dict(cls, d):
14827        return cls(
14828            activity_id=d.get('activity_id'),
14829            deleted_at=d.get('deleted_at'),
14830            identity_set=d.get('identity_set'),
14831            timestamp=d.get('timestamp'),
14832        )
14833
14834
14835class IdentitySetUpdateResponse:
14836    '''
14837         IdentitySetUpdateResponse returns the fields of a IdentitySet after it has been updated by
14838     a IdentitySetUpdateRequest.
14839    '''
14840    __slots__ = [
14841        'identity_set',
14842        'meta',
14843        'rate_limit',
14844    ]
14845
14846    def __init__(
14847        self,
14848        identity_set=None,
14849        meta=None,
14850        rate_limit=None,
14851    ):
14852        self.identity_set = identity_set if identity_set is not None else None
14853        '''
14854         The updated IdentitySet.
14855        '''
14856        self.meta = meta if meta is not None else None
14857        '''
14858         Reserved for future use.
14859        '''
14860        self.rate_limit = rate_limit if rate_limit is not None else None
14861        '''
14862         Rate limit information.
14863        '''
14864
14865    def __repr__(self):
14866        return '<sdm.IdentitySetUpdateResponse ' + \
14867            'identity_set: ' + repr(self.identity_set) + ' ' +\
14868            'meta: ' + repr(self.meta) + ' ' +\
14869            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14870            '>'
14871
14872    def to_dict(self):
14873        return {
14874            'identity_set': self.identity_set,
14875            'meta': self.meta,
14876            'rate_limit': self.rate_limit,
14877        }
14878
14879    @classmethod
14880    def from_dict(cls, d):
14881        return cls(
14882            identity_set=d.get('identity_set'),
14883            meta=d.get('meta'),
14884            rate_limit=d.get('rate_limit'),
14885        )
14886
14887
14888class KeyValueEngine:
14889    '''
14890    KeyValueEngine is currently unstable, and its API may change, or it may be removed,
14891    without a major version bump.
14892    '''
14893    __slots__ = [
14894        'id',
14895        'key_rotation_interval_days',
14896        'name',
14897        'public_key',
14898        'secret_store_id',
14899        'secret_store_root_path',
14900        'tags',
14901    ]
14902
14903    def __init__(
14904        self,
14905        id=None,
14906        key_rotation_interval_days=None,
14907        name=None,
14908        public_key=None,
14909        secret_store_id=None,
14910        secret_store_root_path=None,
14911        tags=None,
14912    ):
14913        self.id = id if id is not None else ''
14914        '''
14915         Unique identifier of the Secret Engine.
14916        '''
14917        self.key_rotation_interval_days = key_rotation_interval_days if key_rotation_interval_days is not None else 0
14918        '''
14919         An interval of public/private key rotation for secret engine in days
14920        '''
14921        self.name = name if name is not None else ''
14922        '''
14923         Unique human-readable name of the Secret Engine.
14924        '''
14925        self.public_key = public_key if public_key is not None else b''
14926        '''
14927         Public key linked with a secret engine
14928        '''
14929        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14930        '''
14931         Backing secret store identifier
14932        '''
14933        self.secret_store_root_path = secret_store_root_path if secret_store_root_path is not None else ''
14934        '''
14935         Backing Secret Store root path where managed secrets are going to be stored
14936        '''
14937        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14938        '''
14939         Tags is a map of key, value pairs.
14940        '''
14941
14942    def __repr__(self):
14943        return '<sdm.KeyValueEngine ' + \
14944            'id: ' + repr(self.id) + ' ' +\
14945            'key_rotation_interval_days: ' + repr(self.key_rotation_interval_days) + ' ' +\
14946            'name: ' + repr(self.name) + ' ' +\
14947            'public_key: ' + repr(self.public_key) + ' ' +\
14948            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
14949            'secret_store_root_path: ' + repr(self.secret_store_root_path) + ' ' +\
14950            'tags: ' + repr(self.tags) + ' ' +\
14951            '>'
14952
14953    def to_dict(self):
14954        return {
14955            'id': self.id,
14956            'key_rotation_interval_days': self.key_rotation_interval_days,
14957            'name': self.name,
14958            'public_key': self.public_key,
14959            'secret_store_id': self.secret_store_id,
14960            'secret_store_root_path': self.secret_store_root_path,
14961            'tags': self.tags,
14962        }
14963
14964    @classmethod
14965    def from_dict(cls, d):
14966        return cls(
14967            id=d.get('id'),
14968            key_rotation_interval_days=d.get('key_rotation_interval_days'),
14969            name=d.get('name'),
14970            public_key=d.get('public_key'),
14971            secret_store_id=d.get('secret_store_id'),
14972            secret_store_root_path=d.get('secret_store_root_path'),
14973            tags=d.get('tags'),
14974        )
14975
14976
14977class KeyfactorSSHStore:
14978    __slots__ = [
14979        'ca_file_path',
14980        'certificate_file_path',
14981        'default_certificate_authority_name',
14982        'default_certificate_profile_name',
14983        'default_end_entity_profile_name',
14984        'enrollment_code_env_var',
14985        'enrollment_username_env_var',
14986        'id',
14987        'key_file_path',
14988        'name',
14989        'server_address',
14990        'tags',
14991    ]
14992
14993    def __init__(
14994        self,
14995        ca_file_path=None,
14996        certificate_file_path=None,
14997        default_certificate_authority_name=None,
14998        default_certificate_profile_name=None,
14999        default_end_entity_profile_name=None,
15000        enrollment_code_env_var=None,
15001        enrollment_username_env_var=None,
15002        id=None,
15003        key_file_path=None,
15004        name=None,
15005        server_address=None,
15006        tags=None,
15007    ):
15008        self.ca_file_path = ca_file_path if ca_file_path is not None else ''
15009        '''
15010         Path to the root CA that signed the certificate passed to the client for HTTPS connection.
15011         This is not required if the CA is trusted by the host operating system. This should be a PEM
15012         formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
15013        '''
15014        self.certificate_file_path = certificate_file_path if certificate_file_path is not None else ''
15015        '''
15016         Path to client certificate in PEM format. This certificate must contain a client certificate that
15017         is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
15018         key associated with the certificate, but KeyFile can also be set to configure the private key.
15019        '''
15020        self.default_certificate_authority_name = default_certificate_authority_name if default_certificate_authority_name is not None else ''
15021        '''
15022         Name of EJBCA certificate authority that will enroll CSR.
15023        '''
15024        self.default_certificate_profile_name = default_certificate_profile_name if default_certificate_profile_name is not None else ''
15025        '''
15026         Certificate profile name that EJBCA will enroll the CSR with.
15027        '''
15028        self.default_end_entity_profile_name = default_end_entity_profile_name if default_end_entity_profile_name is not None else ''
15029        '''
15030         End entity profile that EJBCA will enroll the CSR with.
15031        '''
15032        self.enrollment_code_env_var = enrollment_code_env_var if enrollment_code_env_var is not None else ''
15033        '''
15034         code used by EJBCA during enrollment. May be left blank if no code is required.
15035        '''
15036        self.enrollment_username_env_var = enrollment_username_env_var if enrollment_username_env_var is not None else ''
15037        '''
15038         username that used by the EJBCA during enrollment. This can be left out. 
15039         If so, the username must be auto-generated on the Keyfactor side.
15040        '''
15041        self.id = id if id is not None else ''
15042        '''
15043         Unique identifier of the SecretStore.
15044        '''
15045        self.key_file_path = key_file_path if key_file_path is not None else ''
15046        '''
15047         Path to private key in PEM format. This file should contain the private key associated with the
15048         client certificate configured in CertificateFile.
15049        '''
15050        self.name = name if name is not None else ''
15051        '''
15052         Unique human-readable name of the SecretStore.
15053        '''
15054        self.server_address = server_address if server_address is not None else ''
15055        '''
15056         the host of the Key Factor CA
15057        '''
15058        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15059        '''
15060         Tags is a map of key, value pairs.
15061        '''
15062
15063    def __repr__(self):
15064        return '<sdm.KeyfactorSSHStore ' + \
15065            'ca_file_path: ' + repr(self.ca_file_path) + ' ' +\
15066            'certificate_file_path: ' + repr(self.certificate_file_path) + ' ' +\
15067            'default_certificate_authority_name: ' + repr(self.default_certificate_authority_name) + ' ' +\
15068            'default_certificate_profile_name: ' + repr(self.default_certificate_profile_name) + ' ' +\
15069            'default_end_entity_profile_name: ' + repr(self.default_end_entity_profile_name) + ' ' +\
15070            'enrollment_code_env_var: ' + repr(self.enrollment_code_env_var) + ' ' +\
15071            'enrollment_username_env_var: ' + repr(self.enrollment_username_env_var) + ' ' +\
15072            'id: ' + repr(self.id) + ' ' +\
15073            'key_file_path: ' + repr(self.key_file_path) + ' ' +\
15074            'name: ' + repr(self.name) + ' ' +\
15075            'server_address: ' + repr(self.server_address) + ' ' +\
15076            'tags: ' + repr(self.tags) + ' ' +\
15077            '>'
15078
15079    def to_dict(self):
15080        return {
15081            'ca_file_path': self.ca_file_path,
15082            'certificate_file_path': self.certificate_file_path,
15083            'default_certificate_authority_name':
15084            self.default_certificate_authority_name,
15085            'default_certificate_profile_name':
15086            self.default_certificate_profile_name,
15087            'default_end_entity_profile_name':
15088            self.default_end_entity_profile_name,
15089            'enrollment_code_env_var': self.enrollment_code_env_var,
15090            'enrollment_username_env_var': self.enrollment_username_env_var,
15091            'id': self.id,
15092            'key_file_path': self.key_file_path,
15093            'name': self.name,
15094            'server_address': self.server_address,
15095            'tags': self.tags,
15096        }
15097
15098    @classmethod
15099    def from_dict(cls, d):
15100        return cls(
15101            ca_file_path=d.get('ca_file_path'),
15102            certificate_file_path=d.get('certificate_file_path'),
15103            default_certificate_authority_name=d.get(
15104                'default_certificate_authority_name'),
15105            default_certificate_profile_name=d.get(
15106                'default_certificate_profile_name'),
15107            default_end_entity_profile_name=d.get(
15108                'default_end_entity_profile_name'),
15109            enrollment_code_env_var=d.get('enrollment_code_env_var'),
15110            enrollment_username_env_var=d.get('enrollment_username_env_var'),
15111            id=d.get('id'),
15112            key_file_path=d.get('key_file_path'),
15113            name=d.get('name'),
15114            server_address=d.get('server_address'),
15115            tags=d.get('tags'),
15116        )
15117
15118
15119class KeyfactorX509Store:
15120    __slots__ = [
15121        'ca_file_path',
15122        'certificate_file_path',
15123        'default_certificate_authority_name',
15124        'default_certificate_profile_name',
15125        'default_end_entity_profile_name',
15126        'enrollment_code_env_var',
15127        'enrollment_username_env_var',
15128        'id',
15129        'key_file_path',
15130        'name',
15131        'server_address',
15132        'tags',
15133    ]
15134
15135    def __init__(
15136        self,
15137        ca_file_path=None,
15138        certificate_file_path=None,
15139        default_certificate_authority_name=None,
15140        default_certificate_profile_name=None,
15141        default_end_entity_profile_name=None,
15142        enrollment_code_env_var=None,
15143        enrollment_username_env_var=None,
15144        id=None,
15145        key_file_path=None,
15146        name=None,
15147        server_address=None,
15148        tags=None,
15149    ):
15150        self.ca_file_path = ca_file_path if ca_file_path is not None else ''
15151        '''
15152         Path to the root CA that signed the certificate passed to the client for HTTPS connection.
15153         This is not required if the CA is trusted by the host operating system. This should be a PEM
15154         formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
15155        '''
15156        self.certificate_file_path = certificate_file_path if certificate_file_path is not None else ''
15157        '''
15158         Path to client certificate in PEM format. This certificate must contain a client certificate that
15159         is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
15160         key associated with the certificate, but KeyFile can also be set to configure the private key.
15161        '''
15162        self.default_certificate_authority_name = default_certificate_authority_name if default_certificate_authority_name is not None else ''
15163        '''
15164         Name of EJBCA certificate authority that will enroll CSR.
15165        '''
15166        self.default_certificate_profile_name = default_certificate_profile_name if default_certificate_profile_name is not None else ''
15167        '''
15168         Certificate profile name that EJBCA will enroll the CSR with.
15169        '''
15170        self.default_end_entity_profile_name = default_end_entity_profile_name if default_end_entity_profile_name is not None else ''
15171        '''
15172         End entity profile that EJBCA will enroll the CSR with.
15173        '''
15174        self.enrollment_code_env_var = enrollment_code_env_var if enrollment_code_env_var is not None else ''
15175        '''
15176         code used by EJBCA during enrollment. May be left blank if no code is required.
15177        '''
15178        self.enrollment_username_env_var = enrollment_username_env_var if enrollment_username_env_var is not None else ''
15179        '''
15180         username that used by the EJBCA during enrollment. This can be left out. 
15181         If so, the username must be auto-generated on the Keyfactor side.
15182        '''
15183        self.id = id if id is not None else ''
15184        '''
15185         Unique identifier of the SecretStore.
15186        '''
15187        self.key_file_path = key_file_path if key_file_path is not None else ''
15188        '''
15189         Path to private key in PEM format. This file should contain the private key associated with the
15190         client certificate configured in CertificateFile.
15191        '''
15192        self.name = name if name is not None else ''
15193        '''
15194         Unique human-readable name of the SecretStore.
15195        '''
15196        self.server_address = server_address if server_address is not None else ''
15197        '''
15198         the host of the Key Factor CA
15199        '''
15200        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15201        '''
15202         Tags is a map of key, value pairs.
15203        '''
15204
15205    def __repr__(self):
15206        return '<sdm.KeyfactorX509Store ' + \
15207            'ca_file_path: ' + repr(self.ca_file_path) + ' ' +\
15208            'certificate_file_path: ' + repr(self.certificate_file_path) + ' ' +\
15209            'default_certificate_authority_name: ' + repr(self.default_certificate_authority_name) + ' ' +\
15210            'default_certificate_profile_name: ' + repr(self.default_certificate_profile_name) + ' ' +\
15211            'default_end_entity_profile_name: ' + repr(self.default_end_entity_profile_name) + ' ' +\
15212            'enrollment_code_env_var: ' + repr(self.enrollment_code_env_var) + ' ' +\
15213            'enrollment_username_env_var: ' + repr(self.enrollment_username_env_var) + ' ' +\
15214            'id: ' + repr(self.id) + ' ' +\
15215            'key_file_path: ' + repr(self.key_file_path) + ' ' +\
15216            'name: ' + repr(self.name) + ' ' +\
15217            'server_address: ' + repr(self.server_address) + ' ' +\
15218            'tags: ' + repr(self.tags) + ' ' +\
15219            '>'
15220
15221    def to_dict(self):
15222        return {
15223            'ca_file_path': self.ca_file_path,
15224            'certificate_file_path': self.certificate_file_path,
15225            'default_certificate_authority_name':
15226            self.default_certificate_authority_name,
15227            'default_certificate_profile_name':
15228            self.default_certificate_profile_name,
15229            'default_end_entity_profile_name':
15230            self.default_end_entity_profile_name,
15231            'enrollment_code_env_var': self.enrollment_code_env_var,
15232            'enrollment_username_env_var': self.enrollment_username_env_var,
15233            'id': self.id,
15234            'key_file_path': self.key_file_path,
15235            'name': self.name,
15236            'server_address': self.server_address,
15237            'tags': self.tags,
15238        }
15239
15240    @classmethod
15241    def from_dict(cls, d):
15242        return cls(
15243            ca_file_path=d.get('ca_file_path'),
15244            certificate_file_path=d.get('certificate_file_path'),
15245            default_certificate_authority_name=d.get(
15246                'default_certificate_authority_name'),
15247            default_certificate_profile_name=d.get(
15248                'default_certificate_profile_name'),
15249            default_end_entity_profile_name=d.get(
15250                'default_end_entity_profile_name'),
15251            enrollment_code_env_var=d.get('enrollment_code_env_var'),
15252            enrollment_username_env_var=d.get('enrollment_username_env_var'),
15253            id=d.get('id'),
15254            key_file_path=d.get('key_file_path'),
15255            name=d.get('name'),
15256            server_address=d.get('server_address'),
15257            tags=d.get('tags'),
15258        )
15259
15260
15261class Kubernetes:
15262    __slots__ = [
15263        'allow_resource_role_bypass',
15264        'bind_interface',
15265        'certificate_authority',
15266        'client_certificate',
15267        'client_key',
15268        'discovery_enabled',
15269        'discovery_username',
15270        'egress_filter',
15271        'healthcheck_namespace',
15272        'healthy',
15273        'hostname',
15274        'id',
15275        'identity_alias_healthcheck_username',
15276        'identity_set_id',
15277        'name',
15278        'port',
15279        'port_override',
15280        'proxy_cluster_id',
15281        'secret_store_id',
15282        'subdomain',
15283        'tags',
15284    ]
15285
15286    def __init__(
15287        self,
15288        allow_resource_role_bypass=None,
15289        bind_interface=None,
15290        certificate_authority=None,
15291        client_certificate=None,
15292        client_key=None,
15293        discovery_enabled=None,
15294        discovery_username=None,
15295        egress_filter=None,
15296        healthcheck_namespace=None,
15297        healthy=None,
15298        hostname=None,
15299        id=None,
15300        identity_alias_healthcheck_username=None,
15301        identity_set_id=None,
15302        name=None,
15303        port=None,
15304        port_override=None,
15305        proxy_cluster_id=None,
15306        secret_store_id=None,
15307        subdomain=None,
15308        tags=None,
15309    ):
15310        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
15311        '''
15312         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
15313         when a resource role is not provided.
15314        '''
15315        self.bind_interface = bind_interface if bind_interface is not None else ''
15316        '''
15317         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15318        '''
15319        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
15320        '''
15321         The CA to authenticate TLS connections with.
15322        '''
15323        self.client_certificate = client_certificate if client_certificate is not None else ''
15324        '''
15325         The certificate to authenticate TLS connections with.
15326        '''
15327        self.client_key = client_key if client_key is not None else ''
15328        '''
15329         The key to authenticate TLS connections with.
15330        '''
15331        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
15332        '''
15333         If true, configures discovery of a cluster to be run from a node.
15334        '''
15335        self.discovery_username = discovery_username if discovery_username is not None else ''
15336        '''
15337         If a cluster is configured for user impersonation, this is the user to impersonate when
15338         running discovery.
15339        '''
15340        self.egress_filter = egress_filter if egress_filter is not None else ''
15341        '''
15342         A filter applied to the routing logic to pin datasource to nodes.
15343        '''
15344        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15345        '''
15346         The path used to check the health of your connection.  Defaults to `default`.
15347        '''
15348        self.healthy = healthy if healthy is not None else False
15349        '''
15350         True if the datasource is reachable and the credentials are valid.
15351        '''
15352        self.hostname = hostname if hostname is not None else ''
15353        '''
15354         The host to dial to initiate a connection from the egress node to this resource.
15355        '''
15356        self.id = id if id is not None else ''
15357        '''
15358         Unique identifier of the Resource.
15359        '''
15360        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
15361        '''
15362         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
15363        '''
15364        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
15365        '''
15366         The ID of the identity set to use for identity connections.
15367        '''
15368        self.name = name if name is not None else ''
15369        '''
15370         Unique human-readable name of the Resource.
15371        '''
15372        self.port = port if port is not None else 0
15373        '''
15374         The port to dial to initiate a connection from the egress node to this resource.
15375        '''
15376        self.port_override = port_override if port_override is not None else 0
15377        '''
15378         The local port used by clients to connect to this resource.
15379        '''
15380        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15381        '''
15382         ID of the proxy cluster for this resource, if any.
15383        '''
15384        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15385        '''
15386         ID of the secret store containing credentials for this resource, if any.
15387        '''
15388        self.subdomain = subdomain if subdomain is not None else ''
15389        '''
15390         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15391        '''
15392        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15393        '''
15394         Tags is a map of key, value pairs.
15395        '''
15396
15397    def __repr__(self):
15398        return '<sdm.Kubernetes ' + \
15399            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
15400            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15401            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
15402            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
15403            'client_key: ' + repr(self.client_key) + ' ' +\
15404            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
15405            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
15406            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15407            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
15408            'healthy: ' + repr(self.healthy) + ' ' +\
15409            'hostname: ' + repr(self.hostname) + ' ' +\
15410            'id: ' + repr(self.id) + ' ' +\
15411            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
15412            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
15413            'name: ' + repr(self.name) + ' ' +\
15414            'port: ' + repr(self.port) + ' ' +\
15415            'port_override: ' + repr(self.port_override) + ' ' +\
15416            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15417            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15418            'subdomain: ' + repr(self.subdomain) + ' ' +\
15419            'tags: ' + repr(self.tags) + ' ' +\
15420            '>'
15421
15422    def to_dict(self):
15423        return {
15424            'allow_resource_role_bypass': self.allow_resource_role_bypass,
15425            'bind_interface': self.bind_interface,
15426            'certificate_authority': self.certificate_authority,
15427            'client_certificate': self.client_certificate,
15428            'client_key': self.client_key,
15429            'discovery_enabled': self.discovery_enabled,
15430            'discovery_username': self.discovery_username,
15431            'egress_filter': self.egress_filter,
15432            'healthcheck_namespace': self.healthcheck_namespace,
15433            'healthy': self.healthy,
15434            'hostname': self.hostname,
15435            'id': self.id,
15436            'identity_alias_healthcheck_username':
15437            self.identity_alias_healthcheck_username,
15438            'identity_set_id': self.identity_set_id,
15439            'name': self.name,
15440            'port': self.port,
15441            'port_override': self.port_override,
15442            'proxy_cluster_id': self.proxy_cluster_id,
15443            'secret_store_id': self.secret_store_id,
15444            'subdomain': self.subdomain,
15445            'tags': self.tags,
15446        }
15447
15448    @classmethod
15449    def from_dict(cls, d):
15450        return cls(
15451            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
15452            bind_interface=d.get('bind_interface'),
15453            certificate_authority=d.get('certificate_authority'),
15454            client_certificate=d.get('client_certificate'),
15455            client_key=d.get('client_key'),
15456            discovery_enabled=d.get('discovery_enabled'),
15457            discovery_username=d.get('discovery_username'),
15458            egress_filter=d.get('egress_filter'),
15459            healthcheck_namespace=d.get('healthcheck_namespace'),
15460            healthy=d.get('healthy'),
15461            hostname=d.get('hostname'),
15462            id=d.get('id'),
15463            identity_alias_healthcheck_username=d.get(
15464                'identity_alias_healthcheck_username'),
15465            identity_set_id=d.get('identity_set_id'),
15466            name=d.get('name'),
15467            port=d.get('port'),
15468            port_override=d.get('port_override'),
15469            proxy_cluster_id=d.get('proxy_cluster_id'),
15470            secret_store_id=d.get('secret_store_id'),
15471            subdomain=d.get('subdomain'),
15472            tags=d.get('tags'),
15473        )
15474
15475
15476class KubernetesBasicAuth:
15477    '''
15478    KubernetesBasicAuth is currently unstable, and its API may change, or it may be removed,
15479    without a major version bump.
15480    '''
15481    __slots__ = [
15482        'bind_interface',
15483        'egress_filter',
15484        'healthcheck_namespace',
15485        'healthy',
15486        'hostname',
15487        'id',
15488        'name',
15489        'password',
15490        'port',
15491        'port_override',
15492        'proxy_cluster_id',
15493        'secret_store_id',
15494        'subdomain',
15495        'tags',
15496        'username',
15497    ]
15498
15499    def __init__(
15500        self,
15501        bind_interface=None,
15502        egress_filter=None,
15503        healthcheck_namespace=None,
15504        healthy=None,
15505        hostname=None,
15506        id=None,
15507        name=None,
15508        password=None,
15509        port=None,
15510        port_override=None,
15511        proxy_cluster_id=None,
15512        secret_store_id=None,
15513        subdomain=None,
15514        tags=None,
15515        username=None,
15516    ):
15517        self.bind_interface = bind_interface if bind_interface is not None else ''
15518        '''
15519         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15520        '''
15521        self.egress_filter = egress_filter if egress_filter is not None else ''
15522        '''
15523         A filter applied to the routing logic to pin datasource to nodes.
15524        '''
15525        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15526        '''
15527         The path used to check the health of your connection.  Defaults to `default`.
15528        '''
15529        self.healthy = healthy if healthy is not None else False
15530        '''
15531         True if the datasource is reachable and the credentials are valid.
15532        '''
15533        self.hostname = hostname if hostname is not None else ''
15534        '''
15535         The host to dial to initiate a connection from the egress node to this resource.
15536        '''
15537        self.id = id if id is not None else ''
15538        '''
15539         Unique identifier of the Resource.
15540        '''
15541        self.name = name if name is not None else ''
15542        '''
15543         Unique human-readable name of the Resource.
15544        '''
15545        self.password = password if password is not None else ''
15546        '''
15547         The password to authenticate with.
15548        '''
15549        self.port = port if port is not None else 0
15550        '''
15551         The port to dial to initiate a connection from the egress node to this resource.
15552        '''
15553        self.port_override = port_override if port_override is not None else 0
15554        '''
15555         The local port used by clients to connect to this resource.
15556        '''
15557        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15558        '''
15559         ID of the proxy cluster for this resource, if any.
15560        '''
15561        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15562        '''
15563         ID of the secret store containing credentials for this resource, if any.
15564        '''
15565        self.subdomain = subdomain if subdomain is not None else ''
15566        '''
15567         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15568        '''
15569        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15570        '''
15571         Tags is a map of key, value pairs.
15572        '''
15573        self.username = username if username is not None else ''
15574        '''
15575         The username to authenticate with.
15576        '''
15577
15578    def __repr__(self):
15579        return '<sdm.KubernetesBasicAuth ' + \
15580            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15581            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15582            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
15583            'healthy: ' + repr(self.healthy) + ' ' +\
15584            'hostname: ' + repr(self.hostname) + ' ' +\
15585            'id: ' + repr(self.id) + ' ' +\
15586            'name: ' + repr(self.name) + ' ' +\
15587            'password: ' + repr(self.password) + ' ' +\
15588            'port: ' + repr(self.port) + ' ' +\
15589            'port_override: ' + repr(self.port_override) + ' ' +\
15590            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15591            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15592            'subdomain: ' + repr(self.subdomain) + ' ' +\
15593            'tags: ' + repr(self.tags) + ' ' +\
15594            'username: ' + repr(self.username) + ' ' +\
15595            '>'
15596
15597    def to_dict(self):
15598        return {
15599            'bind_interface': self.bind_interface,
15600            'egress_filter': self.egress_filter,
15601            'healthcheck_namespace': self.healthcheck_namespace,
15602            'healthy': self.healthy,
15603            'hostname': self.hostname,
15604            'id': self.id,
15605            'name': self.name,
15606            'password': self.password,
15607            'port': self.port,
15608            'port_override': self.port_override,
15609            'proxy_cluster_id': self.proxy_cluster_id,
15610            'secret_store_id': self.secret_store_id,
15611            'subdomain': self.subdomain,
15612            'tags': self.tags,
15613            'username': self.username,
15614        }
15615
15616    @classmethod
15617    def from_dict(cls, d):
15618        return cls(
15619            bind_interface=d.get('bind_interface'),
15620            egress_filter=d.get('egress_filter'),
15621            healthcheck_namespace=d.get('healthcheck_namespace'),
15622            healthy=d.get('healthy'),
15623            hostname=d.get('hostname'),
15624            id=d.get('id'),
15625            name=d.get('name'),
15626            password=d.get('password'),
15627            port=d.get('port'),
15628            port_override=d.get('port_override'),
15629            proxy_cluster_id=d.get('proxy_cluster_id'),
15630            secret_store_id=d.get('secret_store_id'),
15631            subdomain=d.get('subdomain'),
15632            tags=d.get('tags'),
15633            username=d.get('username'),
15634        )
15635
15636
15637class KubernetesPodIdentity:
15638    __slots__ = [
15639        'allow_resource_role_bypass',
15640        'bind_interface',
15641        'certificate_authority',
15642        'discovery_enabled',
15643        'discovery_username',
15644        'egress_filter',
15645        'healthcheck_namespace',
15646        'healthy',
15647        'id',
15648        'identity_alias_healthcheck_username',
15649        'identity_set_id',
15650        'name',
15651        'port_override',
15652        'proxy_cluster_id',
15653        'secret_store_id',
15654        'subdomain',
15655        'tags',
15656    ]
15657
15658    def __init__(
15659        self,
15660        allow_resource_role_bypass=None,
15661        bind_interface=None,
15662        certificate_authority=None,
15663        discovery_enabled=None,
15664        discovery_username=None,
15665        egress_filter=None,
15666        healthcheck_namespace=None,
15667        healthy=None,
15668        id=None,
15669        identity_alias_healthcheck_username=None,
15670        identity_set_id=None,
15671        name=None,
15672        port_override=None,
15673        proxy_cluster_id=None,
15674        secret_store_id=None,
15675        subdomain=None,
15676        tags=None,
15677    ):
15678        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
15679        '''
15680         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
15681         when a resource role is not provided.
15682        '''
15683        self.bind_interface = bind_interface if bind_interface is not None else ''
15684        '''
15685         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15686        '''
15687        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
15688        '''
15689         The CA to authenticate TLS connections with.
15690        '''
15691        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
15692        '''
15693         If true, configures discovery of a cluster to be run from a node.
15694        '''
15695        self.discovery_username = discovery_username if discovery_username is not None else ''
15696        '''
15697         If a cluster is configured for user impersonation, this is the user to impersonate when
15698         running discovery.
15699        '''
15700        self.egress_filter = egress_filter if egress_filter is not None else ''
15701        '''
15702         A filter applied to the routing logic to pin datasource to nodes.
15703        '''
15704        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15705        '''
15706         The path used to check the health of your connection.  Defaults to `default`.
15707        '''
15708        self.healthy = healthy if healthy is not None else False
15709        '''
15710         True if the datasource is reachable and the credentials are valid.
15711        '''
15712        self.id = id if id is not None else ''
15713        '''
15714         Unique identifier of the Resource.
15715        '''
15716        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
15717        '''
15718         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
15719        '''
15720        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
15721        '''
15722         The ID of the identity set to use for identity connections.
15723        '''
15724        self.name = name if name is not None else ''
15725        '''
15726         Unique human-readable name of the Resource.
15727        '''
15728        self.port_override = port_override if port_override is not None else 0
15729        '''
15730         The local port used by clients to connect to this resource.
15731        '''
15732        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15733        '''
15734         ID of the proxy cluster for this resource, if any.
15735        '''
15736        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15737        '''
15738         ID of the secret store containing credentials for this resource, if any.
15739        '''
15740        self.subdomain = subdomain if subdomain is not None else ''
15741        '''
15742         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15743        '''
15744        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15745        '''
15746         Tags is a map of key, value pairs.
15747        '''
15748
15749    def __repr__(self):
15750        return '<sdm.KubernetesPodIdentity ' + \
15751            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
15752            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15753            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
15754            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
15755            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
15756            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15757            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
15758            'healthy: ' + repr(self.healthy) + ' ' +\
15759            'id: ' + repr(self.id) + ' ' +\
15760            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
15761            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
15762            'name: ' + repr(self.name) + ' ' +\
15763            'port_override: ' + repr(self.port_override) + ' ' +\
15764            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15765            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15766            'subdomain: ' + repr(self.subdomain) + ' ' +\
15767            'tags: ' + repr(self.tags) + ' ' +\
15768            '>'
15769
15770    def to_dict(self):
15771        return {
15772            'allow_resource_role_bypass': self.allow_resource_role_bypass,
15773            'bind_interface': self.bind_interface,
15774            'certificate_authority': self.certificate_authority,
15775            'discovery_enabled': self.discovery_enabled,
15776            'discovery_username': self.discovery_username,
15777            'egress_filter': self.egress_filter,
15778            'healthcheck_namespace': self.healthcheck_namespace,
15779            'healthy': self.healthy,
15780            'id': self.id,
15781            'identity_alias_healthcheck_username':
15782            self.identity_alias_healthcheck_username,
15783            'identity_set_id': self.identity_set_id,
15784            'name': self.name,
15785            'port_override': self.port_override,
15786            'proxy_cluster_id': self.proxy_cluster_id,
15787            'secret_store_id': self.secret_store_id,
15788            'subdomain': self.subdomain,
15789            'tags': self.tags,
15790        }
15791
15792    @classmethod
15793    def from_dict(cls, d):
15794        return cls(
15795            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
15796            bind_interface=d.get('bind_interface'),
15797            certificate_authority=d.get('certificate_authority'),
15798            discovery_enabled=d.get('discovery_enabled'),
15799            discovery_username=d.get('discovery_username'),
15800            egress_filter=d.get('egress_filter'),
15801            healthcheck_namespace=d.get('healthcheck_namespace'),
15802            healthy=d.get('healthy'),
15803            id=d.get('id'),
15804            identity_alias_healthcheck_username=d.get(
15805                'identity_alias_healthcheck_username'),
15806            identity_set_id=d.get('identity_set_id'),
15807            name=d.get('name'),
15808            port_override=d.get('port_override'),
15809            proxy_cluster_id=d.get('proxy_cluster_id'),
15810            secret_store_id=d.get('secret_store_id'),
15811            subdomain=d.get('subdomain'),
15812            tags=d.get('tags'),
15813        )
15814
15815
15816class KubernetesServiceAccount:
15817    __slots__ = [
15818        'allow_resource_role_bypass',
15819        'bind_interface',
15820        'discovery_enabled',
15821        'discovery_username',
15822        'egress_filter',
15823        'healthcheck_namespace',
15824        'healthy',
15825        'hostname',
15826        'id',
15827        'identity_alias_healthcheck_username',
15828        'identity_set_id',
15829        'name',
15830        'port',
15831        'port_override',
15832        'proxy_cluster_id',
15833        'secret_store_id',
15834        'subdomain',
15835        'tags',
15836        'token',
15837    ]
15838
15839    def __init__(
15840        self,
15841        allow_resource_role_bypass=None,
15842        bind_interface=None,
15843        discovery_enabled=None,
15844        discovery_username=None,
15845        egress_filter=None,
15846        healthcheck_namespace=None,
15847        healthy=None,
15848        hostname=None,
15849        id=None,
15850        identity_alias_healthcheck_username=None,
15851        identity_set_id=None,
15852        name=None,
15853        port=None,
15854        port_override=None,
15855        proxy_cluster_id=None,
15856        secret_store_id=None,
15857        subdomain=None,
15858        tags=None,
15859        token=None,
15860    ):
15861        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
15862        '''
15863         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
15864         when a resource role is not provided.
15865        '''
15866        self.bind_interface = bind_interface if bind_interface is not None else ''
15867        '''
15868         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15869        '''
15870        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
15871        '''
15872         If true, configures discovery of a cluster to be run from a node.
15873        '''
15874        self.discovery_username = discovery_username if discovery_username is not None else ''
15875        '''
15876         If a cluster is configured for user impersonation, this is the user to impersonate when
15877         running discovery.
15878        '''
15879        self.egress_filter = egress_filter if egress_filter is not None else ''
15880        '''
15881         A filter applied to the routing logic to pin datasource to nodes.
15882        '''
15883        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15884        '''
15885         The path used to check the health of your connection.  Defaults to `default`.
15886        '''
15887        self.healthy = healthy if healthy is not None else False
15888        '''
15889         True if the datasource is reachable and the credentials are valid.
15890        '''
15891        self.hostname = hostname if hostname is not None else ''
15892        '''
15893         The host to dial to initiate a connection from the egress node to this resource.
15894        '''
15895        self.id = id if id is not None else ''
15896        '''
15897         Unique identifier of the Resource.
15898        '''
15899        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
15900        '''
15901         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
15902        '''
15903        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
15904        '''
15905         The ID of the identity set to use for identity connections.
15906        '''
15907        self.name = name if name is not None else ''
15908        '''
15909         Unique human-readable name of the Resource.
15910        '''
15911        self.port = port if port is not None else 0
15912        '''
15913         The port to dial to initiate a connection from the egress node to this resource.
15914        '''
15915        self.port_override = port_override if port_override is not None else 0
15916        '''
15917         The local port used by clients to connect to this resource.
15918        '''
15919        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15920        '''
15921         ID of the proxy cluster for this resource, if any.
15922        '''
15923        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15924        '''
15925         ID of the secret store containing credentials for this resource, if any.
15926        '''
15927        self.subdomain = subdomain if subdomain is not None else ''
15928        '''
15929         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15930        '''
15931        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15932        '''
15933         Tags is a map of key, value pairs.
15934        '''
15935        self.token = token if token is not None else ''
15936        '''
15937         The API token to authenticate with.
15938        '''
15939
15940    def __repr__(self):
15941        return '<sdm.KubernetesServiceAccount ' + \
15942            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
15943            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15944            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
15945            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
15946            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15947            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
15948            'healthy: ' + repr(self.healthy) + ' ' +\
15949            'hostname: ' + repr(self.hostname) + ' ' +\
15950            'id: ' + repr(self.id) + ' ' +\
15951            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
15952            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
15953            'name: ' + repr(self.name) + ' ' +\
15954            'port: ' + repr(self.port) + ' ' +\
15955            'port_override: ' + repr(self.port_override) + ' ' +\
15956            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15957            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15958            'subdomain: ' + repr(self.subdomain) + ' ' +\
15959            'tags: ' + repr(self.tags) + ' ' +\
15960            'token: ' + repr(self.token) + ' ' +\
15961            '>'
15962
15963    def to_dict(self):
15964        return {
15965            'allow_resource_role_bypass': self.allow_resource_role_bypass,
15966            'bind_interface': self.bind_interface,
15967            'discovery_enabled': self.discovery_enabled,
15968            'discovery_username': self.discovery_username,
15969            'egress_filter': self.egress_filter,
15970            'healthcheck_namespace': self.healthcheck_namespace,
15971            'healthy': self.healthy,
15972            'hostname': self.hostname,
15973            'id': self.id,
15974            'identity_alias_healthcheck_username':
15975            self.identity_alias_healthcheck_username,
15976            'identity_set_id': self.identity_set_id,
15977            'name': self.name,
15978            'port': self.port,
15979            'port_override': self.port_override,
15980            'proxy_cluster_id': self.proxy_cluster_id,
15981            'secret_store_id': self.secret_store_id,
15982            'subdomain': self.subdomain,
15983            'tags': self.tags,
15984            'token': self.token,
15985        }
15986
15987    @classmethod
15988    def from_dict(cls, d):
15989        return cls(
15990            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
15991            bind_interface=d.get('bind_interface'),
15992            discovery_enabled=d.get('discovery_enabled'),
15993            discovery_username=d.get('discovery_username'),
15994            egress_filter=d.get('egress_filter'),
15995            healthcheck_namespace=d.get('healthcheck_namespace'),
15996            healthy=d.get('healthy'),
15997            hostname=d.get('hostname'),
15998            id=d.get('id'),
15999            identity_alias_healthcheck_username=d.get(
16000                'identity_alias_healthcheck_username'),
16001            identity_set_id=d.get('identity_set_id'),
16002            name=d.get('name'),
16003            port=d.get('port'),
16004            port_override=d.get('port_override'),
16005            proxy_cluster_id=d.get('proxy_cluster_id'),
16006            secret_store_id=d.get('secret_store_id'),
16007            subdomain=d.get('subdomain'),
16008            tags=d.get('tags'),
16009            token=d.get('token'),
16010        )
16011
16012
16013class KubernetesServiceAccountUserImpersonation:
16014    __slots__ = [
16015        'bind_interface',
16016        'egress_filter',
16017        'healthcheck_namespace',
16018        'healthy',
16019        'hostname',
16020        'id',
16021        'name',
16022        'port',
16023        'port_override',
16024        'proxy_cluster_id',
16025        'secret_store_id',
16026        'subdomain',
16027        'tags',
16028        'token',
16029    ]
16030
16031    def __init__(
16032        self,
16033        bind_interface=None,
16034        egress_filter=None,
16035        healthcheck_namespace=None,
16036        healthy=None,
16037        hostname=None,
16038        id=None,
16039        name=None,
16040        port=None,
16041        port_override=None,
16042        proxy_cluster_id=None,
16043        secret_store_id=None,
16044        subdomain=None,
16045        tags=None,
16046        token=None,
16047    ):
16048        self.bind_interface = bind_interface if bind_interface is not None else ''
16049        '''
16050         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16051        '''
16052        self.egress_filter = egress_filter if egress_filter is not None else ''
16053        '''
16054         A filter applied to the routing logic to pin datasource to nodes.
16055        '''
16056        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
16057        '''
16058         The path used to check the health of your connection.  Defaults to `default`.
16059        '''
16060        self.healthy = healthy if healthy is not None else False
16061        '''
16062         True if the datasource is reachable and the credentials are valid.
16063        '''
16064        self.hostname = hostname if hostname is not None else ''
16065        '''
16066         The host to dial to initiate a connection from the egress node to this resource.
16067        '''
16068        self.id = id if id is not None else ''
16069        '''
16070         Unique identifier of the Resource.
16071        '''
16072        self.name = name if name is not None else ''
16073        '''
16074         Unique human-readable name of the Resource.
16075        '''
16076        self.port = port if port is not None else 0
16077        '''
16078         The port to dial to initiate a connection from the egress node to this resource.
16079        '''
16080        self.port_override = port_override if port_override is not None else 0
16081        '''
16082         The local port used by clients to connect to this resource.
16083        '''
16084        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16085        '''
16086         ID of the proxy cluster for this resource, if any.
16087        '''
16088        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16089        '''
16090         ID of the secret store containing credentials for this resource, if any.
16091        '''
16092        self.subdomain = subdomain if subdomain is not None else ''
16093        '''
16094         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16095        '''
16096        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16097        '''
16098         Tags is a map of key, value pairs.
16099        '''
16100        self.token = token if token is not None else ''
16101        '''
16102         The API token to authenticate with.
16103        '''
16104
16105    def __repr__(self):
16106        return '<sdm.KubernetesServiceAccountUserImpersonation ' + \
16107            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
16108            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
16109            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
16110            'healthy: ' + repr(self.healthy) + ' ' +\
16111            'hostname: ' + repr(self.hostname) + ' ' +\
16112            'id: ' + repr(self.id) + ' ' +\
16113            'name: ' + repr(self.name) + ' ' +\
16114            'port: ' + repr(self.port) + ' ' +\
16115            'port_override: ' + repr(self.port_override) + ' ' +\
16116            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
16117            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
16118            'subdomain: ' + repr(self.subdomain) + ' ' +\
16119            'tags: ' + repr(self.tags) + ' ' +\
16120            'token: ' + repr(self.token) + ' ' +\
16121            '>'
16122
16123    def to_dict(self):
16124        return {
16125            'bind_interface': self.bind_interface,
16126            'egress_filter': self.egress_filter,
16127            'healthcheck_namespace': self.healthcheck_namespace,
16128            'healthy': self.healthy,
16129            'hostname': self.hostname,
16130            'id': self.id,
16131            'name': self.name,
16132            'port': self.port,
16133            'port_override': self.port_override,
16134            'proxy_cluster_id': self.proxy_cluster_id,
16135            'secret_store_id': self.secret_store_id,
16136            'subdomain': self.subdomain,
16137            'tags': self.tags,
16138            'token': self.token,
16139        }
16140
16141    @classmethod
16142    def from_dict(cls, d):
16143        return cls(
16144            bind_interface=d.get('bind_interface'),
16145            egress_filter=d.get('egress_filter'),
16146            healthcheck_namespace=d.get('healthcheck_namespace'),
16147            healthy=d.get('healthy'),
16148            hostname=d.get('hostname'),
16149            id=d.get('id'),
16150            name=d.get('name'),
16151            port=d.get('port'),
16152            port_override=d.get('port_override'),
16153            proxy_cluster_id=d.get('proxy_cluster_id'),
16154            secret_store_id=d.get('secret_store_id'),
16155            subdomain=d.get('subdomain'),
16156            tags=d.get('tags'),
16157            token=d.get('token'),
16158        )
16159
16160
16161class KubernetesUserImpersonation:
16162    __slots__ = [
16163        'bind_interface',
16164        'certificate_authority',
16165        'client_certificate',
16166        'client_key',
16167        'egress_filter',
16168        'healthcheck_namespace',
16169        'healthy',
16170        'hostname',
16171        'id',
16172        'name',
16173        'port',
16174        'port_override',
16175        'proxy_cluster_id',
16176        'secret_store_id',
16177        'subdomain',
16178        'tags',
16179    ]
16180
16181    def __init__(
16182        self,
16183        bind_interface=None,
16184        certificate_authority=None,
16185        client_certificate=None,
16186        client_key=None,
16187        egress_filter=None,
16188        healthcheck_namespace=None,
16189        healthy=None,
16190        hostname=None,
16191        id=None,
16192        name=None,
16193        port=None,
16194        port_override=None,
16195        proxy_cluster_id=None,
16196        secret_store_id=None,
16197        subdomain=None,
16198        tags=None,
16199    ):
16200        self.bind_interface = bind_interface if bind_interface is not None else ''
16201        '''
16202         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16203        '''
16204        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
16205        '''
16206         The CA to authenticate TLS connections with.
16207        '''
16208        self.client_certificate = client_certificate if client_certificate is not None else ''
16209        '''
16210         The certificate to authenticate TLS connections with.
16211        '''
16212        self.client_key = client_key if client_key is not None else ''
16213        '''
16214         The key to authenticate TLS connections with.
16215        '''
16216        self.egress_filter = egress_filter if egress_filter is not None else ''
16217        '''
16218         A filter applied to the routing logic to pin datasource to nodes.
16219        '''
16220        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
16221        '''
16222         The path used to check the health of your connection.  Defaults to `default`.
16223        '''
16224        self.healthy = healthy if healthy is not None else False
16225        '''
16226         True if the datasource is reachable and the credentials are valid.
16227        '''
16228        self.hostname = hostname if hostname is not None else ''
16229        '''
16230         The host to dial to initiate a connection from the egress node to this resource.
16231        '''
16232        self.id = id if id is not None else ''
16233        '''
16234         Unique identifier of the Resource.
16235        '''
16236        self.name = name if name is not None else ''
16237        '''
16238         Unique human-readable name of the Resource.
16239        '''
16240        self.port = port if port is not None else 0
16241        '''
16242         The port to dial to initiate a connection from the egress node to this resource.
16243        '''
16244        self.port_override = port_override if port_override is not None else 0
16245        '''
16246         The local port used by clients to connect to this resource.
16247        '''
16248        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16249        '''
16250         ID of the proxy cluster for this resource, if any.
16251        '''
16252        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16253        '''
16254         ID of the secret store containing credentials for this resource, if any.
16255        '''
16256        self.subdomain = subdomain if subdomain is not None else ''
16257        '''
16258         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16259        '''
16260        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16261        '''
16262         Tags is a map of key, value pairs.
16263        '''
16264
16265    def __repr__(self):
16266        return '<sdm.KubernetesUserImpersonation ' + \
16267            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
16268            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
16269            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
16270            'client_key: ' + repr(self.client_key) + ' ' +\
16271            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
16272            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
16273            'healthy: ' + repr(self.healthy) + ' ' +\
16274            'hostname: ' + repr(self.hostname) + ' ' +\
16275            'id: ' + repr(self.id) + ' ' +\
16276            'name: ' + repr(self.name) + ' ' +\
16277            'port: ' + repr(self.port) + ' ' +\
16278            'port_override: ' + repr(self.port_override) + ' ' +\
16279            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
16280            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
16281            'subdomain: ' + repr(self.subdomain) + ' ' +\
16282            'tags: ' + repr(self.tags) + ' ' +\
16283            '>'
16284
16285    def to_dict(self):
16286        return {
16287            'bind_interface': self.bind_interface,
16288            'certificate_authority': self.certificate_authority,
16289            'client_certificate': self.client_certificate,
16290            'client_key': self.client_key,
16291            'egress_filter': self.egress_filter,
16292            'healthcheck_namespace': self.healthcheck_namespace,
16293            'healthy': self.healthy,
16294            'hostname': self.hostname,
16295            'id': self.id,
16296            'name': self.name,
16297            'port': self.port,
16298            'port_override': self.port_override,
16299            'proxy_cluster_id': self.proxy_cluster_id,
16300            'secret_store_id': self.secret_store_id,
16301            'subdomain': self.subdomain,
16302            'tags': self.tags,
16303        }
16304
16305    @classmethod
16306    def from_dict(cls, d):
16307        return cls(
16308            bind_interface=d.get('bind_interface'),
16309            certificate_authority=d.get('certificate_authority'),
16310            client_certificate=d.get('client_certificate'),
16311            client_key=d.get('client_key'),
16312            egress_filter=d.get('egress_filter'),
16313            healthcheck_namespace=d.get('healthcheck_namespace'),
16314            healthy=d.get('healthy'),
16315            hostname=d.get('hostname'),
16316            id=d.get('id'),
16317            name=d.get('name'),
16318            port=d.get('port'),
16319            port_override=d.get('port_override'),
16320            proxy_cluster_id=d.get('proxy_cluster_id'),
16321            secret_store_id=d.get('secret_store_id'),
16322            subdomain=d.get('subdomain'),
16323            tags=d.get('tags'),
16324        )
16325
16326
16327class MTLSMysql:
16328    '''
16329    MTLSMysql is currently unstable, and its API may change, or it may be removed,
16330    without a major version bump.
16331    '''
16332    __slots__ = [
16333        'bind_interface',
16334        'certificate_authority',
16335        'client_certificate',
16336        'client_key',
16337        'database',
16338        'egress_filter',
16339        'healthy',
16340        'hostname',
16341        'id',
16342        'name',
16343        'password',
16344        'port',
16345        'port_override',
16346        'proxy_cluster_id',
16347        'require_native_auth',
16348        'secret_store_id',
16349        'server_name',
16350        'subdomain',
16351        'tags',
16352        'use_azure_single_server_usernames',
16353        'username',
16354    ]
16355
16356    def __init__(
16357        self,
16358        bind_interface=None,
16359        certificate_authority=None,
16360        client_certificate=None,
16361        client_key=None,
16362        database=None,
16363        egress_filter=None,
16364        healthy=None,
16365        hostname=None,
16366        id=None,
16367        name=None,
16368        password=None,
16369        port=None,
16370        port_override=None,
16371        proxy_cluster_id=None,
16372        require_native_auth=None,
16373        secret_store_id=None,
16374        server_name=None,
16375        subdomain=None,
16376        tags=None,
16377        use_azure_single_server_usernames=None,
16378        username=None,
16379    ):
16380        self.bind_interface = bind_interface if bind_interface is not None else ''
16381        '''
16382         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16383        '''
16384        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
16385        '''
16386         The CA to authenticate TLS connections with.
16387        '''
16388        self.client_certificate = client_certificate if client_certificate is not None else ''
16389        '''
16390         The certificate to authenticate TLS connections with.
16391        '''
16392        self.client_key = client_key if client_key is not None else ''
16393        '''
16394         The key to authenticate TLS connections with.
16395        '''
16396        self.database = database if database is not None else ''
16397        '''
16398         The database for healthchecks. Does not affect client requests.
16399        '''
16400        self.egress_filter = egress_filter if egress_filter is not None else ''
16401        '''
16402         A filter applied to the routing logic to pin datasource to nodes.
16403        '''
16404        self.healthy = healthy if healthy is not None else False
16405        '''
16406         True if the datasource is reachable and the credentials are valid.
16407        '''
16408        self.hostname = hostname if hostname is not None else ''
16409        '''
16410         The host to dial to initiate a connection from the egress node to this resource.
16411        '''
16412        self.id = id if id is not None else ''
16413        '''
16414         Unique identifier of the Resource.
16415        '''
16416        self.name = name if name is not None else ''
16417        '''
16418         Unique human-readable name of the Resource.
16419        '''
16420        self.password = password if password is not None else ''
16421        '''
16422         The password to authenticate with.
16423        '''
16424        self.port = port if port is not None else 0
16425        '''
16426         The port to dial to initiate a connection from the egress node to this resource.
16427        '''
16428        self.port_override = port_override if port_override is not None else 0
16429        '''
16430         The local port used by clients to connect to this resource.
16431        '''
16432        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16433        '''
16434         ID of the proxy cluster for this resource, if any.
16435        '''
16436        self.require_native_auth = require_native_auth if require_native_auth is not None else False
16437        '''
16438         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
16439        '''
16440        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16441        '''
16442         ID of the secret store containing credentials for this resource, if any.
16443        '''
16444        self.server_name = server_name if server_name is not None else ''
16445        '''
16446         Server name for TLS verification (unverified by StrongDM if empty)
16447        '''
16448        self.subdomain = subdomain if subdomain is not None else ''
16449        '''
16450         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16451        '''
16452        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16453        '''
16454         Tags is a map of key, value pairs.
16455        '''
16456        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
16457        '''
16458         If true, appends the hostname to the username when hitting a database.azure.com address
16459        '''
16460        self.username = username if username is not None else ''
16461        '''
16462         The username to authenticate with.
16463        '''
16464
16465    def __repr__(self):
16466        return '<sdm.MTLSMysql ' + \
16467            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
16468            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
16469            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
16470            'client_key: ' + repr(self.client_key) + ' ' +\
16471            'database: ' + repr(self.database) + ' ' +\
16472            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
16473            'healthy: ' + repr(self.healthy) + ' ' +\
16474            'hostname: ' + repr(self.hostname) + ' ' +\
16475            'id: ' + repr(self.id) + ' ' +\
16476            'name: ' + repr(self.name) + ' ' +\
16477            'password: ' + repr(self.password) + ' ' +\
16478            'port: ' + repr(self.port) + ' ' +\
16479            'port_override: ' + repr(self.port_override) + ' ' +\
16480            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
16481            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
16482            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
16483            'server_name: ' + repr(self.server_name) + ' ' +\
16484            'subdomain: ' + repr(self.subdomain) + ' ' +\
16485            'tags: ' + repr(self.tags) + ' ' +\
16486            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
16487            'username: ' + repr(self.username) + ' ' +\
16488            '>'
16489
16490    def to_dict(self):
16491        return {
16492            'bind_interface': self.bind_interface,
16493            'certificate_authority': self.certificate_authority,
16494            'client_certificate': self.client_certificate,
16495            'client_key': self.client_key,
16496            'database': self.database,
16497            'egress_filter': self.egress_filter,
16498            'healthy': self.healthy,
16499            'hostname': self.hostname,
16500            'id': self.id,
16501            'name': self.name,
16502            'password': self.password,
16503            'port': self.port,
16504            'port_override': self.port_override,
16505            'proxy_cluster_id': self.proxy_cluster_id,
16506            'require_native_auth': self.require_native_auth,
16507            'secret_store_id': self.secret_store_id,
16508            'server_name': self.server_name,
16509            'subdomain': self.subdomain,
16510            'tags': self.tags,
16511            'use_azure_single_server_usernames':
16512            self.use_azure_single_server_usernames,
16513            'username': self.username,
16514        }
16515
16516    @classmethod
16517    def from_dict(cls, d):
16518        return cls(
16519            bind_interface=d.get('bind_interface'),
16520            certificate_authority=d.get('certificate_authority'),
16521            client_certificate=d.get('client_certificate'),
16522            client_key=d.get('client_key'),
16523            database=d.get('database'),
16524            egress_filter=d.get('egress_filter'),
16525            healthy=d.get('healthy'),
16526            hostname=d.get('hostname'),
16527            id=d.get('id'),
16528            name=d.get('name'),
16529            password=d.get('password'),
16530            port=d.get('port'),
16531            port_override=d.get('port_override'),
16532            proxy_cluster_id=d.get('proxy_cluster_id'),
16533            require_native_auth=d.get('require_native_auth'),
16534            secret_store_id=d.get('secret_store_id'),
16535            server_name=d.get('server_name'),
16536            subdomain=d.get('subdomain'),
16537            tags=d.get('tags'),
16538            use_azure_single_server_usernames=d.get(
16539                'use_azure_single_server_usernames'),
16540            username=d.get('username'),
16541        )
16542
16543
16544class MTLSPostgres:
16545    __slots__ = [
16546        'bind_interface',
16547        'certificate_authority',
16548        'client_certificate',
16549        'client_key',
16550        'database',
16551        'egress_filter',
16552        'healthy',
16553        'hostname',
16554        'id',
16555        'name',
16556        'override_database',
16557        'password',
16558        'port',
16559        'port_override',
16560        'proxy_cluster_id',
16561        'secret_store_id',
16562        'server_name',
16563        'subdomain',
16564        'tags',
16565        'username',
16566    ]
16567
16568    def __init__(
16569        self,
16570        bind_interface=None,
16571        certificate_authority=None,
16572        client_certificate=None,
16573        client_key=None,
16574        database=None,
16575        egress_filter=None,
16576        healthy=None,
16577        hostname=None,
16578        id=None,
16579        name=None,
16580        override_database=None,
16581        password=None,
16582        port=None,
16583        port_override=None,
16584        proxy_cluster_id=None,
16585        secret_store_id=None,
16586        server_name=None,
16587        subdomain=None,
16588        tags=None,
16589        username=None,
16590    ):
16591        self.bind_interface = bind_interface if bind_interface is not None else ''
16592        '''
16593         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16594        '''
16595        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
16596        '''
16597         The CA to authenticate TLS connections with.
16598        '''
16599        self.client_certificate = client_certificate if client_certificate is not None else ''
16600        '''
16601         The certificate to authenticate TLS connections with.
16602        '''
16603        self.client_key = client_key if client_key is not None else ''
16604        '''
16605         The key to authenticate TLS connections with.
16606        '''
16607        self.database = database if database is not None else ''
16608        '''
16609         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
16610        '''
16611        self.egress_filter = egress_filter if egress_filter is not None else ''
16612        '''
16613         A filter applied to the routing logic to pin datasource to nodes.
16614        '''
16615        self.healthy = healthy if healthy is not None else False
16616        '''
16617         True if the datasource is reachable and the credentials are valid.
16618        '''
16619        self.hostname = hostname if hostname is not None else ''
16620        '''
16621         The host to dial to initiate a connection from the egress node to this resource.
16622        '''
16623        self.id = id if id is not None else ''
16624        '''
16625         Unique identifier of the Resource.
16626        '''
16627        self.name = name if name is not None else ''
16628        '''
16629         Unique human-readable name of the Resource.
16630        '''
16631        self.override_database = override_database if override_database is not None else False
16632        '''
16633         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
16634        '''
16635        self.password = password if password is not None else ''
16636        '''
16637         The password to authenticate with.
16638        '''
16639        self.port = port if port is not None else 0
16640        '''
16641         The port to dial to initiate a connection from the egress node to this resource.
16642        '''
16643        self.port_override = port_override if port_override is not None else 0
16644        '''
16645         The local port used by clients to connect to this resource.
16646        '''
16647        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16648        '''
16649         ID of the proxy cluster for this resource, if any.
16650        '''
16651        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16652        '''
16653         ID of the secret store containing credentials for this resource, if any.
16654        '''
16655        self.server_name = server_name if server_name is not None else ''
16656        '''
16657         Server name for TLS verification (unverified by StrongDM if empty)
16658        '''
16659        self.subdomain = subdomain if subdomain is not None else ''
16660        '''
16661         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16662        '''
16663        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16664        '''
16665         Tags is a map of key, value pairs.
16666        '''
16667        self.username = username if username is not None else ''
16668        '''
16669         The username to authenticate with.
16670        '''
16671
16672    def __repr__(self):
16673        return '<sdm.MTLSPostgres ' + \
16674            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
16675            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
16676            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
16677            'client_key: ' + repr(self.client_key) + ' ' +\
16678            'database: ' + repr(self.database) + ' ' +\
16679            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
16680            'healthy: ' + repr(self.healthy) + ' ' +\
16681            'hostname: ' + repr(self.hostname) + ' ' +\
16682            'id: ' + repr(self.id) + ' ' +\
16683            'name: ' + repr(self.name) + ' ' +\
16684            'override_database: ' + repr(self.override_database) + ' ' +\
16685            'password: ' + repr(self.password) + ' ' +\
16686            'port: ' + repr(self.port) + ' ' +\
16687            'port_override: ' + repr(self.port_override) + ' ' +\
16688            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
16689            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
16690            'server_name: ' + repr(self.server_name) + ' ' +\
16691            'subdomain: ' + repr(self.subdomain) + ' ' +\
16692            'tags: ' + repr(self.tags) + ' ' +\
16693            'username: ' + repr(self.username) + ' ' +\
16694            '>'
16695
16696    def to_dict(self):
16697        return {
16698            'bind_interface': self.bind_interface,
16699            'certificate_authority': self.certificate_authority,
16700            'client_certificate': self.client_certificate,
16701            'client_key': self.client_key,
16702            'database': self.database,
16703            'egress_filter': self.egress_filter,
16704            'healthy': self.healthy,
16705            'hostname': self.hostname,
16706            'id': self.id,
16707            'name': self.name,
16708            'override_database': self.override_database,
16709            'password': self.password,
16710            'port': self.port,
16711            'port_override': self.port_override,
16712            'proxy_cluster_id': self.proxy_cluster_id,
16713            'secret_store_id': self.secret_store_id,
16714            'server_name': self.server_name,
16715            'subdomain': self.subdomain,
16716            'tags': self.tags,
16717            'username': self.username,
16718        }
16719
16720    @classmethod
16721    def from_dict(cls, d):
16722        return cls(
16723            bind_interface=d.get('bind_interface'),
16724            certificate_authority=d.get('certificate_authority'),
16725            client_certificate=d.get('client_certificate'),
16726            client_key=d.get('client_key'),
16727            database=d.get('database'),
16728            egress_filter=d.get('egress_filter'),
16729            healthy=d.get('healthy'),
16730            hostname=d.get('hostname'),
16731            id=d.get('id'),
16732            name=d.get('name'),
16733            override_database=d.get('override_database'),
16734            password=d.get('password'),
16735            port=d.get('port'),
16736            port_override=d.get('port_override'),
16737            proxy_cluster_id=d.get('proxy_cluster_id'),
16738            secret_store_id=d.get('secret_store_id'),
16739            server_name=d.get('server_name'),
16740            subdomain=d.get('subdomain'),
16741            tags=d.get('tags'),
16742            username=d.get('username'),
16743        )
16744
16745
16746class ManagedSecret:
16747    '''
16748         ManagedSecret contains details about managed secret
16749    '''
16750    __slots__ = [
16751        'config',
16752        'expires_at',
16753        'id',
16754        'last_rotated_at',
16755        'name',
16756        'policy',
16757        'secret_engine_id',
16758        'secret_store_path',
16759        'tags',
16760        'value',
16761    ]
16762
16763    def __init__(
16764        self,
16765        config=None,
16766        expires_at=None,
16767        id=None,
16768        last_rotated_at=None,
16769        name=None,
16770        policy=None,
16771        secret_engine_id=None,
16772        secret_store_path=None,
16773        tags=None,
16774        value=None,
16775    ):
16776        self.config = config if config is not None else ''
16777        '''
16778         public part of the secret value
16779        '''
16780        self.expires_at = expires_at if expires_at is not None else None
16781        '''
16782         Timestamp of when secret is going to be rotated
16783        '''
16784        self.id = id if id is not None else ''
16785        '''
16786         Unique identifier of the Managed Secret.
16787        '''
16788        self.last_rotated_at = last_rotated_at if last_rotated_at is not None else None
16789        '''
16790         Timestamp of when secret was last rotated
16791        '''
16792        self.name = name if name is not None else ''
16793        '''
16794         Unique human-readable name of the Managed Secret.
16795        '''
16796        self.policy = policy if policy is not None else None
16797        '''
16798         Password and rotation policy for the secret
16799        '''
16800        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
16801        '''
16802         An ID of a Secret Engine linked with the Managed Secret.
16803        '''
16804        self.secret_store_path = secret_store_path if secret_store_path is not None else ''
16805        '''
16806         Path in a secret store.
16807        '''
16808        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16809        '''
16810         Tags is a map of key, value pairs.
16811        '''
16812        self.value = value if value is not None else b''
16813        '''
16814         Sensitive value of the secret.
16815        '''
16816
16817    def __repr__(self):
16818        return '<sdm.ManagedSecret ' + \
16819            'config: ' + repr(self.config) + ' ' +\
16820            'expires_at: ' + repr(self.expires_at) + ' ' +\
16821            'id: ' + repr(self.id) + ' ' +\
16822            'last_rotated_at: ' + repr(self.last_rotated_at) + ' ' +\
16823            'name: ' + repr(self.name) + ' ' +\
16824            'policy: ' + repr(self.policy) + ' ' +\
16825            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
16826            'secret_store_path: ' + repr(self.secret_store_path) + ' ' +\
16827            'tags: ' + repr(self.tags) + ' ' +\
16828            'value: ' + repr(self.value) + ' ' +\
16829            '>'
16830
16831    def to_dict(self):
16832        return {
16833            'config': self.config,
16834            'expires_at': self.expires_at,
16835            'id': self.id,
16836            'last_rotated_at': self.last_rotated_at,
16837            'name': self.name,
16838            'policy': self.policy,
16839            'secret_engine_id': self.secret_engine_id,
16840            'secret_store_path': self.secret_store_path,
16841            'tags': self.tags,
16842            'value': self.value,
16843        }
16844
16845    @classmethod
16846    def from_dict(cls, d):
16847        return cls(
16848            config=d.get('config'),
16849            expires_at=d.get('expires_at'),
16850            id=d.get('id'),
16851            last_rotated_at=d.get('last_rotated_at'),
16852            name=d.get('name'),
16853            policy=d.get('policy'),
16854            secret_engine_id=d.get('secret_engine_id'),
16855            secret_store_path=d.get('secret_store_path'),
16856            tags=d.get('tags'),
16857            value=d.get('value'),
16858        )
16859
16860
16861class ManagedSecretCreateRequest:
16862    '''
16863         ManagedSecretCreateRequest specifies a Managed Secret to create.
16864    '''
16865    __slots__ = [
16866        'managed_secret',
16867    ]
16868
16869    def __init__(
16870        self,
16871        managed_secret=None,
16872    ):
16873        self.managed_secret = managed_secret if managed_secret is not None else None
16874        '''
16875         Parameters to define the new Managed Secret.
16876        '''
16877
16878    def __repr__(self):
16879        return '<sdm.ManagedSecretCreateRequest ' + \
16880            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
16881            '>'
16882
16883    def to_dict(self):
16884        return {
16885            'managed_secret': self.managed_secret,
16886        }
16887
16888    @classmethod
16889    def from_dict(cls, d):
16890        return cls(managed_secret=d.get('managed_secret'), )
16891
16892
16893class ManagedSecretCreateResponse:
16894    '''
16895         ManagedSecretCreateResponse contains information about a Managed Secret after
16896     successful creation.
16897    '''
16898    __slots__ = [
16899        'managed_secret',
16900        'meta',
16901        'rate_limit',
16902    ]
16903
16904    def __init__(
16905        self,
16906        managed_secret=None,
16907        meta=None,
16908        rate_limit=None,
16909    ):
16910        self.managed_secret = managed_secret if managed_secret is not None else None
16911        '''
16912         The requested Managed Secret.
16913        '''
16914        self.meta = meta if meta is not None else None
16915        '''
16916         Reserved for future use.
16917        '''
16918        self.rate_limit = rate_limit if rate_limit is not None else None
16919        '''
16920         Rate limit information.
16921        '''
16922
16923    def __repr__(self):
16924        return '<sdm.ManagedSecretCreateResponse ' + \
16925            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
16926            'meta: ' + repr(self.meta) + ' ' +\
16927            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16928            '>'
16929
16930    def to_dict(self):
16931        return {
16932            'managed_secret': self.managed_secret,
16933            'meta': self.meta,
16934            'rate_limit': self.rate_limit,
16935        }
16936
16937    @classmethod
16938    def from_dict(cls, d):
16939        return cls(
16940            managed_secret=d.get('managed_secret'),
16941            meta=d.get('meta'),
16942            rate_limit=d.get('rate_limit'),
16943        )
16944
16945
16946class ManagedSecretDeleteRequest:
16947    '''
16948         ManagedSecretDeleteRequest specified the ID of a Managed Secret to be
16949     deleted.
16950    '''
16951    __slots__ = [
16952        'id',
16953    ]
16954
16955    def __init__(
16956        self,
16957        id=None,
16958    ):
16959        self.id = id if id is not None else ''
16960        '''
16961         The unique identifier of the Managed Secret to delete.
16962        '''
16963
16964    def __repr__(self):
16965        return '<sdm.ManagedSecretDeleteRequest ' + \
16966            'id: ' + repr(self.id) + ' ' +\
16967            '>'
16968
16969    def to_dict(self):
16970        return {
16971            'id': self.id,
16972        }
16973
16974    @classmethod
16975    def from_dict(cls, d):
16976        return cls(id=d.get('id'), )
16977
16978
16979class ManagedSecretDeleteResponse:
16980    '''
16981         ManagedSecretDeleteResponse contains information about a Managed Secret after
16982     it was deleted.
16983    '''
16984    __slots__ = [
16985        'rate_limit',
16986    ]
16987
16988    def __init__(
16989        self,
16990        rate_limit=None,
16991    ):
16992        self.rate_limit = rate_limit if rate_limit is not None else None
16993        '''
16994         Rate limit information.
16995        '''
16996
16997    def __repr__(self):
16998        return '<sdm.ManagedSecretDeleteResponse ' + \
16999            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17000            '>'
17001
17002    def to_dict(self):
17003        return {
17004            'rate_limit': self.rate_limit,
17005        }
17006
17007    @classmethod
17008    def from_dict(cls, d):
17009        return cls(rate_limit=d.get('rate_limit'), )
17010
17011
17012class ManagedSecretGetRequest:
17013    '''
17014         ManagedSecretGetRequest specifies which Managed Secret to retrieve
17015    '''
17016    __slots__ = [
17017        'id',
17018    ]
17019
17020    def __init__(
17021        self,
17022        id=None,
17023    ):
17024        self.id = id if id is not None else ''
17025        '''
17026         The unique identifier of the Managed Secret to retrieve.
17027        '''
17028
17029    def __repr__(self):
17030        return '<sdm.ManagedSecretGetRequest ' + \
17031            'id: ' + repr(self.id) + ' ' +\
17032            '>'
17033
17034    def to_dict(self):
17035        return {
17036            'id': self.id,
17037        }
17038
17039    @classmethod
17040    def from_dict(cls, d):
17041        return cls(id=d.get('id'), )
17042
17043
17044class ManagedSecretGetResponse:
17045    '''
17046         ManagedSecretGetResponse contains information about requested Managed Secret
17047    '''
17048    __slots__ = [
17049        'managed_secret',
17050        'meta',
17051        'rate_limit',
17052    ]
17053
17054    def __init__(
17055        self,
17056        managed_secret=None,
17057        meta=None,
17058        rate_limit=None,
17059    ):
17060        self.managed_secret = managed_secret if managed_secret is not None else None
17061        '''
17062         The requested Managed Secret.
17063        '''
17064        self.meta = meta if meta is not None else None
17065        '''
17066         Reserved for future use.
17067        '''
17068        self.rate_limit = rate_limit if rate_limit is not None else None
17069        '''
17070         Rate limit information.
17071        '''
17072
17073    def __repr__(self):
17074        return '<sdm.ManagedSecretGetResponse ' + \
17075            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
17076            'meta: ' + repr(self.meta) + ' ' +\
17077            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17078            '>'
17079
17080    def to_dict(self):
17081        return {
17082            'managed_secret': self.managed_secret,
17083            'meta': self.meta,
17084            'rate_limit': self.rate_limit,
17085        }
17086
17087    @classmethod
17088    def from_dict(cls, d):
17089        return cls(
17090            managed_secret=d.get('managed_secret'),
17091            meta=d.get('meta'),
17092            rate_limit=d.get('rate_limit'),
17093        )
17094
17095
17096class ManagedSecretListRequest:
17097    '''
17098         ManagedSecretListRequest specifies criteria for retrieving a list of Managed
17099     Secrets.
17100    '''
17101    __slots__ = [
17102        'filter',
17103    ]
17104
17105    def __init__(
17106        self,
17107        filter=None,
17108    ):
17109        self.filter = filter if filter is not None else ''
17110        '''
17111         A human-readable filter query string.
17112        '''
17113
17114    def __repr__(self):
17115        return '<sdm.ManagedSecretListRequest ' + \
17116            'filter: ' + repr(self.filter) + ' ' +\
17117            '>'
17118
17119    def to_dict(self):
17120        return {
17121            'filter': self.filter,
17122        }
17123
17124    @classmethod
17125    def from_dict(cls, d):
17126        return cls(filter=d.get('filter'), )
17127
17128
17129class ManagedSecretListResponse:
17130    '''
17131         ManagedSecretListResponse contains a list of requested Managed Secrets
17132    '''
17133    __slots__ = [
17134        'rate_limit',
17135    ]
17136
17137    def __init__(
17138        self,
17139        rate_limit=None,
17140    ):
17141        self.rate_limit = rate_limit if rate_limit is not None else None
17142        '''
17143         Rate limit information.
17144        '''
17145
17146    def __repr__(self):
17147        return '<sdm.ManagedSecretListResponse ' + \
17148            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17149            '>'
17150
17151    def to_dict(self):
17152        return {
17153            'rate_limit': self.rate_limit,
17154        }
17155
17156    @classmethod
17157    def from_dict(cls, d):
17158        return cls(rate_limit=d.get('rate_limit'), )
17159
17160
17161class ManagedSecretLog:
17162    '''
17163         ManagedSecretLog contains details about action performed against a managed
17164     secret
17165    '''
17166    __slots__ = [
17167        'account_id',
17168        'action',
17169        'created_at',
17170        'debug',
17171        'id',
17172        'managed_secret_id',
17173        'secret_engine_id',
17174    ]
17175
17176    def __init__(
17177        self,
17178        account_id=None,
17179        action=None,
17180        created_at=None,
17181        debug=None,
17182        id=None,
17183        managed_secret_id=None,
17184        secret_engine_id=None,
17185    ):
17186        self.account_id = account_id if account_id is not None else ''
17187        '''
17188         An ID of the account the action was performed by.
17189        '''
17190        self.action = action if action is not None else ''
17191        '''
17192         The action performed by the account against the managed secret.
17193        '''
17194        self.created_at = created_at if created_at is not None else None
17195        '''
17196         Timestamp of when action was performed.
17197        '''
17198        self.debug = debug if debug is not None else ''
17199        '''
17200         Any debug logs associated with the action.
17201        '''
17202        self.id = id if id is not None else ''
17203        '''
17204         Unique identifier of the Managed Secret Log.
17205        '''
17206        self.managed_secret_id = managed_secret_id if managed_secret_id is not None else ''
17207        '''
17208         An ID of the Managed Secret the action was performed against.
17209        '''
17210        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
17211        '''
17212         An ID of the Secret Engine linked with the Managed Secret.
17213        '''
17214
17215    def __repr__(self):
17216        return '<sdm.ManagedSecretLog ' + \
17217            'account_id: ' + repr(self.account_id) + ' ' +\
17218            'action: ' + repr(self.action) + ' ' +\
17219            'created_at: ' + repr(self.created_at) + ' ' +\
17220            'debug: ' + repr(self.debug) + ' ' +\
17221            'id: ' + repr(self.id) + ' ' +\
17222            'managed_secret_id: ' + repr(self.managed_secret_id) + ' ' +\
17223            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
17224            '>'
17225
17226    def to_dict(self):
17227        return {
17228            'account_id': self.account_id,
17229            'action': self.action,
17230            'created_at': self.created_at,
17231            'debug': self.debug,
17232            'id': self.id,
17233            'managed_secret_id': self.managed_secret_id,
17234            'secret_engine_id': self.secret_engine_id,
17235        }
17236
17237    @classmethod
17238    def from_dict(cls, d):
17239        return cls(
17240            account_id=d.get('account_id'),
17241            action=d.get('action'),
17242            created_at=d.get('created_at'),
17243            debug=d.get('debug'),
17244            id=d.get('id'),
17245            managed_secret_id=d.get('managed_secret_id'),
17246            secret_engine_id=d.get('secret_engine_id'),
17247        )
17248
17249
17250class ManagedSecretLogsRequest:
17251    '''
17252         ManagedSecretLogsRequest specifies criteria for retrieving a log of Managed
17253     Secrets actions.
17254    '''
17255    __slots__ = [
17256        'filter',
17257    ]
17258
17259    def __init__(
17260        self,
17261        filter=None,
17262    ):
17263        self.filter = filter if filter is not None else ''
17264        '''
17265         A human-readable filter query string.
17266        '''
17267
17268    def __repr__(self):
17269        return '<sdm.ManagedSecretLogsRequest ' + \
17270            'filter: ' + repr(self.filter) + ' ' +\
17271            '>'
17272
17273    def to_dict(self):
17274        return {
17275            'filter': self.filter,
17276        }
17277
17278    @classmethod
17279    def from_dict(cls, d):
17280        return cls(filter=d.get('filter'), )
17281
17282
17283class ManagedSecretLogsResponse:
17284    '''
17285         ManagedSecretLogsResponse contains a list of requested Managed Secrets
17286    '''
17287    __slots__ = [
17288        'rate_limit',
17289    ]
17290
17291    def __init__(
17292        self,
17293        rate_limit=None,
17294    ):
17295        self.rate_limit = rate_limit if rate_limit is not None else None
17296        '''
17297         Rate limit information.
17298        '''
17299
17300    def __repr__(self):
17301        return '<sdm.ManagedSecretLogsResponse ' + \
17302            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17303            '>'
17304
17305    def to_dict(self):
17306        return {
17307            'rate_limit': self.rate_limit,
17308        }
17309
17310    @classmethod
17311    def from_dict(cls, d):
17312        return cls(rate_limit=d.get('rate_limit'), )
17313
17314
17315class ManagedSecretPasswordPolicy:
17316    __slots__ = [
17317        'allow_repeat',
17318        'exclude_characters',
17319        'exclude_upper_case',
17320        'length',
17321        'num_digits',
17322        'num_symbols',
17323    ]
17324
17325    def __init__(
17326        self,
17327        allow_repeat=None,
17328        exclude_characters=None,
17329        exclude_upper_case=None,
17330        length=None,
17331        num_digits=None,
17332        num_symbols=None,
17333    ):
17334        self.allow_repeat = allow_repeat if allow_repeat is not None else False
17335        '''
17336         If set to true allows for consecutive characters to repeat itself
17337        '''
17338        self.exclude_characters = exclude_characters if exclude_characters is not None else ''
17339        '''
17340         Characters to exclude when generating password
17341        '''
17342        self.exclude_upper_case = exclude_upper_case if exclude_upper_case is not None else False
17343        '''
17344         If set to true do not include upper case letters when generating password
17345        '''
17346        self.length = length if length is not None else 0
17347        '''
17348         Password length
17349        '''
17350        self.num_digits = num_digits if num_digits is not None else 0
17351        '''
17352         Numbers of digits to use when generating password
17353        '''
17354        self.num_symbols = num_symbols if num_symbols is not None else 0
17355        '''
17356         Number of symbols to use when generating password
17357        '''
17358
17359    def __repr__(self):
17360        return '<sdm.ManagedSecretPasswordPolicy ' + \
17361            'allow_repeat: ' + repr(self.allow_repeat) + ' ' +\
17362            'exclude_characters: ' + repr(self.exclude_characters) + ' ' +\
17363            'exclude_upper_case: ' + repr(self.exclude_upper_case) + ' ' +\
17364            'length: ' + repr(self.length) + ' ' +\
17365            'num_digits: ' + repr(self.num_digits) + ' ' +\
17366            'num_symbols: ' + repr(self.num_symbols) + ' ' +\
17367            '>'
17368
17369    def to_dict(self):
17370        return {
17371            'allow_repeat': self.allow_repeat,
17372            'exclude_characters': self.exclude_characters,
17373            'exclude_upper_case': self.exclude_upper_case,
17374            'length': self.length,
17375            'num_digits': self.num_digits,
17376            'num_symbols': self.num_symbols,
17377        }
17378
17379    @classmethod
17380    def from_dict(cls, d):
17381        return cls(
17382            allow_repeat=d.get('allow_repeat'),
17383            exclude_characters=d.get('exclude_characters'),
17384            exclude_upper_case=d.get('exclude_upper_case'),
17385            length=d.get('length'),
17386            num_digits=d.get('num_digits'),
17387            num_symbols=d.get('num_symbols'),
17388        )
17389
17390
17391class ManagedSecretPolicy:
17392    '''
17393         ManagedSecretPolicy contains password and rotation policy for managed secret
17394    '''
17395    __slots__ = [
17396        'password_policy',
17397        'rotation_policy',
17398    ]
17399
17400    def __init__(
17401        self,
17402        password_policy=None,
17403        rotation_policy=None,
17404    ):
17405        self.password_policy = password_policy if password_policy is not None else None
17406        '''
17407         Password policy for a managed secret
17408        '''
17409        self.rotation_policy = rotation_policy if rotation_policy is not None else None
17410        '''
17411         Rotation policy for a managed secret
17412        '''
17413
17414    def __repr__(self):
17415        return '<sdm.ManagedSecretPolicy ' + \
17416            'password_policy: ' + repr(self.password_policy) + ' ' +\
17417            'rotation_policy: ' + repr(self.rotation_policy) + ' ' +\
17418            '>'
17419
17420    def to_dict(self):
17421        return {
17422            'password_policy': self.password_policy,
17423            'rotation_policy': self.rotation_policy,
17424        }
17425
17426    @classmethod
17427    def from_dict(cls, d):
17428        return cls(
17429            password_policy=d.get('password_policy'),
17430            rotation_policy=d.get('rotation_policy'),
17431        )
17432
17433
17434class ManagedSecretRetrieveRequest:
17435    '''
17436         ManagedSecretRetrieveRequest specifies which Managed Secret to retrieve
17437    '''
17438    __slots__ = [
17439        'id',
17440        'public_key',
17441    ]
17442
17443    def __init__(
17444        self,
17445        id=None,
17446        public_key=None,
17447    ):
17448        self.id = id if id is not None else ''
17449        '''
17450         The unique identifier of the Managed Secret to retrieve.
17451        '''
17452        self.public_key = public_key if public_key is not None else b''
17453        '''
17454         Public key to encrypt a sensitive value with
17455        '''
17456
17457    def __repr__(self):
17458        return '<sdm.ManagedSecretRetrieveRequest ' + \
17459            'id: ' + repr(self.id) + ' ' +\
17460            'public_key: ' + repr(self.public_key) + ' ' +\
17461            '>'
17462
17463    def to_dict(self):
17464        return {
17465            'id': self.id,
17466            'public_key': self.public_key,
17467        }
17468
17469    @classmethod
17470    def from_dict(cls, d):
17471        return cls(
17472            id=d.get('id'),
17473            public_key=d.get('public_key'),
17474        )
17475
17476
17477class ManagedSecretRetrieveResponse:
17478    '''
17479         ManagedSecretRetrieveResponse contains information about requested Managed
17480     Secret
17481    '''
17482    __slots__ = [
17483        'managed_secret',
17484        'meta',
17485        'rate_limit',
17486    ]
17487
17488    def __init__(
17489        self,
17490        managed_secret=None,
17491        meta=None,
17492        rate_limit=None,
17493    ):
17494        self.managed_secret = managed_secret if managed_secret is not None else None
17495        '''
17496         The requested Managed Secret.
17497        '''
17498        self.meta = meta if meta is not None else None
17499        '''
17500         Reserved for future use.
17501        '''
17502        self.rate_limit = rate_limit if rate_limit is not None else None
17503        '''
17504         Rate limit information.
17505        '''
17506
17507    def __repr__(self):
17508        return '<sdm.ManagedSecretRetrieveResponse ' + \
17509            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
17510            'meta: ' + repr(self.meta) + ' ' +\
17511            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17512            '>'
17513
17514    def to_dict(self):
17515        return {
17516            'managed_secret': self.managed_secret,
17517            'meta': self.meta,
17518            'rate_limit': self.rate_limit,
17519        }
17520
17521    @classmethod
17522    def from_dict(cls, d):
17523        return cls(
17524            managed_secret=d.get('managed_secret'),
17525            meta=d.get('meta'),
17526            rate_limit=d.get('rate_limit'),
17527        )
17528
17529
17530class ManagedSecretRotateRequest:
17531    '''
17532         ManagedSecretRotateRequest specifies Managed Secret to rotate
17533    '''
17534    __slots__ = [
17535        'id',
17536    ]
17537
17538    def __init__(
17539        self,
17540        id=None,
17541    ):
17542        self.id = id if id is not None else ''
17543        '''
17544         The unique identifier of the Managed Secret to rotate.
17545        '''
17546
17547    def __repr__(self):
17548        return '<sdm.ManagedSecretRotateRequest ' + \
17549            'id: ' + repr(self.id) + ' ' +\
17550            '>'
17551
17552    def to_dict(self):
17553        return {
17554            'id': self.id,
17555        }
17556
17557    @classmethod
17558    def from_dict(cls, d):
17559        return cls(id=d.get('id'), )
17560
17561
17562class ManagedSecretRotateResponse:
17563    '''
17564         ManagedSecretRotateResponse contains information about Secret Engine after
17565     successful rotation.
17566    '''
17567    __slots__ = [
17568        'meta',
17569        'rate_limit',
17570    ]
17571
17572    def __init__(
17573        self,
17574        meta=None,
17575        rate_limit=None,
17576    ):
17577        self.meta = meta if meta is not None else None
17578        '''
17579         Reserved for future use.
17580        '''
17581        self.rate_limit = rate_limit if rate_limit is not None else None
17582        '''
17583         Rate limit information.
17584        '''
17585
17586    def __repr__(self):
17587        return '<sdm.ManagedSecretRotateResponse ' + \
17588            'meta: ' + repr(self.meta) + ' ' +\
17589            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17590            '>'
17591
17592    def to_dict(self):
17593        return {
17594            'meta': self.meta,
17595            'rate_limit': self.rate_limit,
17596        }
17597
17598    @classmethod
17599    def from_dict(cls, d):
17600        return cls(
17601            meta=d.get('meta'),
17602            rate_limit=d.get('rate_limit'),
17603        )
17604
17605
17606class ManagedSecretRotationPolicy:
17607    __slots__ = []
17608
17609    def __init__(self, ):
17610        pass
17611
17612    def __repr__(self):
17613        return '<sdm.ManagedSecretRotationPolicy ' + \
17614            '>'
17615
17616    def to_dict(self):
17617        return {}
17618
17619    @classmethod
17620    def from_dict(cls, d):
17621        return cls()
17622
17623
17624class ManagedSecretUpdateRequest:
17625    '''
17626         ManagedSecretUpdateRequest specifies Managed Secret to update
17627    '''
17628    __slots__ = [
17629        'managed_secret',
17630    ]
17631
17632    def __init__(
17633        self,
17634        managed_secret=None,
17635    ):
17636        self.managed_secret = managed_secret if managed_secret is not None else None
17637        '''
17638         Managed Secret to update
17639        '''
17640
17641    def __repr__(self):
17642        return '<sdm.ManagedSecretUpdateRequest ' + \
17643            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
17644            '>'
17645
17646    def to_dict(self):
17647        return {
17648            'managed_secret': self.managed_secret,
17649        }
17650
17651    @classmethod
17652    def from_dict(cls, d):
17653        return cls(managed_secret=d.get('managed_secret'), )
17654
17655
17656class ManagedSecretUpdateResponse:
17657    '''
17658         ManagedSecretUpdateResponse contains information about Secret Engine after
17659     successful update.
17660    '''
17661    __slots__ = [
17662        'managed_secret',
17663        'meta',
17664        'rate_limit',
17665    ]
17666
17667    def __init__(
17668        self,
17669        managed_secret=None,
17670        meta=None,
17671        rate_limit=None,
17672    ):
17673        self.managed_secret = managed_secret if managed_secret is not None else None
17674        '''
17675         The requested Managed Secret.
17676        '''
17677        self.meta = meta if meta is not None else None
17678        '''
17679         Reserved for future use.
17680        '''
17681        self.rate_limit = rate_limit if rate_limit is not None else None
17682        '''
17683         Rate limit information.
17684        '''
17685
17686    def __repr__(self):
17687        return '<sdm.ManagedSecretUpdateResponse ' + \
17688            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
17689            'meta: ' + repr(self.meta) + ' ' +\
17690            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17691            '>'
17692
17693    def to_dict(self):
17694        return {
17695            'managed_secret': self.managed_secret,
17696            'meta': self.meta,
17697            'rate_limit': self.rate_limit,
17698        }
17699
17700    @classmethod
17701    def from_dict(cls, d):
17702        return cls(
17703            managed_secret=d.get('managed_secret'),
17704            meta=d.get('meta'),
17705            rate_limit=d.get('rate_limit'),
17706        )
17707
17708
17709class ManagedSecretValidateRequest:
17710    '''
17711         ManagedSecretValidateRequest specifies which Managed Secret to validate
17712    '''
17713    __slots__ = [
17714        'id',
17715    ]
17716
17717    def __init__(
17718        self,
17719        id=None,
17720    ):
17721        self.id = id if id is not None else ''
17722        '''
17723         The unique identifier of the Managed Secret to validate.
17724        '''
17725
17726    def __repr__(self):
17727        return '<sdm.ManagedSecretValidateRequest ' + \
17728            'id: ' + repr(self.id) + ' ' +\
17729            '>'
17730
17731    def to_dict(self):
17732        return {
17733            'id': self.id,
17734        }
17735
17736    @classmethod
17737    def from_dict(cls, d):
17738        return cls(id=d.get('id'), )
17739
17740
17741class ManagedSecretValidateResponse:
17742    '''
17743         ManagedSecretValidateResponse contains validity of requested Managed
17744     Secret
17745    '''
17746    __slots__ = [
17747        'invalid_info',
17748        'meta',
17749        'rate_limit',
17750        'valid',
17751    ]
17752
17753    def __init__(
17754        self,
17755        invalid_info=None,
17756        meta=None,
17757        rate_limit=None,
17758        valid=None,
17759    ):
17760        self.invalid_info = invalid_info if invalid_info is not None else ''
17761        '''
17762         Information about why secret is invalid
17763        '''
17764        self.meta = meta if meta is not None else None
17765        '''
17766         Reserved for future use.
17767        '''
17768        self.rate_limit = rate_limit if rate_limit is not None else None
17769        '''
17770         Rate limit information.
17771        '''
17772        self.valid = valid if valid is not None else False
17773        '''
17774         Whether the secret is valid
17775        '''
17776
17777    def __repr__(self):
17778        return '<sdm.ManagedSecretValidateResponse ' + \
17779            'invalid_info: ' + repr(self.invalid_info) + ' ' +\
17780            'meta: ' + repr(self.meta) + ' ' +\
17781            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17782            'valid: ' + repr(self.valid) + ' ' +\
17783            '>'
17784
17785    def to_dict(self):
17786        return {
17787            'invalid_info': self.invalid_info,
17788            'meta': self.meta,
17789            'rate_limit': self.rate_limit,
17790            'valid': self.valid,
17791        }
17792
17793    @classmethod
17794    def from_dict(cls, d):
17795        return cls(
17796            invalid_info=d.get('invalid_info'),
17797            meta=d.get('meta'),
17798            rate_limit=d.get('rate_limit'),
17799            valid=d.get('valid'),
17800        )
17801
17802
17803class Maria:
17804    __slots__ = [
17805        'bind_interface',
17806        'database',
17807        'egress_filter',
17808        'healthy',
17809        'hostname',
17810        'id',
17811        'name',
17812        'password',
17813        'port',
17814        'port_override',
17815        'proxy_cluster_id',
17816        'require_native_auth',
17817        'secret_store_id',
17818        'subdomain',
17819        'tags',
17820        'use_azure_single_server_usernames',
17821        'username',
17822    ]
17823
17824    def __init__(
17825        self,
17826        bind_interface=None,
17827        database=None,
17828        egress_filter=None,
17829        healthy=None,
17830        hostname=None,
17831        id=None,
17832        name=None,
17833        password=None,
17834        port=None,
17835        port_override=None,
17836        proxy_cluster_id=None,
17837        require_native_auth=None,
17838        secret_store_id=None,
17839        subdomain=None,
17840        tags=None,
17841        use_azure_single_server_usernames=None,
17842        username=None,
17843    ):
17844        self.bind_interface = bind_interface if bind_interface is not None else ''
17845        '''
17846         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
17847        '''
17848        self.database = database if database is not None else ''
17849        '''
17850         The database for healthchecks. Does not affect client requests.
17851        '''
17852        self.egress_filter = egress_filter if egress_filter is not None else ''
17853        '''
17854         A filter applied to the routing logic to pin datasource to nodes.
17855        '''
17856        self.healthy = healthy if healthy is not None else False
17857        '''
17858         True if the datasource is reachable and the credentials are valid.
17859        '''
17860        self.hostname = hostname if hostname is not None else ''
17861        '''
17862         The host to dial to initiate a connection from the egress node to this resource.
17863        '''
17864        self.id = id if id is not None else ''
17865        '''
17866         Unique identifier of the Resource.
17867        '''
17868        self.name = name if name is not None else ''
17869        '''
17870         Unique human-readable name of the Resource.
17871        '''
17872        self.password = password if password is not None else ''
17873        '''
17874         The password to authenticate with.
17875        '''
17876        self.port = port if port is not None else 0
17877        '''
17878         The port to dial to initiate a connection from the egress node to this resource.
17879        '''
17880        self.port_override = port_override if port_override is not None else 0
17881        '''
17882         The local port used by clients to connect to this resource.
17883        '''
17884        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17885        '''
17886         ID of the proxy cluster for this resource, if any.
17887        '''
17888        self.require_native_auth = require_native_auth if require_native_auth is not None else False
17889        '''
17890         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
17891        '''
17892        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17893        '''
17894         ID of the secret store containing credentials for this resource, if any.
17895        '''
17896        self.subdomain = subdomain if subdomain is not None else ''
17897        '''
17898         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
17899        '''
17900        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17901        '''
17902         Tags is a map of key, value pairs.
17903        '''
17904        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
17905        '''
17906         If true, appends the hostname to the username when hitting a database.azure.com address
17907        '''
17908        self.username = username if username is not None else ''
17909        '''
17910         The username to authenticate with.
17911        '''
17912
17913    def __repr__(self):
17914        return '<sdm.Maria ' + \
17915            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
17916            'database: ' + repr(self.database) + ' ' +\
17917            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
17918            'healthy: ' + repr(self.healthy) + ' ' +\
17919            'hostname: ' + repr(self.hostname) + ' ' +\
17920            'id: ' + repr(self.id) + ' ' +\
17921            'name: ' + repr(self.name) + ' ' +\
17922            'password: ' + repr(self.password) + ' ' +\
17923            'port: ' + repr(self.port) + ' ' +\
17924            'port_override: ' + repr(self.port_override) + ' ' +\
17925            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
17926            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
17927            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
17928            'subdomain: ' + repr(self.subdomain) + ' ' +\
17929            'tags: ' + repr(self.tags) + ' ' +\
17930            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
17931            'username: ' + repr(self.username) + ' ' +\
17932            '>'
17933
17934    def to_dict(self):
17935        return {
17936            'bind_interface': self.bind_interface,
17937            'database': self.database,
17938            'egress_filter': self.egress_filter,
17939            'healthy': self.healthy,
17940            'hostname': self.hostname,
17941            'id': self.id,
17942            'name': self.name,
17943            'password': self.password,
17944            'port': self.port,
17945            'port_override': self.port_override,
17946            'proxy_cluster_id': self.proxy_cluster_id,
17947            'require_native_auth': self.require_native_auth,
17948            'secret_store_id': self.secret_store_id,
17949            'subdomain': self.subdomain,
17950            'tags': self.tags,
17951            'use_azure_single_server_usernames':
17952            self.use_azure_single_server_usernames,
17953            'username': self.username,
17954        }
17955
17956    @classmethod
17957    def from_dict(cls, d):
17958        return cls(
17959            bind_interface=d.get('bind_interface'),
17960            database=d.get('database'),
17961            egress_filter=d.get('egress_filter'),
17962            healthy=d.get('healthy'),
17963            hostname=d.get('hostname'),
17964            id=d.get('id'),
17965            name=d.get('name'),
17966            password=d.get('password'),
17967            port=d.get('port'),
17968            port_override=d.get('port_override'),
17969            proxy_cluster_id=d.get('proxy_cluster_id'),
17970            require_native_auth=d.get('require_native_auth'),
17971            secret_store_id=d.get('secret_store_id'),
17972            subdomain=d.get('subdomain'),
17973            tags=d.get('tags'),
17974            use_azure_single_server_usernames=d.get(
17975                'use_azure_single_server_usernames'),
17976            username=d.get('username'),
17977        )
17978
17979
17980class Memcached:
17981    __slots__ = [
17982        'bind_interface',
17983        'egress_filter',
17984        'healthy',
17985        'hostname',
17986        'id',
17987        'name',
17988        'port',
17989        'port_override',
17990        'proxy_cluster_id',
17991        'secret_store_id',
17992        'subdomain',
17993        'tags',
17994    ]
17995
17996    def __init__(
17997        self,
17998        bind_interface=None,
17999        egress_filter=None,
18000        healthy=None,
18001        hostname=None,
18002        id=None,
18003        name=None,
18004        port=None,
18005        port_override=None,
18006        proxy_cluster_id=None,
18007        secret_store_id=None,
18008        subdomain=None,
18009        tags=None,
18010    ):
18011        self.bind_interface = bind_interface if bind_interface is not None else ''
18012        '''
18013         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18014        '''
18015        self.egress_filter = egress_filter if egress_filter is not None else ''
18016        '''
18017         A filter applied to the routing logic to pin datasource to nodes.
18018        '''
18019        self.healthy = healthy if healthy is not None else False
18020        '''
18021         True if the datasource is reachable and the credentials are valid.
18022        '''
18023        self.hostname = hostname if hostname is not None else ''
18024        '''
18025         The host to dial to initiate a connection from the egress node to this resource.
18026        '''
18027        self.id = id if id is not None else ''
18028        '''
18029         Unique identifier of the Resource.
18030        '''
18031        self.name = name if name is not None else ''
18032        '''
18033         Unique human-readable name of the Resource.
18034        '''
18035        self.port = port if port is not None else 0
18036        '''
18037         The port to dial to initiate a connection from the egress node to this resource.
18038        '''
18039        self.port_override = port_override if port_override is not None else 0
18040        '''
18041         The local port used by clients to connect to this resource.
18042        '''
18043        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18044        '''
18045         ID of the proxy cluster for this resource, if any.
18046        '''
18047        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18048        '''
18049         ID of the secret store containing credentials for this resource, if any.
18050        '''
18051        self.subdomain = subdomain if subdomain is not None else ''
18052        '''
18053         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18054        '''
18055        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18056        '''
18057         Tags is a map of key, value pairs.
18058        '''
18059
18060    def __repr__(self):
18061        return '<sdm.Memcached ' + \
18062            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18063            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18064            'healthy: ' + repr(self.healthy) + ' ' +\
18065            'hostname: ' + repr(self.hostname) + ' ' +\
18066            'id: ' + repr(self.id) + ' ' +\
18067            'name: ' + repr(self.name) + ' ' +\
18068            'port: ' + repr(self.port) + ' ' +\
18069            'port_override: ' + repr(self.port_override) + ' ' +\
18070            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18071            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18072            'subdomain: ' + repr(self.subdomain) + ' ' +\
18073            'tags: ' + repr(self.tags) + ' ' +\
18074            '>'
18075
18076    def to_dict(self):
18077        return {
18078            'bind_interface': self.bind_interface,
18079            'egress_filter': self.egress_filter,
18080            'healthy': self.healthy,
18081            'hostname': self.hostname,
18082            'id': self.id,
18083            'name': self.name,
18084            'port': self.port,
18085            'port_override': self.port_override,
18086            'proxy_cluster_id': self.proxy_cluster_id,
18087            'secret_store_id': self.secret_store_id,
18088            'subdomain': self.subdomain,
18089            'tags': self.tags,
18090        }
18091
18092    @classmethod
18093    def from_dict(cls, d):
18094        return cls(
18095            bind_interface=d.get('bind_interface'),
18096            egress_filter=d.get('egress_filter'),
18097            healthy=d.get('healthy'),
18098            hostname=d.get('hostname'),
18099            id=d.get('id'),
18100            name=d.get('name'),
18101            port=d.get('port'),
18102            port_override=d.get('port_override'),
18103            proxy_cluster_id=d.get('proxy_cluster_id'),
18104            secret_store_id=d.get('secret_store_id'),
18105            subdomain=d.get('subdomain'),
18106            tags=d.get('tags'),
18107        )
18108
18109
18110class Memsql:
18111    __slots__ = [
18112        'bind_interface',
18113        'database',
18114        'egress_filter',
18115        'healthy',
18116        'hostname',
18117        'id',
18118        'name',
18119        'password',
18120        'port',
18121        'port_override',
18122        'proxy_cluster_id',
18123        'require_native_auth',
18124        'secret_store_id',
18125        'subdomain',
18126        'tags',
18127        'use_azure_single_server_usernames',
18128        'username',
18129    ]
18130
18131    def __init__(
18132        self,
18133        bind_interface=None,
18134        database=None,
18135        egress_filter=None,
18136        healthy=None,
18137        hostname=None,
18138        id=None,
18139        name=None,
18140        password=None,
18141        port=None,
18142        port_override=None,
18143        proxy_cluster_id=None,
18144        require_native_auth=None,
18145        secret_store_id=None,
18146        subdomain=None,
18147        tags=None,
18148        use_azure_single_server_usernames=None,
18149        username=None,
18150    ):
18151        self.bind_interface = bind_interface if bind_interface is not None else ''
18152        '''
18153         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18154        '''
18155        self.database = database if database is not None else ''
18156        '''
18157         The database for healthchecks. Does not affect client requests.
18158        '''
18159        self.egress_filter = egress_filter if egress_filter is not None else ''
18160        '''
18161         A filter applied to the routing logic to pin datasource to nodes.
18162        '''
18163        self.healthy = healthy if healthy is not None else False
18164        '''
18165         True if the datasource is reachable and the credentials are valid.
18166        '''
18167        self.hostname = hostname if hostname is not None else ''
18168        '''
18169         The host to dial to initiate a connection from the egress node to this resource.
18170        '''
18171        self.id = id if id is not None else ''
18172        '''
18173         Unique identifier of the Resource.
18174        '''
18175        self.name = name if name is not None else ''
18176        '''
18177         Unique human-readable name of the Resource.
18178        '''
18179        self.password = password if password is not None else ''
18180        '''
18181         The password to authenticate with.
18182        '''
18183        self.port = port if port is not None else 0
18184        '''
18185         The port to dial to initiate a connection from the egress node to this resource.
18186        '''
18187        self.port_override = port_override if port_override is not None else 0
18188        '''
18189         The local port used by clients to connect to this resource.
18190        '''
18191        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18192        '''
18193         ID of the proxy cluster for this resource, if any.
18194        '''
18195        self.require_native_auth = require_native_auth if require_native_auth is not None else False
18196        '''
18197         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
18198        '''
18199        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18200        '''
18201         ID of the secret store containing credentials for this resource, if any.
18202        '''
18203        self.subdomain = subdomain if subdomain is not None else ''
18204        '''
18205         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18206        '''
18207        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18208        '''
18209         Tags is a map of key, value pairs.
18210        '''
18211        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
18212        '''
18213         If true, appends the hostname to the username when hitting a database.azure.com address
18214        '''
18215        self.username = username if username is not None else ''
18216        '''
18217         The username to authenticate with.
18218        '''
18219
18220    def __repr__(self):
18221        return '<sdm.Memsql ' + \
18222            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18223            'database: ' + repr(self.database) + ' ' +\
18224            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18225            'healthy: ' + repr(self.healthy) + ' ' +\
18226            'hostname: ' + repr(self.hostname) + ' ' +\
18227            'id: ' + repr(self.id) + ' ' +\
18228            'name: ' + repr(self.name) + ' ' +\
18229            'password: ' + repr(self.password) + ' ' +\
18230            'port: ' + repr(self.port) + ' ' +\
18231            'port_override: ' + repr(self.port_override) + ' ' +\
18232            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18233            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
18234            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18235            'subdomain: ' + repr(self.subdomain) + ' ' +\
18236            'tags: ' + repr(self.tags) + ' ' +\
18237            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
18238            'username: ' + repr(self.username) + ' ' +\
18239            '>'
18240
18241    def to_dict(self):
18242        return {
18243            'bind_interface': self.bind_interface,
18244            'database': self.database,
18245            'egress_filter': self.egress_filter,
18246            'healthy': self.healthy,
18247            'hostname': self.hostname,
18248            'id': self.id,
18249            'name': self.name,
18250            'password': self.password,
18251            'port': self.port,
18252            'port_override': self.port_override,
18253            'proxy_cluster_id': self.proxy_cluster_id,
18254            'require_native_auth': self.require_native_auth,
18255            'secret_store_id': self.secret_store_id,
18256            'subdomain': self.subdomain,
18257            'tags': self.tags,
18258            'use_azure_single_server_usernames':
18259            self.use_azure_single_server_usernames,
18260            'username': self.username,
18261        }
18262
18263    @classmethod
18264    def from_dict(cls, d):
18265        return cls(
18266            bind_interface=d.get('bind_interface'),
18267            database=d.get('database'),
18268            egress_filter=d.get('egress_filter'),
18269            healthy=d.get('healthy'),
18270            hostname=d.get('hostname'),
18271            id=d.get('id'),
18272            name=d.get('name'),
18273            password=d.get('password'),
18274            port=d.get('port'),
18275            port_override=d.get('port_override'),
18276            proxy_cluster_id=d.get('proxy_cluster_id'),
18277            require_native_auth=d.get('require_native_auth'),
18278            secret_store_id=d.get('secret_store_id'),
18279            subdomain=d.get('subdomain'),
18280            tags=d.get('tags'),
18281            use_azure_single_server_usernames=d.get(
18282                'use_azure_single_server_usernames'),
18283            username=d.get('username'),
18284        )
18285
18286
18287class MongoHost:
18288    __slots__ = [
18289        'auth_database',
18290        'bind_interface',
18291        'egress_filter',
18292        'healthy',
18293        'hostname',
18294        'id',
18295        'name',
18296        'password',
18297        'port',
18298        'port_override',
18299        'proxy_cluster_id',
18300        'secret_store_id',
18301        'subdomain',
18302        'tags',
18303        'tls_required',
18304        'username',
18305    ]
18306
18307    def __init__(
18308        self,
18309        auth_database=None,
18310        bind_interface=None,
18311        egress_filter=None,
18312        healthy=None,
18313        hostname=None,
18314        id=None,
18315        name=None,
18316        password=None,
18317        port=None,
18318        port_override=None,
18319        proxy_cluster_id=None,
18320        secret_store_id=None,
18321        subdomain=None,
18322        tags=None,
18323        tls_required=None,
18324        username=None,
18325    ):
18326        self.auth_database = auth_database if auth_database is not None else ''
18327        '''
18328         The authentication database to use.
18329        '''
18330        self.bind_interface = bind_interface if bind_interface is not None else ''
18331        '''
18332         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18333        '''
18334        self.egress_filter = egress_filter if egress_filter is not None else ''
18335        '''
18336         A filter applied to the routing logic to pin datasource to nodes.
18337        '''
18338        self.healthy = healthy if healthy is not None else False
18339        '''
18340         True if the datasource is reachable and the credentials are valid.
18341        '''
18342        self.hostname = hostname if hostname is not None else ''
18343        '''
18344         The host to dial to initiate a connection from the egress node to this resource.
18345        '''
18346        self.id = id if id is not None else ''
18347        '''
18348         Unique identifier of the Resource.
18349        '''
18350        self.name = name if name is not None else ''
18351        '''
18352         Unique human-readable name of the Resource.
18353        '''
18354        self.password = password if password is not None else ''
18355        '''
18356         The password to authenticate with.
18357        '''
18358        self.port = port if port is not None else 0
18359        '''
18360         The port to dial to initiate a connection from the egress node to this resource.
18361        '''
18362        self.port_override = port_override if port_override is not None else 0
18363        '''
18364         The local port used by clients to connect to this resource.
18365        '''
18366        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18367        '''
18368         ID of the proxy cluster for this resource, if any.
18369        '''
18370        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18371        '''
18372         ID of the secret store containing credentials for this resource, if any.
18373        '''
18374        self.subdomain = subdomain if subdomain is not None else ''
18375        '''
18376         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18377        '''
18378        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18379        '''
18380         Tags is a map of key, value pairs.
18381        '''
18382        self.tls_required = tls_required if tls_required is not None else False
18383        '''
18384         If set, TLS must be used to connect to this resource.
18385        '''
18386        self.username = username if username is not None else ''
18387        '''
18388         The username to authenticate with.
18389        '''
18390
18391    def __repr__(self):
18392        return '<sdm.MongoHost ' + \
18393            'auth_database: ' + repr(self.auth_database) + ' ' +\
18394            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18395            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18396            'healthy: ' + repr(self.healthy) + ' ' +\
18397            'hostname: ' + repr(self.hostname) + ' ' +\
18398            'id: ' + repr(self.id) + ' ' +\
18399            'name: ' + repr(self.name) + ' ' +\
18400            'password: ' + repr(self.password) + ' ' +\
18401            'port: ' + repr(self.port) + ' ' +\
18402            'port_override: ' + repr(self.port_override) + ' ' +\
18403            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18404            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18405            'subdomain: ' + repr(self.subdomain) + ' ' +\
18406            'tags: ' + repr(self.tags) + ' ' +\
18407            'tls_required: ' + repr(self.tls_required) + ' ' +\
18408            'username: ' + repr(self.username) + ' ' +\
18409            '>'
18410
18411    def to_dict(self):
18412        return {
18413            'auth_database': self.auth_database,
18414            'bind_interface': self.bind_interface,
18415            'egress_filter': self.egress_filter,
18416            'healthy': self.healthy,
18417            'hostname': self.hostname,
18418            'id': self.id,
18419            'name': self.name,
18420            'password': self.password,
18421            'port': self.port,
18422            'port_override': self.port_override,
18423            'proxy_cluster_id': self.proxy_cluster_id,
18424            'secret_store_id': self.secret_store_id,
18425            'subdomain': self.subdomain,
18426            'tags': self.tags,
18427            'tls_required': self.tls_required,
18428            'username': self.username,
18429        }
18430
18431    @classmethod
18432    def from_dict(cls, d):
18433        return cls(
18434            auth_database=d.get('auth_database'),
18435            bind_interface=d.get('bind_interface'),
18436            egress_filter=d.get('egress_filter'),
18437            healthy=d.get('healthy'),
18438            hostname=d.get('hostname'),
18439            id=d.get('id'),
18440            name=d.get('name'),
18441            password=d.get('password'),
18442            port=d.get('port'),
18443            port_override=d.get('port_override'),
18444            proxy_cluster_id=d.get('proxy_cluster_id'),
18445            secret_store_id=d.get('secret_store_id'),
18446            subdomain=d.get('subdomain'),
18447            tags=d.get('tags'),
18448            tls_required=d.get('tls_required'),
18449            username=d.get('username'),
18450        )
18451
18452
18453class MongoLegacyHost:
18454    '''
18455    MongoLegacyHost is currently unstable, and its API may change, or it may be removed,
18456    without a major version bump.
18457    '''
18458    __slots__ = [
18459        'auth_database',
18460        'bind_interface',
18461        'egress_filter',
18462        'healthy',
18463        'hostname',
18464        'id',
18465        'name',
18466        'password',
18467        'port',
18468        'port_override',
18469        'proxy_cluster_id',
18470        'secret_store_id',
18471        'subdomain',
18472        'tags',
18473        'tls_required',
18474        'username',
18475    ]
18476
18477    def __init__(
18478        self,
18479        auth_database=None,
18480        bind_interface=None,
18481        egress_filter=None,
18482        healthy=None,
18483        hostname=None,
18484        id=None,
18485        name=None,
18486        password=None,
18487        port=None,
18488        port_override=None,
18489        proxy_cluster_id=None,
18490        secret_store_id=None,
18491        subdomain=None,
18492        tags=None,
18493        tls_required=None,
18494        username=None,
18495    ):
18496        self.auth_database = auth_database if auth_database is not None else ''
18497        '''
18498         The authentication database to use.
18499        '''
18500        self.bind_interface = bind_interface if bind_interface is not None else ''
18501        '''
18502         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18503        '''
18504        self.egress_filter = egress_filter if egress_filter is not None else ''
18505        '''
18506         A filter applied to the routing logic to pin datasource to nodes.
18507        '''
18508        self.healthy = healthy if healthy is not None else False
18509        '''
18510         True if the datasource is reachable and the credentials are valid.
18511        '''
18512        self.hostname = hostname if hostname is not None else ''
18513        '''
18514         The host to dial to initiate a connection from the egress node to this resource.
18515        '''
18516        self.id = id if id is not None else ''
18517        '''
18518         Unique identifier of the Resource.
18519        '''
18520        self.name = name if name is not None else ''
18521        '''
18522         Unique human-readable name of the Resource.
18523        '''
18524        self.password = password if password is not None else ''
18525        '''
18526         The password to authenticate with.
18527        '''
18528        self.port = port if port is not None else 0
18529        '''
18530         The port to dial to initiate a connection from the egress node to this resource.
18531        '''
18532        self.port_override = port_override if port_override is not None else 0
18533        '''
18534         The local port used by clients to connect to this resource.
18535        '''
18536        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18537        '''
18538         ID of the proxy cluster for this resource, if any.
18539        '''
18540        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18541        '''
18542         ID of the secret store containing credentials for this resource, if any.
18543        '''
18544        self.subdomain = subdomain if subdomain is not None else ''
18545        '''
18546         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18547        '''
18548        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18549        '''
18550         Tags is a map of key, value pairs.
18551        '''
18552        self.tls_required = tls_required if tls_required is not None else False
18553        '''
18554         If set, TLS must be used to connect to this resource.
18555        '''
18556        self.username = username if username is not None else ''
18557        '''
18558         The username to authenticate with.
18559        '''
18560
18561    def __repr__(self):
18562        return '<sdm.MongoLegacyHost ' + \
18563            'auth_database: ' + repr(self.auth_database) + ' ' +\
18564            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
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            '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            'egress_filter': self.egress_filter,
18586            'healthy': self.healthy,
18587            'hostname': self.hostname,
18588            'id': self.id,
18589            'name': self.name,
18590            'password': self.password,
18591            'port': self.port,
18592            'port_override': self.port_override,
18593            'proxy_cluster_id': self.proxy_cluster_id,
18594            'secret_store_id': self.secret_store_id,
18595            'subdomain': self.subdomain,
18596            'tags': self.tags,
18597            'tls_required': self.tls_required,
18598            'username': self.username,
18599        }
18600
18601    @classmethod
18602    def from_dict(cls, d):
18603        return cls(
18604            auth_database=d.get('auth_database'),
18605            bind_interface=d.get('bind_interface'),
18606            egress_filter=d.get('egress_filter'),
18607            healthy=d.get('healthy'),
18608            hostname=d.get('hostname'),
18609            id=d.get('id'),
18610            name=d.get('name'),
18611            password=d.get('password'),
18612            port=d.get('port'),
18613            port_override=d.get('port_override'),
18614            proxy_cluster_id=d.get('proxy_cluster_id'),
18615            secret_store_id=d.get('secret_store_id'),
18616            subdomain=d.get('subdomain'),
18617            tags=d.get('tags'),
18618            tls_required=d.get('tls_required'),
18619            username=d.get('username'),
18620        )
18621
18622
18623class MongoLegacyReplicaset:
18624    '''
18625    MongoLegacyReplicaset is currently unstable, and its API may change, or it may be removed,
18626    without a major version bump.
18627    '''
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.MongoLegacyReplicaset ' + \
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 MongoReplicaSet:
18812    __slots__ = [
18813        'auth_database',
18814        'bind_interface',
18815        'connect_to_replica',
18816        'egress_filter',
18817        'healthy',
18818        'hostname',
18819        'id',
18820        'name',
18821        'password',
18822        'port',
18823        'port_override',
18824        'proxy_cluster_id',
18825        'replica_set',
18826        'secret_store_id',
18827        'subdomain',
18828        'tags',
18829        'tls_required',
18830        'username',
18831    ]
18832
18833    def __init__(
18834        self,
18835        auth_database=None,
18836        bind_interface=None,
18837        connect_to_replica=None,
18838        egress_filter=None,
18839        healthy=None,
18840        hostname=None,
18841        id=None,
18842        name=None,
18843        password=None,
18844        port=None,
18845        port_override=None,
18846        proxy_cluster_id=None,
18847        replica_set=None,
18848        secret_store_id=None,
18849        subdomain=None,
18850        tags=None,
18851        tls_required=None,
18852        username=None,
18853    ):
18854        self.auth_database = auth_database if auth_database is not None else ''
18855        '''
18856         The authentication database to use.
18857        '''
18858        self.bind_interface = bind_interface if bind_interface is not None else ''
18859        '''
18860         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18861        '''
18862        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
18863        '''
18864         Set to connect to a replica instead of the primary node.
18865        '''
18866        self.egress_filter = egress_filter if egress_filter is not None else ''
18867        '''
18868         A filter applied to the routing logic to pin datasource to nodes.
18869        '''
18870        self.healthy = healthy if healthy is not None else False
18871        '''
18872         True if the datasource is reachable and the credentials are valid.
18873        '''
18874        self.hostname = hostname if hostname is not None else ''
18875        '''
18876         The host to dial to initiate a connection from the egress node to this resource.
18877        '''
18878        self.id = id if id is not None else ''
18879        '''
18880         Unique identifier of the Resource.
18881        '''
18882        self.name = name if name is not None else ''
18883        '''
18884         Unique human-readable name of the Resource.
18885        '''
18886        self.password = password if password is not None else ''
18887        '''
18888         The password to authenticate with.
18889        '''
18890        self.port = port if port is not None else 0
18891        '''
18892         The port to dial to initiate a connection from the egress node to this resource.
18893        '''
18894        self.port_override = port_override if port_override is not None else 0
18895        '''
18896         The local port used by clients to connect to this resource.
18897        '''
18898        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18899        '''
18900         ID of the proxy cluster for this resource, if any.
18901        '''
18902        self.replica_set = replica_set if replica_set is not None else ''
18903        '''
18904         The name of the mongo replicaset.
18905        '''
18906        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18907        '''
18908         ID of the secret store containing credentials for this resource, if any.
18909        '''
18910        self.subdomain = subdomain if subdomain is not None else ''
18911        '''
18912         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18913        '''
18914        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18915        '''
18916         Tags is a map of key, value pairs.
18917        '''
18918        self.tls_required = tls_required if tls_required is not None else False
18919        '''
18920         If set, TLS must be used to connect to this resource.
18921        '''
18922        self.username = username if username is not None else ''
18923        '''
18924         The username to authenticate with.
18925        '''
18926
18927    def __repr__(self):
18928        return '<sdm.MongoReplicaSet ' + \
18929            'auth_database: ' + repr(self.auth_database) + ' ' +\
18930            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18931            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
18932            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18933            'healthy: ' + repr(self.healthy) + ' ' +\
18934            'hostname: ' + repr(self.hostname) + ' ' +\
18935            'id: ' + repr(self.id) + ' ' +\
18936            'name: ' + repr(self.name) + ' ' +\
18937            'password: ' + repr(self.password) + ' ' +\
18938            'port: ' + repr(self.port) + ' ' +\
18939            'port_override: ' + repr(self.port_override) + ' ' +\
18940            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18941            'replica_set: ' + repr(self.replica_set) + ' ' +\
18942            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18943            'subdomain: ' + repr(self.subdomain) + ' ' +\
18944            'tags: ' + repr(self.tags) + ' ' +\
18945            'tls_required: ' + repr(self.tls_required) + ' ' +\
18946            'username: ' + repr(self.username) + ' ' +\
18947            '>'
18948
18949    def to_dict(self):
18950        return {
18951            'auth_database': self.auth_database,
18952            'bind_interface': self.bind_interface,
18953            'connect_to_replica': self.connect_to_replica,
18954            'egress_filter': self.egress_filter,
18955            'healthy': self.healthy,
18956            'hostname': self.hostname,
18957            'id': self.id,
18958            'name': self.name,
18959            'password': self.password,
18960            'port': self.port,
18961            'port_override': self.port_override,
18962            'proxy_cluster_id': self.proxy_cluster_id,
18963            'replica_set': self.replica_set,
18964            'secret_store_id': self.secret_store_id,
18965            'subdomain': self.subdomain,
18966            'tags': self.tags,
18967            'tls_required': self.tls_required,
18968            'username': self.username,
18969        }
18970
18971    @classmethod
18972    def from_dict(cls, d):
18973        return cls(
18974            auth_database=d.get('auth_database'),
18975            bind_interface=d.get('bind_interface'),
18976            connect_to_replica=d.get('connect_to_replica'),
18977            egress_filter=d.get('egress_filter'),
18978            healthy=d.get('healthy'),
18979            hostname=d.get('hostname'),
18980            id=d.get('id'),
18981            name=d.get('name'),
18982            password=d.get('password'),
18983            port=d.get('port'),
18984            port_override=d.get('port_override'),
18985            proxy_cluster_id=d.get('proxy_cluster_id'),
18986            replica_set=d.get('replica_set'),
18987            secret_store_id=d.get('secret_store_id'),
18988            subdomain=d.get('subdomain'),
18989            tags=d.get('tags'),
18990            tls_required=d.get('tls_required'),
18991            username=d.get('username'),
18992        )
18993
18994
18995class MongoShardedCluster:
18996    __slots__ = [
18997        'auth_database',
18998        'bind_interface',
18999        'egress_filter',
19000        'healthy',
19001        'hostname',
19002        'id',
19003        'name',
19004        'password',
19005        'port_override',
19006        'proxy_cluster_id',
19007        'secret_store_id',
19008        'subdomain',
19009        'tags',
19010        'tls_required',
19011        'username',
19012    ]
19013
19014    def __init__(
19015        self,
19016        auth_database=None,
19017        bind_interface=None,
19018        egress_filter=None,
19019        healthy=None,
19020        hostname=None,
19021        id=None,
19022        name=None,
19023        password=None,
19024        port_override=None,
19025        proxy_cluster_id=None,
19026        secret_store_id=None,
19027        subdomain=None,
19028        tags=None,
19029        tls_required=None,
19030        username=None,
19031    ):
19032        self.auth_database = auth_database if auth_database is not None else ''
19033        '''
19034         The authentication database to use.
19035        '''
19036        self.bind_interface = bind_interface if bind_interface is not None else ''
19037        '''
19038         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19039        '''
19040        self.egress_filter = egress_filter if egress_filter is not None else ''
19041        '''
19042         A filter applied to the routing logic to pin datasource to nodes.
19043        '''
19044        self.healthy = healthy if healthy is not None else False
19045        '''
19046         True if the datasource is reachable and the credentials are valid.
19047        '''
19048        self.hostname = hostname if hostname is not None else ''
19049        '''
19050         The host to dial to initiate a connection from the egress node to this resource.
19051        '''
19052        self.id = id if id is not None else ''
19053        '''
19054         Unique identifier of the Resource.
19055        '''
19056        self.name = name if name is not None else ''
19057        '''
19058         Unique human-readable name of the Resource.
19059        '''
19060        self.password = password if password is not None else ''
19061        '''
19062         The password to authenticate with.
19063        '''
19064        self.port_override = port_override if port_override is not None else 0
19065        '''
19066         The local port used by clients to connect to this resource.
19067        '''
19068        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19069        '''
19070         ID of the proxy cluster for this resource, if any.
19071        '''
19072        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19073        '''
19074         ID of the secret store containing credentials for this resource, if any.
19075        '''
19076        self.subdomain = subdomain if subdomain is not None else ''
19077        '''
19078         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19079        '''
19080        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19081        '''
19082         Tags is a map of key, value pairs.
19083        '''
19084        self.tls_required = tls_required if tls_required is not None else False
19085        '''
19086         If set, TLS must be used to connect to this resource.
19087        '''
19088        self.username = username if username is not None else ''
19089        '''
19090         The username to authenticate with.
19091        '''
19092
19093    def __repr__(self):
19094        return '<sdm.MongoShardedCluster ' + \
19095            'auth_database: ' + repr(self.auth_database) + ' ' +\
19096            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19097            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19098            'healthy: ' + repr(self.healthy) + ' ' +\
19099            'hostname: ' + repr(self.hostname) + ' ' +\
19100            'id: ' + repr(self.id) + ' ' +\
19101            'name: ' + repr(self.name) + ' ' +\
19102            'password: ' + repr(self.password) + ' ' +\
19103            'port_override: ' + repr(self.port_override) + ' ' +\
19104            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19105            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19106            'subdomain: ' + repr(self.subdomain) + ' ' +\
19107            'tags: ' + repr(self.tags) + ' ' +\
19108            'tls_required: ' + repr(self.tls_required) + ' ' +\
19109            'username: ' + repr(self.username) + ' ' +\
19110            '>'
19111
19112    def to_dict(self):
19113        return {
19114            'auth_database': self.auth_database,
19115            'bind_interface': self.bind_interface,
19116            'egress_filter': self.egress_filter,
19117            'healthy': self.healthy,
19118            'hostname': self.hostname,
19119            'id': self.id,
19120            'name': self.name,
19121            'password': self.password,
19122            'port_override': self.port_override,
19123            'proxy_cluster_id': self.proxy_cluster_id,
19124            'secret_store_id': self.secret_store_id,
19125            'subdomain': self.subdomain,
19126            'tags': self.tags,
19127            'tls_required': self.tls_required,
19128            'username': self.username,
19129        }
19130
19131    @classmethod
19132    def from_dict(cls, d):
19133        return cls(
19134            auth_database=d.get('auth_database'),
19135            bind_interface=d.get('bind_interface'),
19136            egress_filter=d.get('egress_filter'),
19137            healthy=d.get('healthy'),
19138            hostname=d.get('hostname'),
19139            id=d.get('id'),
19140            name=d.get('name'),
19141            password=d.get('password'),
19142            port_override=d.get('port_override'),
19143            proxy_cluster_id=d.get('proxy_cluster_id'),
19144            secret_store_id=d.get('secret_store_id'),
19145            subdomain=d.get('subdomain'),
19146            tags=d.get('tags'),
19147            tls_required=d.get('tls_required'),
19148            username=d.get('username'),
19149        )
19150
19151
19152class Mysql:
19153    __slots__ = [
19154        'bind_interface',
19155        'database',
19156        'egress_filter',
19157        'healthy',
19158        'hostname',
19159        'id',
19160        'name',
19161        'password',
19162        'port',
19163        'port_override',
19164        'proxy_cluster_id',
19165        'require_native_auth',
19166        'secret_store_id',
19167        'subdomain',
19168        'tags',
19169        'use_azure_single_server_usernames',
19170        'username',
19171    ]
19172
19173    def __init__(
19174        self,
19175        bind_interface=None,
19176        database=None,
19177        egress_filter=None,
19178        healthy=None,
19179        hostname=None,
19180        id=None,
19181        name=None,
19182        password=None,
19183        port=None,
19184        port_override=None,
19185        proxy_cluster_id=None,
19186        require_native_auth=None,
19187        secret_store_id=None,
19188        subdomain=None,
19189        tags=None,
19190        use_azure_single_server_usernames=None,
19191        username=None,
19192    ):
19193        self.bind_interface = bind_interface if bind_interface is not None else ''
19194        '''
19195         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19196        '''
19197        self.database = database if database is not None else ''
19198        '''
19199         The database for healthchecks. Does not affect client requests.
19200        '''
19201        self.egress_filter = egress_filter if egress_filter is not None else ''
19202        '''
19203         A filter applied to the routing logic to pin datasource to nodes.
19204        '''
19205        self.healthy = healthy if healthy is not None else False
19206        '''
19207         True if the datasource is reachable and the credentials are valid.
19208        '''
19209        self.hostname = hostname if hostname is not None else ''
19210        '''
19211         The host to dial to initiate a connection from the egress node to this resource.
19212        '''
19213        self.id = id if id is not None else ''
19214        '''
19215         Unique identifier of the Resource.
19216        '''
19217        self.name = name if name is not None else ''
19218        '''
19219         Unique human-readable name of the Resource.
19220        '''
19221        self.password = password if password is not None else ''
19222        '''
19223         The password to authenticate with.
19224        '''
19225        self.port = port if port is not None else 0
19226        '''
19227         The port to dial to initiate a connection from the egress node to this resource.
19228        '''
19229        self.port_override = port_override if port_override is not None else 0
19230        '''
19231         The local port used by clients to connect to this resource.
19232        '''
19233        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19234        '''
19235         ID of the proxy cluster for this resource, if any.
19236        '''
19237        self.require_native_auth = require_native_auth if require_native_auth is not None else False
19238        '''
19239         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
19240        '''
19241        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19242        '''
19243         ID of the secret store containing credentials for this resource, if any.
19244        '''
19245        self.subdomain = subdomain if subdomain is not None else ''
19246        '''
19247         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19248        '''
19249        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19250        '''
19251         Tags is a map of key, value pairs.
19252        '''
19253        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
19254        '''
19255         If true, appends the hostname to the username when hitting a database.azure.com address
19256        '''
19257        self.username = username if username is not None else ''
19258        '''
19259         The username to authenticate with.
19260        '''
19261
19262    def __repr__(self):
19263        return '<sdm.Mysql ' + \
19264            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19265            'database: ' + repr(self.database) + ' ' +\
19266            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19267            'healthy: ' + repr(self.healthy) + ' ' +\
19268            'hostname: ' + repr(self.hostname) + ' ' +\
19269            'id: ' + repr(self.id) + ' ' +\
19270            'name: ' + repr(self.name) + ' ' +\
19271            'password: ' + repr(self.password) + ' ' +\
19272            'port: ' + repr(self.port) + ' ' +\
19273            'port_override: ' + repr(self.port_override) + ' ' +\
19274            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19275            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
19276            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19277            'subdomain: ' + repr(self.subdomain) + ' ' +\
19278            'tags: ' + repr(self.tags) + ' ' +\
19279            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
19280            'username: ' + repr(self.username) + ' ' +\
19281            '>'
19282
19283    def to_dict(self):
19284        return {
19285            'bind_interface': self.bind_interface,
19286            'database': self.database,
19287            'egress_filter': self.egress_filter,
19288            'healthy': self.healthy,
19289            'hostname': self.hostname,
19290            'id': self.id,
19291            'name': self.name,
19292            'password': self.password,
19293            'port': self.port,
19294            'port_override': self.port_override,
19295            'proxy_cluster_id': self.proxy_cluster_id,
19296            'require_native_auth': self.require_native_auth,
19297            'secret_store_id': self.secret_store_id,
19298            'subdomain': self.subdomain,
19299            'tags': self.tags,
19300            'use_azure_single_server_usernames':
19301            self.use_azure_single_server_usernames,
19302            'username': self.username,
19303        }
19304
19305    @classmethod
19306    def from_dict(cls, d):
19307        return cls(
19308            bind_interface=d.get('bind_interface'),
19309            database=d.get('database'),
19310            egress_filter=d.get('egress_filter'),
19311            healthy=d.get('healthy'),
19312            hostname=d.get('hostname'),
19313            id=d.get('id'),
19314            name=d.get('name'),
19315            password=d.get('password'),
19316            port=d.get('port'),
19317            port_override=d.get('port_override'),
19318            proxy_cluster_id=d.get('proxy_cluster_id'),
19319            require_native_auth=d.get('require_native_auth'),
19320            secret_store_id=d.get('secret_store_id'),
19321            subdomain=d.get('subdomain'),
19322            tags=d.get('tags'),
19323            use_azure_single_server_usernames=d.get(
19324                'use_azure_single_server_usernames'),
19325            username=d.get('username'),
19326        )
19327
19328
19329class Neptune:
19330    __slots__ = [
19331        'bind_interface',
19332        'egress_filter',
19333        'endpoint',
19334        'healthy',
19335        'id',
19336        'name',
19337        'port',
19338        'port_override',
19339        'proxy_cluster_id',
19340        'secret_store_id',
19341        'subdomain',
19342        'tags',
19343    ]
19344
19345    def __init__(
19346        self,
19347        bind_interface=None,
19348        egress_filter=None,
19349        endpoint=None,
19350        healthy=None,
19351        id=None,
19352        name=None,
19353        port=None,
19354        port_override=None,
19355        proxy_cluster_id=None,
19356        secret_store_id=None,
19357        subdomain=None,
19358        tags=None,
19359    ):
19360        self.bind_interface = bind_interface if bind_interface is not None else ''
19361        '''
19362         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19363        '''
19364        self.egress_filter = egress_filter if egress_filter is not None else ''
19365        '''
19366         A filter applied to the routing logic to pin datasource to nodes.
19367        '''
19368        self.endpoint = endpoint if endpoint is not None else ''
19369        '''
19370         The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com
19371        '''
19372        self.healthy = healthy if healthy is not None else False
19373        '''
19374         True if the datasource is reachable and the credentials are valid.
19375        '''
19376        self.id = id if id is not None else ''
19377        '''
19378         Unique identifier of the Resource.
19379        '''
19380        self.name = name if name is not None else ''
19381        '''
19382         Unique human-readable name of the Resource.
19383        '''
19384        self.port = port if port is not None else 0
19385        '''
19386         The port to dial to initiate a connection from the egress node to this resource.
19387        '''
19388        self.port_override = port_override if port_override is not None else 0
19389        '''
19390         The local port used by clients to connect to this resource.
19391        '''
19392        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19393        '''
19394         ID of the proxy cluster for this resource, if any.
19395        '''
19396        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19397        '''
19398         ID of the secret store containing credentials for this resource, if any.
19399        '''
19400        self.subdomain = subdomain if subdomain is not None else ''
19401        '''
19402         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19403        '''
19404        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19405        '''
19406         Tags is a map of key, value pairs.
19407        '''
19408
19409    def __repr__(self):
19410        return '<sdm.Neptune ' + \
19411            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19412            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19413            'endpoint: ' + repr(self.endpoint) + ' ' +\
19414            'healthy: ' + repr(self.healthy) + ' ' +\
19415            'id: ' + repr(self.id) + ' ' +\
19416            'name: ' + repr(self.name) + ' ' +\
19417            'port: ' + repr(self.port) + ' ' +\
19418            'port_override: ' + repr(self.port_override) + ' ' +\
19419            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19420            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19421            'subdomain: ' + repr(self.subdomain) + ' ' +\
19422            'tags: ' + repr(self.tags) + ' ' +\
19423            '>'
19424
19425    def to_dict(self):
19426        return {
19427            'bind_interface': self.bind_interface,
19428            'egress_filter': self.egress_filter,
19429            'endpoint': self.endpoint,
19430            'healthy': self.healthy,
19431            'id': self.id,
19432            'name': self.name,
19433            'port': self.port,
19434            'port_override': self.port_override,
19435            'proxy_cluster_id': self.proxy_cluster_id,
19436            'secret_store_id': self.secret_store_id,
19437            'subdomain': self.subdomain,
19438            'tags': self.tags,
19439        }
19440
19441    @classmethod
19442    def from_dict(cls, d):
19443        return cls(
19444            bind_interface=d.get('bind_interface'),
19445            egress_filter=d.get('egress_filter'),
19446            endpoint=d.get('endpoint'),
19447            healthy=d.get('healthy'),
19448            id=d.get('id'),
19449            name=d.get('name'),
19450            port=d.get('port'),
19451            port_override=d.get('port_override'),
19452            proxy_cluster_id=d.get('proxy_cluster_id'),
19453            secret_store_id=d.get('secret_store_id'),
19454            subdomain=d.get('subdomain'),
19455            tags=d.get('tags'),
19456        )
19457
19458
19459class NeptuneIAM:
19460    __slots__ = [
19461        'access_key',
19462        'bind_interface',
19463        'egress_filter',
19464        'endpoint',
19465        'healthy',
19466        'id',
19467        'name',
19468        'port',
19469        'port_override',
19470        'proxy_cluster_id',
19471        'region',
19472        'role_arn',
19473        'role_external_id',
19474        'secret_access_key',
19475        'secret_store_id',
19476        'subdomain',
19477        'tags',
19478    ]
19479
19480    def __init__(
19481        self,
19482        access_key=None,
19483        bind_interface=None,
19484        egress_filter=None,
19485        endpoint=None,
19486        healthy=None,
19487        id=None,
19488        name=None,
19489        port=None,
19490        port_override=None,
19491        proxy_cluster_id=None,
19492        region=None,
19493        role_arn=None,
19494        role_external_id=None,
19495        secret_access_key=None,
19496        secret_store_id=None,
19497        subdomain=None,
19498        tags=None,
19499    ):
19500        self.access_key = access_key if access_key is not None else ''
19501        '''
19502         The Access Key ID to use to authenticate.
19503        '''
19504        self.bind_interface = bind_interface if bind_interface is not None else ''
19505        '''
19506         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19507        '''
19508        self.egress_filter = egress_filter if egress_filter is not None else ''
19509        '''
19510         A filter applied to the routing logic to pin datasource to nodes.
19511        '''
19512        self.endpoint = endpoint if endpoint is not None else ''
19513        '''
19514         The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com
19515        '''
19516        self.healthy = healthy if healthy is not None else False
19517        '''
19518         True if the datasource is reachable and the credentials are valid.
19519        '''
19520        self.id = id if id is not None else ''
19521        '''
19522         Unique identifier of the Resource.
19523        '''
19524        self.name = name if name is not None else ''
19525        '''
19526         Unique human-readable name of the Resource.
19527        '''
19528        self.port = port if port is not None else 0
19529        '''
19530         The port to dial to initiate a connection from the egress node to this resource.
19531        '''
19532        self.port_override = port_override if port_override is not None else 0
19533        '''
19534         The local port used by clients to connect to this resource.
19535        '''
19536        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19537        '''
19538         ID of the proxy cluster for this resource, if any.
19539        '''
19540        self.region = region if region is not None else ''
19541        '''
19542         The AWS region to connect to.
19543        '''
19544        self.role_arn = role_arn if role_arn is not None else ''
19545        '''
19546         The role to assume after logging in.
19547        '''
19548        self.role_external_id = role_external_id if role_external_id is not None else ''
19549        '''
19550         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
19551        '''
19552        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
19553        '''
19554         The Secret Access Key to use to authenticate.
19555        '''
19556        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19557        '''
19558         ID of the secret store containing credentials for this resource, if any.
19559        '''
19560        self.subdomain = subdomain if subdomain is not None else ''
19561        '''
19562         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19563        '''
19564        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19565        '''
19566         Tags is a map of key, value pairs.
19567        '''
19568
19569    def __repr__(self):
19570        return '<sdm.NeptuneIAM ' + \
19571            'access_key: ' + repr(self.access_key) + ' ' +\
19572            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19573            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19574            'endpoint: ' + repr(self.endpoint) + ' ' +\
19575            'healthy: ' + repr(self.healthy) + ' ' +\
19576            'id: ' + repr(self.id) + ' ' +\
19577            'name: ' + repr(self.name) + ' ' +\
19578            'port: ' + repr(self.port) + ' ' +\
19579            'port_override: ' + repr(self.port_override) + ' ' +\
19580            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19581            'region: ' + repr(self.region) + ' ' +\
19582            'role_arn: ' + repr(self.role_arn) + ' ' +\
19583            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
19584            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
19585            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19586            'subdomain: ' + repr(self.subdomain) + ' ' +\
19587            'tags: ' + repr(self.tags) + ' ' +\
19588            '>'
19589
19590    def to_dict(self):
19591        return {
19592            'access_key': self.access_key,
19593            'bind_interface': self.bind_interface,
19594            'egress_filter': self.egress_filter,
19595            'endpoint': self.endpoint,
19596            'healthy': self.healthy,
19597            'id': self.id,
19598            'name': self.name,
19599            'port': self.port,
19600            'port_override': self.port_override,
19601            'proxy_cluster_id': self.proxy_cluster_id,
19602            'region': self.region,
19603            'role_arn': self.role_arn,
19604            'role_external_id': self.role_external_id,
19605            'secret_access_key': self.secret_access_key,
19606            'secret_store_id': self.secret_store_id,
19607            'subdomain': self.subdomain,
19608            'tags': self.tags,
19609        }
19610
19611    @classmethod
19612    def from_dict(cls, d):
19613        return cls(
19614            access_key=d.get('access_key'),
19615            bind_interface=d.get('bind_interface'),
19616            egress_filter=d.get('egress_filter'),
19617            endpoint=d.get('endpoint'),
19618            healthy=d.get('healthy'),
19619            id=d.get('id'),
19620            name=d.get('name'),
19621            port=d.get('port'),
19622            port_override=d.get('port_override'),
19623            proxy_cluster_id=d.get('proxy_cluster_id'),
19624            region=d.get('region'),
19625            role_arn=d.get('role_arn'),
19626            role_external_id=d.get('role_external_id'),
19627            secret_access_key=d.get('secret_access_key'),
19628            secret_store_id=d.get('secret_store_id'),
19629            subdomain=d.get('subdomain'),
19630            tags=d.get('tags'),
19631        )
19632
19633
19634class NodeCreateResponse:
19635    '''
19636         NodeCreateResponse reports how the Nodes were created in the system.
19637    '''
19638    __slots__ = [
19639        'meta',
19640        'node',
19641        'rate_limit',
19642        'token',
19643    ]
19644
19645    def __init__(
19646        self,
19647        meta=None,
19648        node=None,
19649        rate_limit=None,
19650        token=None,
19651    ):
19652        self.meta = meta if meta is not None else None
19653        '''
19654         Reserved for future use.
19655        '''
19656        self.node = node if node is not None else None
19657        '''
19658         The created Node.
19659        '''
19660        self.rate_limit = rate_limit if rate_limit is not None else None
19661        '''
19662         Rate limit information.
19663        '''
19664        self.token = token if token is not None else ''
19665        '''
19666         The auth token generated for the Node. The Node will use this token to
19667         authenticate with the strongDM API.
19668        '''
19669
19670    def __repr__(self):
19671        return '<sdm.NodeCreateResponse ' + \
19672            'meta: ' + repr(self.meta) + ' ' +\
19673            'node: ' + repr(self.node) + ' ' +\
19674            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19675            'token: ' + repr(self.token) + ' ' +\
19676            '>'
19677
19678    def to_dict(self):
19679        return {
19680            'meta': self.meta,
19681            'node': self.node,
19682            'rate_limit': self.rate_limit,
19683            'token': self.token,
19684        }
19685
19686    @classmethod
19687    def from_dict(cls, d):
19688        return cls(
19689            meta=d.get('meta'),
19690            node=d.get('node'),
19691            rate_limit=d.get('rate_limit'),
19692            token=d.get('token'),
19693        )
19694
19695
19696class NodeDeleteResponse:
19697    '''
19698         NodeDeleteResponse returns information about a Node that was deleted.
19699    '''
19700    __slots__ = [
19701        'meta',
19702        'rate_limit',
19703    ]
19704
19705    def __init__(
19706        self,
19707        meta=None,
19708        rate_limit=None,
19709    ):
19710        self.meta = meta if meta is not None else None
19711        '''
19712         Reserved for future use.
19713        '''
19714        self.rate_limit = rate_limit if rate_limit is not None else None
19715        '''
19716         Rate limit information.
19717        '''
19718
19719    def __repr__(self):
19720        return '<sdm.NodeDeleteResponse ' + \
19721            'meta: ' + repr(self.meta) + ' ' +\
19722            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19723            '>'
19724
19725    def to_dict(self):
19726        return {
19727            'meta': self.meta,
19728            'rate_limit': self.rate_limit,
19729        }
19730
19731    @classmethod
19732    def from_dict(cls, d):
19733        return cls(
19734            meta=d.get('meta'),
19735            rate_limit=d.get('rate_limit'),
19736        )
19737
19738
19739class NodeGetResponse:
19740    '''
19741         NodeGetResponse returns a requested Node.
19742    '''
19743    __slots__ = [
19744        'meta',
19745        'node',
19746        'rate_limit',
19747    ]
19748
19749    def __init__(
19750        self,
19751        meta=None,
19752        node=None,
19753        rate_limit=None,
19754    ):
19755        self.meta = meta if meta is not None else None
19756        '''
19757         Reserved for future use.
19758        '''
19759        self.node = node if node is not None else None
19760        '''
19761         The requested Node.
19762        '''
19763        self.rate_limit = rate_limit if rate_limit is not None else None
19764        '''
19765         Rate limit information.
19766        '''
19767
19768    def __repr__(self):
19769        return '<sdm.NodeGetResponse ' + \
19770            'meta: ' + repr(self.meta) + ' ' +\
19771            'node: ' + repr(self.node) + ' ' +\
19772            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19773            '>'
19774
19775    def to_dict(self):
19776        return {
19777            'meta': self.meta,
19778            'node': self.node,
19779            'rate_limit': self.rate_limit,
19780        }
19781
19782    @classmethod
19783    def from_dict(cls, d):
19784        return cls(
19785            meta=d.get('meta'),
19786            node=d.get('node'),
19787            rate_limit=d.get('rate_limit'),
19788        )
19789
19790
19791class NodeHistory:
19792    '''
19793         NodeHistory records the state of a Node at a given point in time,
19794     where every change (create, update and delete) to a Node produces an
19795     NodeHistory record.
19796    '''
19797    __slots__ = [
19798        'activity_id',
19799        'deleted_at',
19800        'node',
19801        'timestamp',
19802    ]
19803
19804    def __init__(
19805        self,
19806        activity_id=None,
19807        deleted_at=None,
19808        node=None,
19809        timestamp=None,
19810    ):
19811        self.activity_id = activity_id if activity_id is not None else ''
19812        '''
19813         The unique identifier of the Activity that produced this change to the Node.
19814         May be empty for some system-initiated updates.
19815        '''
19816        self.deleted_at = deleted_at if deleted_at is not None else None
19817        '''
19818         If this Node was deleted, the time it was deleted.
19819        '''
19820        self.node = node if node is not None else None
19821        '''
19822         The complete Node state at this time.
19823        '''
19824        self.timestamp = timestamp if timestamp is not None else None
19825        '''
19826         The time at which the Node state was recorded.
19827        '''
19828
19829    def __repr__(self):
19830        return '<sdm.NodeHistory ' + \
19831            'activity_id: ' + repr(self.activity_id) + ' ' +\
19832            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
19833            'node: ' + repr(self.node) + ' ' +\
19834            'timestamp: ' + repr(self.timestamp) + ' ' +\
19835            '>'
19836
19837    def to_dict(self):
19838        return {
19839            'activity_id': self.activity_id,
19840            'deleted_at': self.deleted_at,
19841            'node': self.node,
19842            'timestamp': self.timestamp,
19843        }
19844
19845    @classmethod
19846    def from_dict(cls, d):
19847        return cls(
19848            activity_id=d.get('activity_id'),
19849            deleted_at=d.get('deleted_at'),
19850            node=d.get('node'),
19851            timestamp=d.get('timestamp'),
19852        )
19853
19854
19855class NodeMaintenanceWindow:
19856    __slots__ = [
19857        'cron_schedule',
19858        'require_idleness',
19859    ]
19860
19861    def __init__(
19862        self,
19863        cron_schedule=None,
19864        require_idleness=None,
19865    ):
19866        self.cron_schedule = cron_schedule if cron_schedule is not None else ''
19867        '''
19868         Cron job syntax for when this maintenance window is active. On this schedule, associated
19869         nodes will restart if requested, provided other checks allow the restart to proceed. Times
19870         are represented in UTC.
19871         e.g. * 7 * * 0,6 to check for a restart at every minute from 7:00 to 8:00 UTC on Sunday and
19872         Saturday. Not all possible inputs are supported: the month and day of month selections
19873         must be '*'.
19874        '''
19875        self.require_idleness = require_idleness if require_idleness is not None else False
19876        '''
19877         Require Idleness defines whether this window can sever live connections. If true,
19878         this window will not allow a node to be restarted unless it is serving no connections.
19879         If false, given a restart of the node has been requested (for an update, usually), the
19880         node will restart as soon as it enters an allowed day / hour combination. At least one
19881         maintenance window, out of all configured windows for a node, must have this as false.
19882        '''
19883
19884    def __repr__(self):
19885        return '<sdm.NodeMaintenanceWindow ' + \
19886            'cron_schedule: ' + repr(self.cron_schedule) + ' ' +\
19887            'require_idleness: ' + repr(self.require_idleness) + ' ' +\
19888            '>'
19889
19890    def to_dict(self):
19891        return {
19892            'cron_schedule': self.cron_schedule,
19893            'require_idleness': self.require_idleness,
19894        }
19895
19896    @classmethod
19897    def from_dict(cls, d):
19898        return cls(
19899            cron_schedule=d.get('cron_schedule'),
19900            require_idleness=d.get('require_idleness'),
19901        )
19902
19903
19904class NodeUpdateResponse:
19905    '''
19906         NodeUpdateResponse returns the fields of a Node after it has been updated by
19907     a NodeUpdateRequest.
19908    '''
19909    __slots__ = [
19910        'meta',
19911        'node',
19912        'rate_limit',
19913    ]
19914
19915    def __init__(
19916        self,
19917        meta=None,
19918        node=None,
19919        rate_limit=None,
19920    ):
19921        self.meta = meta if meta is not None else None
19922        '''
19923         Reserved for future use.
19924        '''
19925        self.node = node if node is not None else None
19926        '''
19927         The updated Node.
19928        '''
19929        self.rate_limit = rate_limit if rate_limit is not None else None
19930        '''
19931         Rate limit information.
19932        '''
19933
19934    def __repr__(self):
19935        return '<sdm.NodeUpdateResponse ' + \
19936            'meta: ' + repr(self.meta) + ' ' +\
19937            'node: ' + repr(self.node) + ' ' +\
19938            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19939            '>'
19940
19941    def to_dict(self):
19942        return {
19943            'meta': self.meta,
19944            'node': self.node,
19945            'rate_limit': self.rate_limit,
19946        }
19947
19948    @classmethod
19949    def from_dict(cls, d):
19950        return cls(
19951            meta=d.get('meta'),
19952            node=d.get('node'),
19953            rate_limit=d.get('rate_limit'),
19954        )
19955
19956
19957class Oracle:
19958    __slots__ = [
19959        'bind_interface',
19960        'database',
19961        'egress_filter',
19962        'healthy',
19963        'hostname',
19964        'id',
19965        'name',
19966        'password',
19967        'port',
19968        'port_override',
19969        'proxy_cluster_id',
19970        'secret_store_id',
19971        'subdomain',
19972        'tags',
19973        'tls_required',
19974        'username',
19975    ]
19976
19977    def __init__(
19978        self,
19979        bind_interface=None,
19980        database=None,
19981        egress_filter=None,
19982        healthy=None,
19983        hostname=None,
19984        id=None,
19985        name=None,
19986        password=None,
19987        port=None,
19988        port_override=None,
19989        proxy_cluster_id=None,
19990        secret_store_id=None,
19991        subdomain=None,
19992        tags=None,
19993        tls_required=None,
19994        username=None,
19995    ):
19996        self.bind_interface = bind_interface if bind_interface is not None else ''
19997        '''
19998         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19999        '''
20000        self.database = database if database is not None else ''
20001        '''
20002         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
20003        '''
20004        self.egress_filter = egress_filter if egress_filter is not None else ''
20005        '''
20006         A filter applied to the routing logic to pin datasource to nodes.
20007        '''
20008        self.healthy = healthy if healthy is not None else False
20009        '''
20010         True if the datasource is reachable and the credentials are valid.
20011        '''
20012        self.hostname = hostname if hostname is not None else ''
20013        '''
20014         The host to dial to initiate a connection from the egress node to this resource.
20015        '''
20016        self.id = id if id is not None else ''
20017        '''
20018         Unique identifier of the Resource.
20019        '''
20020        self.name = name if name is not None else ''
20021        '''
20022         Unique human-readable name of the Resource.
20023        '''
20024        self.password = password if password is not None else ''
20025        '''
20026         The password to authenticate with.
20027        '''
20028        self.port = port if port is not None else 0
20029        '''
20030         The port to dial to initiate a connection from the egress node to this resource.
20031        '''
20032        self.port_override = port_override if port_override is not None else 0
20033        '''
20034         The local port used by clients to connect to this resource.
20035        '''
20036        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20037        '''
20038         ID of the proxy cluster for this resource, if any.
20039        '''
20040        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20041        '''
20042         ID of the secret store containing credentials for this resource, if any.
20043        '''
20044        self.subdomain = subdomain if subdomain is not None else ''
20045        '''
20046         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
20047        '''
20048        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20049        '''
20050         Tags is a map of key, value pairs.
20051        '''
20052        self.tls_required = tls_required if tls_required is not None else False
20053        '''
20054         If set, TLS must be used to connect to this resource.
20055        '''
20056        self.username = username if username is not None else ''
20057        '''
20058         The username to authenticate with.
20059        '''
20060
20061    def __repr__(self):
20062        return '<sdm.Oracle ' + \
20063            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
20064            'database: ' + repr(self.database) + ' ' +\
20065            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
20066            'healthy: ' + repr(self.healthy) + ' ' +\
20067            'hostname: ' + repr(self.hostname) + ' ' +\
20068            'id: ' + repr(self.id) + ' ' +\
20069            'name: ' + repr(self.name) + ' ' +\
20070            'password: ' + repr(self.password) + ' ' +\
20071            'port: ' + repr(self.port) + ' ' +\
20072            'port_override: ' + repr(self.port_override) + ' ' +\
20073            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
20074            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
20075            'subdomain: ' + repr(self.subdomain) + ' ' +\
20076            'tags: ' + repr(self.tags) + ' ' +\
20077            'tls_required: ' + repr(self.tls_required) + ' ' +\
20078            'username: ' + repr(self.username) + ' ' +\
20079            '>'
20080
20081    def to_dict(self):
20082        return {
20083            'bind_interface': self.bind_interface,
20084            'database': self.database,
20085            'egress_filter': self.egress_filter,
20086            'healthy': self.healthy,
20087            'hostname': self.hostname,
20088            'id': self.id,
20089            'name': self.name,
20090            'password': self.password,
20091            'port': self.port,
20092            'port_override': self.port_override,
20093            'proxy_cluster_id': self.proxy_cluster_id,
20094            'secret_store_id': self.secret_store_id,
20095            'subdomain': self.subdomain,
20096            'tags': self.tags,
20097            'tls_required': self.tls_required,
20098            'username': self.username,
20099        }
20100
20101    @classmethod
20102    def from_dict(cls, d):
20103        return cls(
20104            bind_interface=d.get('bind_interface'),
20105            database=d.get('database'),
20106            egress_filter=d.get('egress_filter'),
20107            healthy=d.get('healthy'),
20108            hostname=d.get('hostname'),
20109            id=d.get('id'),
20110            name=d.get('name'),
20111            password=d.get('password'),
20112            port=d.get('port'),
20113            port_override=d.get('port_override'),
20114            proxy_cluster_id=d.get('proxy_cluster_id'),
20115            secret_store_id=d.get('secret_store_id'),
20116            subdomain=d.get('subdomain'),
20117            tags=d.get('tags'),
20118            tls_required=d.get('tls_required'),
20119            username=d.get('username'),
20120        )
20121
20122
20123class OracleNNE:
20124    __slots__ = [
20125        'bind_interface',
20126        'database',
20127        'egress_filter',
20128        'healthy',
20129        'hostname',
20130        'id',
20131        'name',
20132        'password',
20133        'port',
20134        'port_override',
20135        'proxy_cluster_id',
20136        'secret_store_id',
20137        'subdomain',
20138        'tags',
20139        'username',
20140    ]
20141
20142    def __init__(
20143        self,
20144        bind_interface=None,
20145        database=None,
20146        egress_filter=None,
20147        healthy=None,
20148        hostname=None,
20149        id=None,
20150        name=None,
20151        password=None,
20152        port=None,
20153        port_override=None,
20154        proxy_cluster_id=None,
20155        secret_store_id=None,
20156        subdomain=None,
20157        tags=None,
20158        username=None,
20159    ):
20160        self.bind_interface = bind_interface if bind_interface is not None else ''
20161        '''
20162         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
20163        '''
20164        self.database = database if database is not None else ''
20165        '''
20166         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
20167        '''
20168        self.egress_filter = egress_filter if egress_filter is not None else ''
20169        '''
20170         A filter applied to the routing logic to pin datasource to nodes.
20171        '''
20172        self.healthy = healthy if healthy is not None else False
20173        '''
20174         True if the datasource is reachable and the credentials are valid.
20175        '''
20176        self.hostname = hostname if hostname is not None else ''
20177        '''
20178         The host to dial to initiate a connection from the egress node to this resource.
20179        '''
20180        self.id = id if id is not None else ''
20181        '''
20182         Unique identifier of the Resource.
20183        '''
20184        self.name = name if name is not None else ''
20185        '''
20186         Unique human-readable name of the Resource.
20187        '''
20188        self.password = password if password is not None else ''
20189        '''
20190         The password to authenticate with.
20191        '''
20192        self.port = port if port is not None else 0
20193        '''
20194         The port to dial to initiate a connection from the egress node to this resource.
20195        '''
20196        self.port_override = port_override if port_override is not None else 0
20197        '''
20198         The local port used by clients to connect to this resource.
20199        '''
20200        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20201        '''
20202         ID of the proxy cluster for this resource, if any.
20203        '''
20204        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20205        '''
20206         ID of the secret store containing credentials for this resource, if any.
20207        '''
20208        self.subdomain = subdomain if subdomain is not None else ''
20209        '''
20210         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
20211        '''
20212        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20213        '''
20214         Tags is a map of key, value pairs.
20215        '''
20216        self.username = username if username is not None else ''
20217        '''
20218         The username to authenticate with.
20219        '''
20220
20221    def __repr__(self):
20222        return '<sdm.OracleNNE ' + \
20223            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
20224            'database: ' + repr(self.database) + ' ' +\
20225            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
20226            'healthy: ' + repr(self.healthy) + ' ' +\
20227            'hostname: ' + repr(self.hostname) + ' ' +\
20228            'id: ' + repr(self.id) + ' ' +\
20229            'name: ' + repr(self.name) + ' ' +\
20230            'password: ' + repr(self.password) + ' ' +\
20231            'port: ' + repr(self.port) + ' ' +\
20232            'port_override: ' + repr(self.port_override) + ' ' +\
20233            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
20234            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
20235            'subdomain: ' + repr(self.subdomain) + ' ' +\
20236            'tags: ' + repr(self.tags) + ' ' +\
20237            'username: ' + repr(self.username) + ' ' +\
20238            '>'
20239
20240    def to_dict(self):
20241        return {
20242            'bind_interface': self.bind_interface,
20243            'database': self.database,
20244            'egress_filter': self.egress_filter,
20245            'healthy': self.healthy,
20246            'hostname': self.hostname,
20247            'id': self.id,
20248            'name': self.name,
20249            'password': self.password,
20250            'port': self.port,
20251            'port_override': self.port_override,
20252            'proxy_cluster_id': self.proxy_cluster_id,
20253            'secret_store_id': self.secret_store_id,
20254            'subdomain': self.subdomain,
20255            'tags': self.tags,
20256            'username': self.username,
20257        }
20258
20259    @classmethod
20260    def from_dict(cls, d):
20261        return cls(
20262            bind_interface=d.get('bind_interface'),
20263            database=d.get('database'),
20264            egress_filter=d.get('egress_filter'),
20265            healthy=d.get('healthy'),
20266            hostname=d.get('hostname'),
20267            id=d.get('id'),
20268            name=d.get('name'),
20269            password=d.get('password'),
20270            port=d.get('port'),
20271            port_override=d.get('port_override'),
20272            proxy_cluster_id=d.get('proxy_cluster_id'),
20273            secret_store_id=d.get('secret_store_id'),
20274            subdomain=d.get('subdomain'),
20275            tags=d.get('tags'),
20276            username=d.get('username'),
20277        )
20278
20279
20280class Organization:
20281    __slots__ = [
20282        'auth_provider',
20283        'created_at',
20284        'device_trust_enabled',
20285        'device_trust_provider',
20286        'discard_replays',
20287        'enforce_single_session',
20288        'idle_timeout',
20289        'idle_timeout_enabled',
20290        'kind',
20291        'log_local_encoder',
20292        'log_local_format',
20293        'log_local_storage',
20294        'log_remote_encoder',
20295        'log_socket_path',
20296        'log_tcp_address',
20297        'loopback_range',
20298        'mfa_enabled',
20299        'mfa_provider',
20300        'name',
20301        'public_key_pem',
20302        'require_secret_store',
20303        'saml_metadata_url',
20304        'scim_provider',
20305        'sensitive_label',
20306        'session_timeout',
20307        'session_timeout_enabled',
20308        'ssh_certificate_authority_public_key',
20309        'ssh_certificate_authority_updated_at',
20310        'updated_at',
20311        'websites_subdomain',
20312    ]
20313
20314    def __init__(
20315        self,
20316        auth_provider=None,
20317        created_at=None,
20318        device_trust_enabled=None,
20319        device_trust_provider=None,
20320        discard_replays=None,
20321        enforce_single_session=None,
20322        idle_timeout=None,
20323        idle_timeout_enabled=None,
20324        kind=None,
20325        log_local_encoder=None,
20326        log_local_format=None,
20327        log_local_storage=None,
20328        log_remote_encoder=None,
20329        log_socket_path=None,
20330        log_tcp_address=None,
20331        loopback_range=None,
20332        mfa_enabled=None,
20333        mfa_provider=None,
20334        name=None,
20335        public_key_pem=None,
20336        require_secret_store=None,
20337        saml_metadata_url=None,
20338        scim_provider=None,
20339        sensitive_label=None,
20340        session_timeout=None,
20341        session_timeout_enabled=None,
20342        ssh_certificate_authority_public_key=None,
20343        ssh_certificate_authority_updated_at=None,
20344        updated_at=None,
20345        websites_subdomain=None,
20346    ):
20347        self.auth_provider = auth_provider if auth_provider is not None else ''
20348        '''
20349         The Organization's authentication provider, one of the AuthProvider constants.
20350        '''
20351        self.created_at = created_at if created_at is not None else None
20352        '''
20353         The time at which the Organization was created.
20354        '''
20355        self.device_trust_enabled = device_trust_enabled if device_trust_enabled is not None else False
20356        '''
20357         Indicates if the Organization has device trust enabled.
20358        '''
20359        self.device_trust_provider = device_trust_provider if device_trust_provider is not None else ''
20360        '''
20361         The Organization's device trust provider, one of the DeviceTrustProvider constants.
20362        '''
20363        self.discard_replays = discard_replays if discard_replays is not None else False
20364        '''
20365         Indicates if the Organization should drop replay data for SSH, RDP, and K8s logs.
20366        '''
20367        self.enforce_single_session = enforce_single_session if enforce_single_session is not None else False
20368        '''
20369         Indicates if the Organization enforces a single session per user for the CLI and AdminUI.
20370        '''
20371        self.idle_timeout = idle_timeout if idle_timeout is not None else None
20372        '''
20373         The Organization's idle timeout, if enabled.
20374        '''
20375        self.idle_timeout_enabled = idle_timeout_enabled if idle_timeout_enabled is not None else False
20376        '''
20377         Indicates if the Organization has idle timeouts enabled.
20378        '''
20379        self.kind = kind if kind is not None else ''
20380        '''
20381         The Organization's type, one of the OrgKind constants.
20382        '''
20383        self.log_local_encoder = log_local_encoder if log_local_encoder is not None else ''
20384        '''
20385         The Organization's local log encryption encoder, one of the LogLocalEncoder constants.
20386        '''
20387        self.log_local_format = log_local_format if log_local_format is not None else ''
20388        '''
20389         The Organization's local log format, one of the LogLocalFormat constants.
20390        '''
20391        self.log_local_storage = log_local_storage if log_local_storage is not None else ''
20392        '''
20393         The Organization's local log storage, one of the LogLocalStorage constants.
20394        '''
20395        self.log_remote_encoder = log_remote_encoder if log_remote_encoder is not None else ''
20396        '''
20397         The Organization's remote log encryption encoder, one of the LogRemoteEncoder constants.
20398        '''
20399        self.log_socket_path = log_socket_path if log_socket_path is not None else ''
20400        '''
20401         The Organization's socket path for Socket local log storage.
20402        '''
20403        self.log_tcp_address = log_tcp_address if log_tcp_address is not None else ''
20404        '''
20405         The Organization's TCP address for TCP or Syslog local log storage.
20406        '''
20407        self.loopback_range = loopback_range if loopback_range is not None else ''
20408        '''
20409         The Organization's loopback range.
20410        '''
20411        self.mfa_enabled = mfa_enabled if mfa_enabled is not None else False
20412        '''
20413         Indicates if the Organization has multi-factor authentication enabled.
20414        '''
20415        self.mfa_provider = mfa_provider if mfa_provider is not None else ''
20416        '''
20417         The Organization's multi-factor authentication provider, one of the MFAProvider constants.
20418        '''
20419        self.name = name if name is not None else ''
20420        '''
20421         The Organization's name.
20422        '''
20423        self.public_key_pem = public_key_pem if public_key_pem is not None else ''
20424        '''
20425         The Organization's public key PEM for encrypting remote logs.
20426        '''
20427        self.require_secret_store = require_secret_store if require_secret_store is not None else False
20428        '''
20429         Indicates if the Organization requires secret stores.
20430        '''
20431        self.saml_metadata_url = saml_metadata_url if saml_metadata_url is not None else ''
20432        '''
20433         The Organization's URL for SAML metadata.
20434        '''
20435        self.scim_provider = scim_provider if scim_provider is not None else ''
20436        '''
20437         The Organization's SCIM provider, one of the SCIMProvider constants.
20438        '''
20439        self.sensitive_label = sensitive_label if sensitive_label is not None else ''
20440        '''
20441         The Organization's label for sensitive resources.
20442        '''
20443        self.session_timeout = session_timeout if session_timeout is not None else None
20444        '''
20445         The Organization's session timeout, if enabled.
20446        '''
20447        self.session_timeout_enabled = session_timeout_enabled if session_timeout_enabled is not None else False
20448        '''
20449         Indicates if the Organization has session timeouts enabled.
20450        '''
20451        self.ssh_certificate_authority_public_key = ssh_certificate_authority_public_key if ssh_certificate_authority_public_key is not None else ''
20452        '''
20453         The Organization's SSH certificate authority public key.
20454        '''
20455        self.ssh_certificate_authority_updated_at = ssh_certificate_authority_updated_at if ssh_certificate_authority_updated_at is not None else None
20456        '''
20457         The time at which the Organization's SSH certificate authority was last updated.
20458        '''
20459        self.updated_at = updated_at if updated_at is not None else None
20460        '''
20461         The time at which the Organization was last updated.
20462        '''
20463        self.websites_subdomain = websites_subdomain if websites_subdomain is not None else ''
20464        '''
20465         The Organization's web site domain.
20466        '''
20467
20468    def __repr__(self):
20469        return '<sdm.Organization ' + \
20470            'auth_provider: ' + repr(self.auth_provider) + ' ' +\
20471            'created_at: ' + repr(self.created_at) + ' ' +\
20472            'device_trust_enabled: ' + repr(self.device_trust_enabled) + ' ' +\
20473            'device_trust_provider: ' + repr(self.device_trust_provider) + ' ' +\
20474            'discard_replays: ' + repr(self.discard_replays) + ' ' +\
20475            'enforce_single_session: ' + repr(self.enforce_single_session) + ' ' +\
20476            'idle_timeout: ' + repr(self.idle_timeout) + ' ' +\
20477            'idle_timeout_enabled: ' + repr(self.idle_timeout_enabled) + ' ' +\
20478            'kind: ' + repr(self.kind) + ' ' +\
20479            'log_local_encoder: ' + repr(self.log_local_encoder) + ' ' +\
20480            'log_local_format: ' + repr(self.log_local_format) + ' ' +\
20481            'log_local_storage: ' + repr(self.log_local_storage) + ' ' +\
20482            'log_remote_encoder: ' + repr(self.log_remote_encoder) + ' ' +\
20483            'log_socket_path: ' + repr(self.log_socket_path) + ' ' +\
20484            'log_tcp_address: ' + repr(self.log_tcp_address) + ' ' +\
20485            'loopback_range: ' + repr(self.loopback_range) + ' ' +\
20486            'mfa_enabled: ' + repr(self.mfa_enabled) + ' ' +\
20487            'mfa_provider: ' + repr(self.mfa_provider) + ' ' +\
20488            'name: ' + repr(self.name) + ' ' +\
20489            'public_key_pem: ' + repr(self.public_key_pem) + ' ' +\
20490            'require_secret_store: ' + repr(self.require_secret_store) + ' ' +\
20491            'saml_metadata_url: ' + repr(self.saml_metadata_url) + ' ' +\
20492            'scim_provider: ' + repr(self.scim_provider) + ' ' +\
20493            'sensitive_label: ' + repr(self.sensitive_label) + ' ' +\
20494            'session_timeout: ' + repr(self.session_timeout) + ' ' +\
20495            'session_timeout_enabled: ' + repr(self.session_timeout_enabled) + ' ' +\
20496            'ssh_certificate_authority_public_key: ' + repr(self.ssh_certificate_authority_public_key) + ' ' +\
20497            'ssh_certificate_authority_updated_at: ' + repr(self.ssh_certificate_authority_updated_at) + ' ' +\
20498            'updated_at: ' + repr(self.updated_at) + ' ' +\
20499            'websites_subdomain: ' + repr(self.websites_subdomain) + ' ' +\
20500            '>'
20501
20502    def to_dict(self):
20503        return {
20504            'auth_provider': self.auth_provider,
20505            'created_at': self.created_at,
20506            'device_trust_enabled': self.device_trust_enabled,
20507            'device_trust_provider': self.device_trust_provider,
20508            'discard_replays': self.discard_replays,
20509            'enforce_single_session': self.enforce_single_session,
20510            'idle_timeout': self.idle_timeout,
20511            'idle_timeout_enabled': self.idle_timeout_enabled,
20512            'kind': self.kind,
20513            'log_local_encoder': self.log_local_encoder,
20514            'log_local_format': self.log_local_format,
20515            'log_local_storage': self.log_local_storage,
20516            'log_remote_encoder': self.log_remote_encoder,
20517            'log_socket_path': self.log_socket_path,
20518            'log_tcp_address': self.log_tcp_address,
20519            'loopback_range': self.loopback_range,
20520            'mfa_enabled': self.mfa_enabled,
20521            'mfa_provider': self.mfa_provider,
20522            'name': self.name,
20523            'public_key_pem': self.public_key_pem,
20524            'require_secret_store': self.require_secret_store,
20525            'saml_metadata_url': self.saml_metadata_url,
20526            'scim_provider': self.scim_provider,
20527            'sensitive_label': self.sensitive_label,
20528            'session_timeout': self.session_timeout,
20529            'session_timeout_enabled': self.session_timeout_enabled,
20530            'ssh_certificate_authority_public_key':
20531            self.ssh_certificate_authority_public_key,
20532            'ssh_certificate_authority_updated_at':
20533            self.ssh_certificate_authority_updated_at,
20534            'updated_at': self.updated_at,
20535            'websites_subdomain': self.websites_subdomain,
20536        }
20537
20538    @classmethod
20539    def from_dict(cls, d):
20540        return cls(
20541            auth_provider=d.get('auth_provider'),
20542            created_at=d.get('created_at'),
20543            device_trust_enabled=d.get('device_trust_enabled'),
20544            device_trust_provider=d.get('device_trust_provider'),
20545            discard_replays=d.get('discard_replays'),
20546            enforce_single_session=d.get('enforce_single_session'),
20547            idle_timeout=d.get('idle_timeout'),
20548            idle_timeout_enabled=d.get('idle_timeout_enabled'),
20549            kind=d.get('kind'),
20550            log_local_encoder=d.get('log_local_encoder'),
20551            log_local_format=d.get('log_local_format'),
20552            log_local_storage=d.get('log_local_storage'),
20553            log_remote_encoder=d.get('log_remote_encoder'),
20554            log_socket_path=d.get('log_socket_path'),
20555            log_tcp_address=d.get('log_tcp_address'),
20556            loopback_range=d.get('loopback_range'),
20557            mfa_enabled=d.get('mfa_enabled'),
20558            mfa_provider=d.get('mfa_provider'),
20559            name=d.get('name'),
20560            public_key_pem=d.get('public_key_pem'),
20561            require_secret_store=d.get('require_secret_store'),
20562            saml_metadata_url=d.get('saml_metadata_url'),
20563            scim_provider=d.get('scim_provider'),
20564            sensitive_label=d.get('sensitive_label'),
20565            session_timeout=d.get('session_timeout'),
20566            session_timeout_enabled=d.get('session_timeout_enabled'),
20567            ssh_certificate_authority_public_key=d.get(
20568                'ssh_certificate_authority_public_key'),
20569            ssh_certificate_authority_updated_at=d.get(
20570                'ssh_certificate_authority_updated_at'),
20571            updated_at=d.get('updated_at'),
20572            websites_subdomain=d.get('websites_subdomain'),
20573        )
20574
20575
20576class OrganizationHistoryRecord:
20577    '''
20578         OrganizationHistoryRecord records the state of an Organization at a given point in time,
20579     where every change to an Organization produces an OrganizationHistoryRecord.
20580    '''
20581    __slots__ = [
20582        'activity_id',
20583        'organization',
20584        'timestamp',
20585    ]
20586
20587    def __init__(
20588        self,
20589        activity_id=None,
20590        organization=None,
20591        timestamp=None,
20592    ):
20593        self.activity_id = activity_id if activity_id is not None else ''
20594        '''
20595         The unique identifier of the Activity that produced this change to the Organization.
20596         May be empty for some system-initiated organization updates.
20597        '''
20598        self.organization = organization if organization is not None else None
20599        '''
20600         The complete Organization state at this time.
20601        '''
20602        self.timestamp = timestamp if timestamp is not None else None
20603        '''
20604         The time at which the Organization state was recorded.
20605        '''
20606
20607    def __repr__(self):
20608        return '<sdm.OrganizationHistoryRecord ' + \
20609            'activity_id: ' + repr(self.activity_id) + ' ' +\
20610            'organization: ' + repr(self.organization) + ' ' +\
20611            'timestamp: ' + repr(self.timestamp) + ' ' +\
20612            '>'
20613
20614    def to_dict(self):
20615        return {
20616            'activity_id': self.activity_id,
20617            'organization': self.organization,
20618            'timestamp': self.timestamp,
20619        }
20620
20621    @classmethod
20622    def from_dict(cls, d):
20623        return cls(
20624            activity_id=d.get('activity_id'),
20625            organization=d.get('organization'),
20626            timestamp=d.get('timestamp'),
20627        )
20628
20629
20630class PeeringGroup:
20631    '''
20632         PeeringGroups are the building blocks used for explicit network topology making.
20633     They may be linked to other peering groups. Sets of PeeringGroupResource and PeeringGroupNode can be attached to a peering group.
20634    '''
20635    __slots__ = [
20636        'id',
20637        'name',
20638    ]
20639
20640    def __init__(
20641        self,
20642        id=None,
20643        name=None,
20644    ):
20645        self.id = id if id is not None else ''
20646        '''
20647         Unique identifier of the PeeringGroup.
20648        '''
20649        self.name = name if name is not None else ''
20650        '''
20651         Unique human-readable name of the PeeringGroup.
20652        '''
20653
20654    def __repr__(self):
20655        return '<sdm.PeeringGroup ' + \
20656            'id: ' + repr(self.id) + ' ' +\
20657            'name: ' + repr(self.name) + ' ' +\
20658            '>'
20659
20660    def to_dict(self):
20661        return {
20662            'id': self.id,
20663            'name': self.name,
20664        }
20665
20666    @classmethod
20667    def from_dict(cls, d):
20668        return cls(
20669            id=d.get('id'),
20670            name=d.get('name'),
20671        )
20672
20673
20674class PeeringGroupCreateResponse:
20675    '''
20676         PeeringGroupCreateResponse reports how the PeeringGroup was created in the system.
20677    '''
20678    __slots__ = [
20679        'meta',
20680        'peering_group',
20681        'rate_limit',
20682    ]
20683
20684    def __init__(
20685        self,
20686        meta=None,
20687        peering_group=None,
20688        rate_limit=None,
20689    ):
20690        self.meta = meta if meta is not None else None
20691        '''
20692         Reserved for future use.
20693        '''
20694        self.peering_group = peering_group if peering_group is not None else None
20695        '''
20696         The created PeeringGroup.
20697        '''
20698        self.rate_limit = rate_limit if rate_limit is not None else None
20699        '''
20700         Rate limit information.
20701        '''
20702
20703    def __repr__(self):
20704        return '<sdm.PeeringGroupCreateResponse ' + \
20705            'meta: ' + repr(self.meta) + ' ' +\
20706            'peering_group: ' + repr(self.peering_group) + ' ' +\
20707            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20708            '>'
20709
20710    def to_dict(self):
20711        return {
20712            'meta': self.meta,
20713            'peering_group': self.peering_group,
20714            'rate_limit': self.rate_limit,
20715        }
20716
20717    @classmethod
20718    def from_dict(cls, d):
20719        return cls(
20720            meta=d.get('meta'),
20721            peering_group=d.get('peering_group'),
20722            rate_limit=d.get('rate_limit'),
20723        )
20724
20725
20726class PeeringGroupDeleteResponse:
20727    '''
20728         PeeringGroupDeleteResponse returns information about a PeeringGroup that was deleted.
20729    '''
20730    __slots__ = [
20731        'meta',
20732        'rate_limit',
20733    ]
20734
20735    def __init__(
20736        self,
20737        meta=None,
20738        rate_limit=None,
20739    ):
20740        self.meta = meta if meta is not None else None
20741        '''
20742         Reserved for future use.
20743        '''
20744        self.rate_limit = rate_limit if rate_limit is not None else None
20745        '''
20746         Rate limit information.
20747        '''
20748
20749    def __repr__(self):
20750        return '<sdm.PeeringGroupDeleteResponse ' + \
20751            'meta: ' + repr(self.meta) + ' ' +\
20752            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20753            '>'
20754
20755    def to_dict(self):
20756        return {
20757            'meta': self.meta,
20758            'rate_limit': self.rate_limit,
20759        }
20760
20761    @classmethod
20762    def from_dict(cls, d):
20763        return cls(
20764            meta=d.get('meta'),
20765            rate_limit=d.get('rate_limit'),
20766        )
20767
20768
20769class PeeringGroupGetResponse:
20770    '''
20771         PeeringGroupGetResponse returns a requested PeeringGroup.
20772    '''
20773    __slots__ = [
20774        'meta',
20775        'peering_group',
20776        'rate_limit',
20777    ]
20778
20779    def __init__(
20780        self,
20781        meta=None,
20782        peering_group=None,
20783        rate_limit=None,
20784    ):
20785        self.meta = meta if meta is not None else None
20786        '''
20787         Reserved for future use.
20788        '''
20789        self.peering_group = peering_group if peering_group is not None else None
20790        '''
20791         The requested PeeringGroup.
20792        '''
20793        self.rate_limit = rate_limit if rate_limit is not None else None
20794        '''
20795         Rate limit information.
20796        '''
20797
20798    def __repr__(self):
20799        return '<sdm.PeeringGroupGetResponse ' + \
20800            'meta: ' + repr(self.meta) + ' ' +\
20801            'peering_group: ' + repr(self.peering_group) + ' ' +\
20802            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20803            '>'
20804
20805    def to_dict(self):
20806        return {
20807            'meta': self.meta,
20808            'peering_group': self.peering_group,
20809            'rate_limit': self.rate_limit,
20810        }
20811
20812    @classmethod
20813    def from_dict(cls, d):
20814        return cls(
20815            meta=d.get('meta'),
20816            peering_group=d.get('peering_group'),
20817            rate_limit=d.get('rate_limit'),
20818        )
20819
20820
20821class PeeringGroupNode:
20822    '''
20823         PeeringGroupNode represents the attachment between a PeeringGroup and a Node.
20824    '''
20825    __slots__ = [
20826        'group_id',
20827        'id',
20828        'node_id',
20829    ]
20830
20831    def __init__(
20832        self,
20833        group_id=None,
20834        id=None,
20835        node_id=None,
20836    ):
20837        self.group_id = group_id if group_id is not None else ''
20838        '''
20839         Peering Group ID to which the node will be attached to.
20840        '''
20841        self.id = id if id is not None else ''
20842        '''
20843         Unique identifier of the Attachment.
20844        '''
20845        self.node_id = node_id if node_id is not None else ''
20846        '''
20847         Node ID to be attached.
20848        '''
20849
20850    def __repr__(self):
20851        return '<sdm.PeeringGroupNode ' + \
20852            'group_id: ' + repr(self.group_id) + ' ' +\
20853            'id: ' + repr(self.id) + ' ' +\
20854            'node_id: ' + repr(self.node_id) + ' ' +\
20855            '>'
20856
20857    def to_dict(self):
20858        return {
20859            'group_id': self.group_id,
20860            'id': self.id,
20861            'node_id': self.node_id,
20862        }
20863
20864    @classmethod
20865    def from_dict(cls, d):
20866        return cls(
20867            group_id=d.get('group_id'),
20868            id=d.get('id'),
20869            node_id=d.get('node_id'),
20870        )
20871
20872
20873class PeeringGroupNodeCreateResponse:
20874    '''
20875         PeeringGroupNodeCreateResponse reports how the PeeringGroupNode was created in the system.
20876    '''
20877    __slots__ = [
20878        'meta',
20879        'peering_group_node',
20880        'rate_limit',
20881    ]
20882
20883    def __init__(
20884        self,
20885        meta=None,
20886        peering_group_node=None,
20887        rate_limit=None,
20888    ):
20889        self.meta = meta if meta is not None else None
20890        '''
20891         Reserved for future use.
20892        '''
20893        self.peering_group_node = peering_group_node if peering_group_node is not None else None
20894        '''
20895         The created PeeringGroupNode.
20896        '''
20897        self.rate_limit = rate_limit if rate_limit is not None else None
20898        '''
20899         Rate limit information.
20900        '''
20901
20902    def __repr__(self):
20903        return '<sdm.PeeringGroupNodeCreateResponse ' + \
20904            'meta: ' + repr(self.meta) + ' ' +\
20905            'peering_group_node: ' + repr(self.peering_group_node) + ' ' +\
20906            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20907            '>'
20908
20909    def to_dict(self):
20910        return {
20911            'meta': self.meta,
20912            'peering_group_node': self.peering_group_node,
20913            'rate_limit': self.rate_limit,
20914        }
20915
20916    @classmethod
20917    def from_dict(cls, d):
20918        return cls(
20919            meta=d.get('meta'),
20920            peering_group_node=d.get('peering_group_node'),
20921            rate_limit=d.get('rate_limit'),
20922        )
20923
20924
20925class PeeringGroupNodeDeleteResponse:
20926    '''
20927         PeeringGroupNodeDeleteResponse returns information about a PeeringGroupNode that was deleted.
20928    '''
20929    __slots__ = [
20930        'meta',
20931        'rate_limit',
20932    ]
20933
20934    def __init__(
20935        self,
20936        meta=None,
20937        rate_limit=None,
20938    ):
20939        self.meta = meta if meta is not None else None
20940        '''
20941         Reserved for future use.
20942        '''
20943        self.rate_limit = rate_limit if rate_limit is not None else None
20944        '''
20945         Rate limit information.
20946        '''
20947
20948    def __repr__(self):
20949        return '<sdm.PeeringGroupNodeDeleteResponse ' + \
20950            'meta: ' + repr(self.meta) + ' ' +\
20951            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20952            '>'
20953
20954    def to_dict(self):
20955        return {
20956            'meta': self.meta,
20957            'rate_limit': self.rate_limit,
20958        }
20959
20960    @classmethod
20961    def from_dict(cls, d):
20962        return cls(
20963            meta=d.get('meta'),
20964            rate_limit=d.get('rate_limit'),
20965        )
20966
20967
20968class PeeringGroupNodeGetResponse:
20969    '''
20970         PeeringGroupNodeGetResponse returns a requested PeeringGroupNode.
20971    '''
20972    __slots__ = [
20973        'meta',
20974        'peering_group_node',
20975        'rate_limit',
20976    ]
20977
20978    def __init__(
20979        self,
20980        meta=None,
20981        peering_group_node=None,
20982        rate_limit=None,
20983    ):
20984        self.meta = meta if meta is not None else None
20985        '''
20986         Reserved for future use.
20987        '''
20988        self.peering_group_node = peering_group_node if peering_group_node is not None else None
20989        '''
20990         The requested PeeringGroupNode.
20991        '''
20992        self.rate_limit = rate_limit if rate_limit is not None else None
20993        '''
20994         Rate limit information.
20995        '''
20996
20997    def __repr__(self):
20998        return '<sdm.PeeringGroupNodeGetResponse ' + \
20999            'meta: ' + repr(self.meta) + ' ' +\
21000            'peering_group_node: ' + repr(self.peering_group_node) + ' ' +\
21001            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21002            '>'
21003
21004    def to_dict(self):
21005        return {
21006            'meta': self.meta,
21007            'peering_group_node': self.peering_group_node,
21008            'rate_limit': self.rate_limit,
21009        }
21010
21011    @classmethod
21012    def from_dict(cls, d):
21013        return cls(
21014            meta=d.get('meta'),
21015            peering_group_node=d.get('peering_group_node'),
21016            rate_limit=d.get('rate_limit'),
21017        )
21018
21019
21020class PeeringGroupPeer:
21021    '''
21022         PeeringGroupPeer represents the link between two PeeringGroups
21023    '''
21024    __slots__ = [
21025        'group_id',
21026        'id',
21027        'peers_with_group_id',
21028    ]
21029
21030    def __init__(
21031        self,
21032        group_id=None,
21033        id=None,
21034        peers_with_group_id=None,
21035    ):
21036        self.group_id = group_id if group_id is not None else ''
21037        '''
21038         Group ID from which the link will originate.
21039        '''
21040        self.id = id if id is not None else ''
21041        '''
21042         Unique identifier of the Attachment.
21043        '''
21044        self.peers_with_group_id = peers_with_group_id if peers_with_group_id is not None else ''
21045        '''
21046         Peering Group ID to which Group ID will link.
21047        '''
21048
21049    def __repr__(self):
21050        return '<sdm.PeeringGroupPeer ' + \
21051            'group_id: ' + repr(self.group_id) + ' ' +\
21052            'id: ' + repr(self.id) + ' ' +\
21053            'peers_with_group_id: ' + repr(self.peers_with_group_id) + ' ' +\
21054            '>'
21055
21056    def to_dict(self):
21057        return {
21058            'group_id': self.group_id,
21059            'id': self.id,
21060            'peers_with_group_id': self.peers_with_group_id,
21061        }
21062
21063    @classmethod
21064    def from_dict(cls, d):
21065        return cls(
21066            group_id=d.get('group_id'),
21067            id=d.get('id'),
21068            peers_with_group_id=d.get('peers_with_group_id'),
21069        )
21070
21071
21072class PeeringGroupPeerCreateResponse:
21073    '''
21074         PeeringGroupPeerCreateResponse reports how the PeeringGroupPeer was created in the system.
21075    '''
21076    __slots__ = [
21077        'meta',
21078        'peering_group_peer',
21079        'rate_limit',
21080    ]
21081
21082    def __init__(
21083        self,
21084        meta=None,
21085        peering_group_peer=None,
21086        rate_limit=None,
21087    ):
21088        self.meta = meta if meta is not None else None
21089        '''
21090         Reserved for future use.
21091        '''
21092        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
21093        '''
21094         The created PeeringGroupPeer.
21095        '''
21096        self.rate_limit = rate_limit if rate_limit is not None else None
21097        '''
21098         Rate limit information.
21099        '''
21100
21101    def __repr__(self):
21102        return '<sdm.PeeringGroupPeerCreateResponse ' + \
21103            'meta: ' + repr(self.meta) + ' ' +\
21104            'peering_group_peer: ' + repr(self.peering_group_peer) + ' ' +\
21105            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21106            '>'
21107
21108    def to_dict(self):
21109        return {
21110            'meta': self.meta,
21111            'peering_group_peer': self.peering_group_peer,
21112            'rate_limit': self.rate_limit,
21113        }
21114
21115    @classmethod
21116    def from_dict(cls, d):
21117        return cls(
21118            meta=d.get('meta'),
21119            peering_group_peer=d.get('peering_group_peer'),
21120            rate_limit=d.get('rate_limit'),
21121        )
21122
21123
21124class PeeringGroupPeerDeleteResponse:
21125    '''
21126         PeeringGroupPeerDeleteResponse returns information about a PeeringGroupPeer that was deleted.
21127    '''
21128    __slots__ = [
21129        'meta',
21130        'rate_limit',
21131    ]
21132
21133    def __init__(
21134        self,
21135        meta=None,
21136        rate_limit=None,
21137    ):
21138        self.meta = meta if meta is not None else None
21139        '''
21140         Reserved for future use.
21141        '''
21142        self.rate_limit = rate_limit if rate_limit is not None else None
21143        '''
21144         Rate limit information.
21145        '''
21146
21147    def __repr__(self):
21148        return '<sdm.PeeringGroupPeerDeleteResponse ' + \
21149            'meta: ' + repr(self.meta) + ' ' +\
21150            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21151            '>'
21152
21153    def to_dict(self):
21154        return {
21155            'meta': self.meta,
21156            'rate_limit': self.rate_limit,
21157        }
21158
21159    @classmethod
21160    def from_dict(cls, d):
21161        return cls(
21162            meta=d.get('meta'),
21163            rate_limit=d.get('rate_limit'),
21164        )
21165
21166
21167class PeeringGroupPeerGetResponse:
21168    '''
21169         PeeringGroupPeerGetResponse returns a requested PeeringGroupPeer.
21170    '''
21171    __slots__ = [
21172        'meta',
21173        'peering_group_peer',
21174        'rate_limit',
21175    ]
21176
21177    def __init__(
21178        self,
21179        meta=None,
21180        peering_group_peer=None,
21181        rate_limit=None,
21182    ):
21183        self.meta = meta if meta is not None else None
21184        '''
21185         Reserved for future use.
21186        '''
21187        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
21188        '''
21189         The requested PeeringGroupPeer.
21190        '''
21191        self.rate_limit = rate_limit if rate_limit is not None else None
21192        '''
21193         Rate limit information.
21194        '''
21195
21196    def __repr__(self):
21197        return '<sdm.PeeringGroupPeerGetResponse ' + \
21198            'meta: ' + repr(self.meta) + ' ' +\
21199            'peering_group_peer: ' + repr(self.peering_group_peer) + ' ' +\
21200            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21201            '>'
21202
21203    def to_dict(self):
21204        return {
21205            'meta': self.meta,
21206            'peering_group_peer': self.peering_group_peer,
21207            'rate_limit': self.rate_limit,
21208        }
21209
21210    @classmethod
21211    def from_dict(cls, d):
21212        return cls(
21213            meta=d.get('meta'),
21214            peering_group_peer=d.get('peering_group_peer'),
21215            rate_limit=d.get('rate_limit'),
21216        )
21217
21218
21219class PeeringGroupResource:
21220    '''
21221         PeeringGroupResource represents the attachment between a PeeringGroup and a Resource.
21222    '''
21223    __slots__ = [
21224        'group_id',
21225        'id',
21226        'resource_id',
21227    ]
21228
21229    def __init__(
21230        self,
21231        group_id=None,
21232        id=None,
21233        resource_id=None,
21234    ):
21235        self.group_id = group_id if group_id is not None else ''
21236        '''
21237         Peering Group ID to which the resource will be attached to.
21238        '''
21239        self.id = id if id is not None else ''
21240        '''
21241         Unique identifier of the Attachment.
21242        '''
21243        self.resource_id = resource_id if resource_id is not None else ''
21244        '''
21245         Resource ID to be attached.
21246        '''
21247
21248    def __repr__(self):
21249        return '<sdm.PeeringGroupResource ' + \
21250            'group_id: ' + repr(self.group_id) + ' ' +\
21251            'id: ' + repr(self.id) + ' ' +\
21252            'resource_id: ' + repr(self.resource_id) + ' ' +\
21253            '>'
21254
21255    def to_dict(self):
21256        return {
21257            'group_id': self.group_id,
21258            'id': self.id,
21259            'resource_id': self.resource_id,
21260        }
21261
21262    @classmethod
21263    def from_dict(cls, d):
21264        return cls(
21265            group_id=d.get('group_id'),
21266            id=d.get('id'),
21267            resource_id=d.get('resource_id'),
21268        )
21269
21270
21271class PeeringGroupResourceCreateResponse:
21272    '''
21273         PeeringGroupResourceCreateResponse reports how the attachment was created in the system.
21274    '''
21275    __slots__ = [
21276        'meta',
21277        'peering_group_resource',
21278        'rate_limit',
21279    ]
21280
21281    def __init__(
21282        self,
21283        meta=None,
21284        peering_group_resource=None,
21285        rate_limit=None,
21286    ):
21287        self.meta = meta if meta is not None else None
21288        '''
21289         Reserved for future use.
21290        '''
21291        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
21292        '''
21293         The created PeeringGroupResource.
21294        '''
21295        self.rate_limit = rate_limit if rate_limit is not None else None
21296        '''
21297         Rate limit information.
21298        '''
21299
21300    def __repr__(self):
21301        return '<sdm.PeeringGroupResourceCreateResponse ' + \
21302            'meta: ' + repr(self.meta) + ' ' +\
21303            'peering_group_resource: ' + repr(self.peering_group_resource) + ' ' +\
21304            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21305            '>'
21306
21307    def to_dict(self):
21308        return {
21309            'meta': self.meta,
21310            'peering_group_resource': self.peering_group_resource,
21311            'rate_limit': self.rate_limit,
21312        }
21313
21314    @classmethod
21315    def from_dict(cls, d):
21316        return cls(
21317            meta=d.get('meta'),
21318            peering_group_resource=d.get('peering_group_resource'),
21319            rate_limit=d.get('rate_limit'),
21320        )
21321
21322
21323class PeeringGroupResourceDeleteResponse:
21324    '''
21325         PeeringGroupResourceDeleteResponse returns information about a PeeringGroupResource that was deleted.
21326    '''
21327    __slots__ = [
21328        'meta',
21329        'rate_limit',
21330    ]
21331
21332    def __init__(
21333        self,
21334        meta=None,
21335        rate_limit=None,
21336    ):
21337        self.meta = meta if meta is not None else None
21338        '''
21339         Reserved for future use.
21340        '''
21341        self.rate_limit = rate_limit if rate_limit is not None else None
21342        '''
21343         Rate limit information.
21344        '''
21345
21346    def __repr__(self):
21347        return '<sdm.PeeringGroupResourceDeleteResponse ' + \
21348            'meta: ' + repr(self.meta) + ' ' +\
21349            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21350            '>'
21351
21352    def to_dict(self):
21353        return {
21354            'meta': self.meta,
21355            'rate_limit': self.rate_limit,
21356        }
21357
21358    @classmethod
21359    def from_dict(cls, d):
21360        return cls(
21361            meta=d.get('meta'),
21362            rate_limit=d.get('rate_limit'),
21363        )
21364
21365
21366class PeeringGroupResourceGetResponse:
21367    '''
21368         PeeringGroupResourceGetResponse returns a requested PeeringGroupResource.
21369    '''
21370    __slots__ = [
21371        'meta',
21372        'peering_group_resource',
21373        'rate_limit',
21374    ]
21375
21376    def __init__(
21377        self,
21378        meta=None,
21379        peering_group_resource=None,
21380        rate_limit=None,
21381    ):
21382        self.meta = meta if meta is not None else None
21383        '''
21384         Reserved for future use.
21385        '''
21386        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
21387        '''
21388         The requested PeeringGroupResource.
21389        '''
21390        self.rate_limit = rate_limit if rate_limit is not None else None
21391        '''
21392         Rate limit information.
21393        '''
21394
21395    def __repr__(self):
21396        return '<sdm.PeeringGroupResourceGetResponse ' + \
21397            'meta: ' + repr(self.meta) + ' ' +\
21398            'peering_group_resource: ' + repr(self.peering_group_resource) + ' ' +\
21399            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21400            '>'
21401
21402    def to_dict(self):
21403        return {
21404            'meta': self.meta,
21405            'peering_group_resource': self.peering_group_resource,
21406            'rate_limit': self.rate_limit,
21407        }
21408
21409    @classmethod
21410    def from_dict(cls, d):
21411        return cls(
21412            meta=d.get('meta'),
21413            peering_group_resource=d.get('peering_group_resource'),
21414            rate_limit=d.get('rate_limit'),
21415        )
21416
21417
21418class Policy:
21419    '''
21420         Policy is a collection of one or more statements that enforce fine-grained access control
21421     for the users of an organization.
21422    '''
21423    __slots__ = [
21424        'description',
21425        'id',
21426        'name',
21427        'policy',
21428    ]
21429
21430    def __init__(
21431        self,
21432        description=None,
21433        id=None,
21434        name=None,
21435        policy=None,
21436    ):
21437        self.description = description if description is not None else ''
21438        '''
21439         Optional description of the Policy.
21440        '''
21441        self.id = id if id is not None else ''
21442        '''
21443         Unique identifier of the Policy.
21444        '''
21445        self.name = name if name is not None else ''
21446        '''
21447         Unique human-readable name of the Policy.
21448        '''
21449        self.policy = policy if policy is not None else ''
21450        '''
21451         The content of the Policy, in Cedar policy language.
21452        '''
21453
21454    def __repr__(self):
21455        return '<sdm.Policy ' + \
21456            'description: ' + repr(self.description) + ' ' +\
21457            'id: ' + repr(self.id) + ' ' +\
21458            'name: ' + repr(self.name) + ' ' +\
21459            'policy: ' + repr(self.policy) + ' ' +\
21460            '>'
21461
21462    def to_dict(self):
21463        return {
21464            'description': self.description,
21465            'id': self.id,
21466            'name': self.name,
21467            'policy': self.policy,
21468        }
21469
21470    @classmethod
21471    def from_dict(cls, d):
21472        return cls(
21473            description=d.get('description'),
21474            id=d.get('id'),
21475            name=d.get('name'),
21476            policy=d.get('policy'),
21477        )
21478
21479
21480class PolicyCreateResponse:
21481    '''
21482         PolicyCreateResponse reports how the Policy was created in the system.
21483    '''
21484    __slots__ = [
21485        'policy',
21486        'rate_limit',
21487    ]
21488
21489    def __init__(
21490        self,
21491        policy=None,
21492        rate_limit=None,
21493    ):
21494        self.policy = policy if policy is not None else None
21495        '''
21496         The created Policy.
21497        '''
21498        self.rate_limit = rate_limit if rate_limit is not None else None
21499        '''
21500         Rate limit information.
21501        '''
21502
21503    def __repr__(self):
21504        return '<sdm.PolicyCreateResponse ' + \
21505            'policy: ' + repr(self.policy) + ' ' +\
21506            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21507            '>'
21508
21509    def to_dict(self):
21510        return {
21511            'policy': self.policy,
21512            'rate_limit': self.rate_limit,
21513        }
21514
21515    @classmethod
21516    def from_dict(cls, d):
21517        return cls(
21518            policy=d.get('policy'),
21519            rate_limit=d.get('rate_limit'),
21520        )
21521
21522
21523class PolicyDeleteResponse:
21524    '''
21525         PolicyDeleteResponse returns information about a Policy that was deleted.
21526    '''
21527    __slots__ = [
21528        'rate_limit',
21529    ]
21530
21531    def __init__(
21532        self,
21533        rate_limit=None,
21534    ):
21535        self.rate_limit = rate_limit if rate_limit is not None else None
21536        '''
21537         Rate limit information.
21538        '''
21539
21540    def __repr__(self):
21541        return '<sdm.PolicyDeleteResponse ' + \
21542            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21543            '>'
21544
21545    def to_dict(self):
21546        return {
21547            'rate_limit': self.rate_limit,
21548        }
21549
21550    @classmethod
21551    def from_dict(cls, d):
21552        return cls(rate_limit=d.get('rate_limit'), )
21553
21554
21555class PolicyGetResponse:
21556    '''
21557         PolicyGetResponse returns a requested Policy.
21558    '''
21559    __slots__ = [
21560        'meta',
21561        'policy',
21562        'rate_limit',
21563    ]
21564
21565    def __init__(
21566        self,
21567        meta=None,
21568        policy=None,
21569        rate_limit=None,
21570    ):
21571        self.meta = meta if meta is not None else None
21572        '''
21573         Reserved for future use.
21574        '''
21575        self.policy = policy if policy is not None else None
21576        '''
21577         The requested Policy.
21578        '''
21579        self.rate_limit = rate_limit if rate_limit is not None else None
21580        '''
21581         Rate limit information.
21582        '''
21583
21584    def __repr__(self):
21585        return '<sdm.PolicyGetResponse ' + \
21586            'meta: ' + repr(self.meta) + ' ' +\
21587            'policy: ' + repr(self.policy) + ' ' +\
21588            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21589            '>'
21590
21591    def to_dict(self):
21592        return {
21593            'meta': self.meta,
21594            'policy': self.policy,
21595            'rate_limit': self.rate_limit,
21596        }
21597
21598    @classmethod
21599    def from_dict(cls, d):
21600        return cls(
21601            meta=d.get('meta'),
21602            policy=d.get('policy'),
21603            rate_limit=d.get('rate_limit'),
21604        )
21605
21606
21607class PolicyHistory:
21608    '''
21609         PolicyHistory records the state of a Policy at a given point in time,
21610     where every change (create, update and delete) to a Policy produces a
21611     PolicyHistory record.
21612    '''
21613    __slots__ = [
21614        'activity_id',
21615        'deleted_at',
21616        'policy',
21617        'timestamp',
21618    ]
21619
21620    def __init__(
21621        self,
21622        activity_id=None,
21623        deleted_at=None,
21624        policy=None,
21625        timestamp=None,
21626    ):
21627        self.activity_id = activity_id if activity_id is not None else ''
21628        '''
21629         The unique identifier of the Activity that produced this change to the Policy.
21630         May be empty for some system-initiated updates.
21631        '''
21632        self.deleted_at = deleted_at if deleted_at is not None else None
21633        '''
21634         If this Policy was deleted, the time it was deleted.
21635        '''
21636        self.policy = policy if policy is not None else None
21637        '''
21638         The complete Policy state at this time.
21639        '''
21640        self.timestamp = timestamp if timestamp is not None else None
21641        '''
21642         The time at which the Policy state was recorded.
21643        '''
21644
21645    def __repr__(self):
21646        return '<sdm.PolicyHistory ' + \
21647            'activity_id: ' + repr(self.activity_id) + ' ' +\
21648            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
21649            'policy: ' + repr(self.policy) + ' ' +\
21650            'timestamp: ' + repr(self.timestamp) + ' ' +\
21651            '>'
21652
21653    def to_dict(self):
21654        return {
21655            'activity_id': self.activity_id,
21656            'deleted_at': self.deleted_at,
21657            'policy': self.policy,
21658            'timestamp': self.timestamp,
21659        }
21660
21661    @classmethod
21662    def from_dict(cls, d):
21663        return cls(
21664            activity_id=d.get('activity_id'),
21665            deleted_at=d.get('deleted_at'),
21666            policy=d.get('policy'),
21667            timestamp=d.get('timestamp'),
21668        )
21669
21670
21671class PolicyListResponse:
21672    '''
21673         PolicyListResponse returns a list of Policy records that meet
21674     the criteria of a PolicyListRequest.
21675    '''
21676    __slots__ = [
21677        'rate_limit',
21678    ]
21679
21680    def __init__(
21681        self,
21682        rate_limit=None,
21683    ):
21684        self.rate_limit = rate_limit if rate_limit is not None else None
21685        '''
21686         Rate limit information.
21687        '''
21688
21689    def __repr__(self):
21690        return '<sdm.PolicyListResponse ' + \
21691            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21692            '>'
21693
21694    def to_dict(self):
21695        return {
21696            'rate_limit': self.rate_limit,
21697        }
21698
21699    @classmethod
21700    def from_dict(cls, d):
21701        return cls(rate_limit=d.get('rate_limit'), )
21702
21703
21704class PolicyUpdateResponse:
21705    '''
21706         PolicyUpdateResponse returns the fields of a Policy after it has been updated by
21707     a PolicyUpdateRequest.
21708    '''
21709    __slots__ = [
21710        'policy',
21711        'rate_limit',
21712    ]
21713
21714    def __init__(
21715        self,
21716        policy=None,
21717        rate_limit=None,
21718    ):
21719        self.policy = policy if policy is not None else None
21720        '''
21721         The updated Policy.
21722        '''
21723        self.rate_limit = rate_limit if rate_limit is not None else None
21724        '''
21725         Rate limit information.
21726        '''
21727
21728    def __repr__(self):
21729        return '<sdm.PolicyUpdateResponse ' + \
21730            'policy: ' + repr(self.policy) + ' ' +\
21731            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21732            '>'
21733
21734    def to_dict(self):
21735        return {
21736            'policy': self.policy,
21737            'rate_limit': self.rate_limit,
21738        }
21739
21740    @classmethod
21741    def from_dict(cls, d):
21742        return cls(
21743            policy=d.get('policy'),
21744            rate_limit=d.get('rate_limit'),
21745        )
21746
21747
21748class Postgres:
21749    __slots__ = [
21750        'bind_interface',
21751        'database',
21752        'egress_filter',
21753        'healthy',
21754        'hostname',
21755        'id',
21756        'name',
21757        'override_database',
21758        'password',
21759        'port',
21760        'port_override',
21761        'proxy_cluster_id',
21762        'secret_store_id',
21763        'subdomain',
21764        'tags',
21765        'username',
21766    ]
21767
21768    def __init__(
21769        self,
21770        bind_interface=None,
21771        database=None,
21772        egress_filter=None,
21773        healthy=None,
21774        hostname=None,
21775        id=None,
21776        name=None,
21777        override_database=None,
21778        password=None,
21779        port=None,
21780        port_override=None,
21781        proxy_cluster_id=None,
21782        secret_store_id=None,
21783        subdomain=None,
21784        tags=None,
21785        username=None,
21786    ):
21787        self.bind_interface = bind_interface if bind_interface is not None else ''
21788        '''
21789         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
21790        '''
21791        self.database = database if database is not None else ''
21792        '''
21793         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
21794        '''
21795        self.egress_filter = egress_filter if egress_filter is not None else ''
21796        '''
21797         A filter applied to the routing logic to pin datasource to nodes.
21798        '''
21799        self.healthy = healthy if healthy is not None else False
21800        '''
21801         True if the datasource is reachable and the credentials are valid.
21802        '''
21803        self.hostname = hostname if hostname is not None else ''
21804        '''
21805         The host to dial to initiate a connection from the egress node to this resource.
21806        '''
21807        self.id = id if id is not None else ''
21808        '''
21809         Unique identifier of the Resource.
21810        '''
21811        self.name = name if name is not None else ''
21812        '''
21813         Unique human-readable name of the Resource.
21814        '''
21815        self.override_database = override_database if override_database is not None else False
21816        '''
21817         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
21818        '''
21819        self.password = password if password is not None else ''
21820        '''
21821         The password to authenticate with.
21822        '''
21823        self.port = port if port is not None else 0
21824        '''
21825         The port to dial to initiate a connection from the egress node to this resource.
21826        '''
21827        self.port_override = port_override if port_override is not None else 0
21828        '''
21829         The local port used by clients to connect to this resource.
21830        '''
21831        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21832        '''
21833         ID of the proxy cluster for this resource, if any.
21834        '''
21835        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21836        '''
21837         ID of the secret store containing credentials for this resource, if any.
21838        '''
21839        self.subdomain = subdomain if subdomain is not None else ''
21840        '''
21841         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
21842        '''
21843        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21844        '''
21845         Tags is a map of key, value pairs.
21846        '''
21847        self.username = username if username is not None else ''
21848        '''
21849         The username to authenticate with.
21850        '''
21851
21852    def __repr__(self):
21853        return '<sdm.Postgres ' + \
21854            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
21855            'database: ' + repr(self.database) + ' ' +\
21856            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
21857            'healthy: ' + repr(self.healthy) + ' ' +\
21858            'hostname: ' + repr(self.hostname) + ' ' +\
21859            'id: ' + repr(self.id) + ' ' +\
21860            'name: ' + repr(self.name) + ' ' +\
21861            'override_database: ' + repr(self.override_database) + ' ' +\
21862            'password: ' + repr(self.password) + ' ' +\
21863            'port: ' + repr(self.port) + ' ' +\
21864            'port_override: ' + repr(self.port_override) + ' ' +\
21865            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
21866            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
21867            'subdomain: ' + repr(self.subdomain) + ' ' +\
21868            'tags: ' + repr(self.tags) + ' ' +\
21869            'username: ' + repr(self.username) + ' ' +\
21870            '>'
21871
21872    def to_dict(self):
21873        return {
21874            'bind_interface': self.bind_interface,
21875            'database': self.database,
21876            'egress_filter': self.egress_filter,
21877            'healthy': self.healthy,
21878            'hostname': self.hostname,
21879            'id': self.id,
21880            'name': self.name,
21881            'override_database': self.override_database,
21882            'password': self.password,
21883            'port': self.port,
21884            'port_override': self.port_override,
21885            'proxy_cluster_id': self.proxy_cluster_id,
21886            'secret_store_id': self.secret_store_id,
21887            'subdomain': self.subdomain,
21888            'tags': self.tags,
21889            'username': self.username,
21890        }
21891
21892    @classmethod
21893    def from_dict(cls, d):
21894        return cls(
21895            bind_interface=d.get('bind_interface'),
21896            database=d.get('database'),
21897            egress_filter=d.get('egress_filter'),
21898            healthy=d.get('healthy'),
21899            hostname=d.get('hostname'),
21900            id=d.get('id'),
21901            name=d.get('name'),
21902            override_database=d.get('override_database'),
21903            password=d.get('password'),
21904            port=d.get('port'),
21905            port_override=d.get('port_override'),
21906            proxy_cluster_id=d.get('proxy_cluster_id'),
21907            secret_store_id=d.get('secret_store_id'),
21908            subdomain=d.get('subdomain'),
21909            tags=d.get('tags'),
21910            username=d.get('username'),
21911        )
21912
21913
21914class Presto:
21915    __slots__ = [
21916        'bind_interface',
21917        'database',
21918        'egress_filter',
21919        'healthy',
21920        'hostname',
21921        'id',
21922        'name',
21923        'password',
21924        'port',
21925        'port_override',
21926        'proxy_cluster_id',
21927        'secret_store_id',
21928        'subdomain',
21929        'tags',
21930        'tls_required',
21931        'username',
21932    ]
21933
21934    def __init__(
21935        self,
21936        bind_interface=None,
21937        database=None,
21938        egress_filter=None,
21939        healthy=None,
21940        hostname=None,
21941        id=None,
21942        name=None,
21943        password=None,
21944        port=None,
21945        port_override=None,
21946        proxy_cluster_id=None,
21947        secret_store_id=None,
21948        subdomain=None,
21949        tags=None,
21950        tls_required=None,
21951        username=None,
21952    ):
21953        self.bind_interface = bind_interface if bind_interface is not None else ''
21954        '''
21955         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
21956        '''
21957        self.database = database if database is not None else ''
21958        '''
21959         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
21960        '''
21961        self.egress_filter = egress_filter if egress_filter is not None else ''
21962        '''
21963         A filter applied to the routing logic to pin datasource to nodes.
21964        '''
21965        self.healthy = healthy if healthy is not None else False
21966        '''
21967         True if the datasource is reachable and the credentials are valid.
21968        '''
21969        self.hostname = hostname if hostname is not None else ''
21970        '''
21971         The host to dial to initiate a connection from the egress node to this resource.
21972        '''
21973        self.id = id if id is not None else ''
21974        '''
21975         Unique identifier of the Resource.
21976        '''
21977        self.name = name if name is not None else ''
21978        '''
21979         Unique human-readable name of the Resource.
21980        '''
21981        self.password = password if password is not None else ''
21982        '''
21983         The password to authenticate with.
21984        '''
21985        self.port = port if port is not None else 0
21986        '''
21987         The port to dial to initiate a connection from the egress node to this resource.
21988        '''
21989        self.port_override = port_override if port_override is not None else 0
21990        '''
21991         The local port used by clients to connect to this resource.
21992        '''
21993        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21994        '''
21995         ID of the proxy cluster for this resource, if any.
21996        '''
21997        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21998        '''
21999         ID of the secret store containing credentials for this resource, if any.
22000        '''
22001        self.subdomain = subdomain if subdomain is not None else ''
22002        '''
22003         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
22004        '''
22005        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22006        '''
22007         Tags is a map of key, value pairs.
22008        '''
22009        self.tls_required = tls_required if tls_required is not None else False
22010        '''
22011         If set, TLS must be used to connect to this resource.
22012        '''
22013        self.username = username if username is not None else ''
22014        '''
22015         The username to authenticate with.
22016        '''
22017
22018    def __repr__(self):
22019        return '<sdm.Presto ' + \
22020            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
22021            'database: ' + repr(self.database) + ' ' +\
22022            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
22023            'healthy: ' + repr(self.healthy) + ' ' +\
22024            'hostname: ' + repr(self.hostname) + ' ' +\
22025            'id: ' + repr(self.id) + ' ' +\
22026            'name: ' + repr(self.name) + ' ' +\
22027            'password: ' + repr(self.password) + ' ' +\
22028            'port: ' + repr(self.port) + ' ' +\
22029            'port_override: ' + repr(self.port_override) + ' ' +\
22030            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
22031            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
22032            'subdomain: ' + repr(self.subdomain) + ' ' +\
22033            'tags: ' + repr(self.tags) + ' ' +\
22034            'tls_required: ' + repr(self.tls_required) + ' ' +\
22035            'username: ' + repr(self.username) + ' ' +\
22036            '>'
22037
22038    def to_dict(self):
22039        return {
22040            'bind_interface': self.bind_interface,
22041            'database': self.database,
22042            'egress_filter': self.egress_filter,
22043            'healthy': self.healthy,
22044            'hostname': self.hostname,
22045            'id': self.id,
22046            'name': self.name,
22047            'password': self.password,
22048            'port': self.port,
22049            'port_override': self.port_override,
22050            'proxy_cluster_id': self.proxy_cluster_id,
22051            'secret_store_id': self.secret_store_id,
22052            'subdomain': self.subdomain,
22053            'tags': self.tags,
22054            'tls_required': self.tls_required,
22055            'username': self.username,
22056        }
22057
22058    @classmethod
22059    def from_dict(cls, d):
22060        return cls(
22061            bind_interface=d.get('bind_interface'),
22062            database=d.get('database'),
22063            egress_filter=d.get('egress_filter'),
22064            healthy=d.get('healthy'),
22065            hostname=d.get('hostname'),
22066            id=d.get('id'),
22067            name=d.get('name'),
22068            password=d.get('password'),
22069            port=d.get('port'),
22070            port_override=d.get('port_override'),
22071            proxy_cluster_id=d.get('proxy_cluster_id'),
22072            secret_store_id=d.get('secret_store_id'),
22073            subdomain=d.get('subdomain'),
22074            tags=d.get('tags'),
22075            tls_required=d.get('tls_required'),
22076            username=d.get('username'),
22077        )
22078
22079
22080class ProxyCluster:
22081    '''
22082         ProxyCluster represents a cluster of StrongDM proxies.
22083    '''
22084    __slots__ = [
22085        'address',
22086        'id',
22087        'maintenance_windows',
22088        'name',
22089        'tags',
22090    ]
22091
22092    def __init__(
22093        self,
22094        address=None,
22095        id=None,
22096        maintenance_windows=None,
22097        name=None,
22098        tags=None,
22099    ):
22100        self.address = address if address is not None else ''
22101        '''
22102         The public hostname/port tuple at which the proxy cluster will be
22103         accessible to clients.
22104        '''
22105        self.id = id if id is not None else ''
22106        '''
22107         Unique identifier of the Proxy Cluster.
22108        '''
22109        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
22110        '''
22111         Maintenance Windows define when this node is allowed to restart. If a node
22112         is requested to restart, it will check each window to determine if any of
22113         them permit it to restart, and if any do, it will. This check is repeated
22114         per window until the restart is successfully completed.
22115         
22116         If not set here, may be set on the command line or via an environment variable
22117         on the process itself; any server setting will take precedence over local
22118         settings. This setting is ineffective for nodes below version 38.44.0.
22119         
22120         If this setting is not applied via this remote configuration or via local
22121         configuration, the default setting is used: always allow restarts if serving
22122         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
22123        '''
22124        self.name = name if name is not None else ''
22125        '''
22126         Unique human-readable name of the proxy cluster. Names must
22127         include only letters, numbers, and hyphens (no spaces, underscores, or
22128         other special characters). Generated if not provided on create.
22129        '''
22130        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22131        '''
22132         Tags is a map of key, value pairs.
22133        '''
22134
22135    def __repr__(self):
22136        return '<sdm.ProxyCluster ' + \
22137            'address: ' + repr(self.address) + ' ' +\
22138            'id: ' + repr(self.id) + ' ' +\
22139            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
22140            'name: ' + repr(self.name) + ' ' +\
22141            'tags: ' + repr(self.tags) + ' ' +\
22142            '>'
22143
22144    def to_dict(self):
22145        return {
22146            'address': self.address,
22147            'id': self.id,
22148            'maintenance_windows': self.maintenance_windows,
22149            'name': self.name,
22150            'tags': self.tags,
22151        }
22152
22153    @classmethod
22154    def from_dict(cls, d):
22155        return cls(
22156            address=d.get('address'),
22157            id=d.get('id'),
22158            maintenance_windows=d.get('maintenance_windows'),
22159            name=d.get('name'),
22160            tags=d.get('tags'),
22161        )
22162
22163
22164class ProxyClusterKey:
22165    '''
22166         Proxy Cluster Keys are authentication keys for all proxies within a cluster.
22167     The proxies within a cluster share the same key. One cluster can have
22168     multiple keys in order to facilitate key rotation.
22169    '''
22170    __slots__ = [
22171        'created_at',
22172        'id',
22173        'last_used_at',
22174        'proxy_cluster_id',
22175    ]
22176
22177    def __init__(
22178        self,
22179        created_at=None,
22180        id=None,
22181        last_used_at=None,
22182        proxy_cluster_id=None,
22183    ):
22184        self.created_at = created_at if created_at is not None else None
22185        '''
22186         The timestamp when this key was created.
22187        '''
22188        self.id = id if id is not None else ''
22189        '''
22190         Unique identifier of the Relay.
22191        '''
22192        self.last_used_at = last_used_at if last_used_at is not None else None
22193        '''
22194         The timestamp when this key was last used, if at all.
22195        '''
22196        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22197        '''
22198         The ID of the proxy cluster which this key authenticates to.
22199        '''
22200
22201    def __repr__(self):
22202        return '<sdm.ProxyClusterKey ' + \
22203            'created_at: ' + repr(self.created_at) + ' ' +\
22204            'id: ' + repr(self.id) + ' ' +\
22205            'last_used_at: ' + repr(self.last_used_at) + ' ' +\
22206            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
22207            '>'
22208
22209    def to_dict(self):
22210        return {
22211            'created_at': self.created_at,
22212            'id': self.id,
22213            'last_used_at': self.last_used_at,
22214            'proxy_cluster_id': self.proxy_cluster_id,
22215        }
22216
22217    @classmethod
22218    def from_dict(cls, d):
22219        return cls(
22220            created_at=d.get('created_at'),
22221            id=d.get('id'),
22222            last_used_at=d.get('last_used_at'),
22223            proxy_cluster_id=d.get('proxy_cluster_id'),
22224        )
22225
22226
22227class ProxyClusterKeyCreateResponse:
22228    '''
22229         ProxyClusterKeyCreateResponse reports how the ProxyClusterKeys were created in the system.
22230    '''
22231    __slots__ = [
22232        'meta',
22233        'proxy_cluster_key',
22234        'rate_limit',
22235        'secret_key',
22236    ]
22237
22238    def __init__(
22239        self,
22240        meta=None,
22241        proxy_cluster_key=None,
22242        rate_limit=None,
22243        secret_key=None,
22244    ):
22245        self.meta = meta if meta is not None else None
22246        '''
22247         Reserved for future use.
22248        '''
22249        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
22250        '''
22251         The created ProxyClusterKey.
22252        '''
22253        self.rate_limit = rate_limit if rate_limit is not None else None
22254        '''
22255         Rate limit information.
22256        '''
22257        self.secret_key = secret_key if secret_key is not None else ''
22258        '''
22259         The secret key component of this key. It must be saved upon creation
22260         because it will not be available for retrieval later.
22261        '''
22262
22263    def __repr__(self):
22264        return '<sdm.ProxyClusterKeyCreateResponse ' + \
22265            'meta: ' + repr(self.meta) + ' ' +\
22266            'proxy_cluster_key: ' + repr(self.proxy_cluster_key) + ' ' +\
22267            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22268            'secret_key: ' + repr(self.secret_key) + ' ' +\
22269            '>'
22270
22271    def to_dict(self):
22272        return {
22273            'meta': self.meta,
22274            'proxy_cluster_key': self.proxy_cluster_key,
22275            'rate_limit': self.rate_limit,
22276            'secret_key': self.secret_key,
22277        }
22278
22279    @classmethod
22280    def from_dict(cls, d):
22281        return cls(
22282            meta=d.get('meta'),
22283            proxy_cluster_key=d.get('proxy_cluster_key'),
22284            rate_limit=d.get('rate_limit'),
22285            secret_key=d.get('secret_key'),
22286        )
22287
22288
22289class ProxyClusterKeyDeleteResponse:
22290    '''
22291         ProxyClusterKeyDeleteResponse returns information about a ProxyClusterKey that was deleted.
22292    '''
22293    __slots__ = [
22294        'meta',
22295        'rate_limit',
22296    ]
22297
22298    def __init__(
22299        self,
22300        meta=None,
22301        rate_limit=None,
22302    ):
22303        self.meta = meta if meta is not None else None
22304        '''
22305         Reserved for future use.
22306        '''
22307        self.rate_limit = rate_limit if rate_limit is not None else None
22308        '''
22309         Rate limit information.
22310        '''
22311
22312    def __repr__(self):
22313        return '<sdm.ProxyClusterKeyDeleteResponse ' + \
22314            'meta: ' + repr(self.meta) + ' ' +\
22315            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22316            '>'
22317
22318    def to_dict(self):
22319        return {
22320            'meta': self.meta,
22321            'rate_limit': self.rate_limit,
22322        }
22323
22324    @classmethod
22325    def from_dict(cls, d):
22326        return cls(
22327            meta=d.get('meta'),
22328            rate_limit=d.get('rate_limit'),
22329        )
22330
22331
22332class ProxyClusterKeyGetResponse:
22333    '''
22334         ProxyClusterKeyGetResponse returns a requested ProxyClusterKey.
22335    '''
22336    __slots__ = [
22337        'meta',
22338        'proxy_cluster_key',
22339        'rate_limit',
22340    ]
22341
22342    def __init__(
22343        self,
22344        meta=None,
22345        proxy_cluster_key=None,
22346        rate_limit=None,
22347    ):
22348        self.meta = meta if meta is not None else None
22349        '''
22350         Reserved for future use.
22351        '''
22352        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
22353        '''
22354         The requested ProxyClusterKey.
22355        '''
22356        self.rate_limit = rate_limit if rate_limit is not None else None
22357        '''
22358         Rate limit information.
22359        '''
22360
22361    def __repr__(self):
22362        return '<sdm.ProxyClusterKeyGetResponse ' + \
22363            'meta: ' + repr(self.meta) + ' ' +\
22364            'proxy_cluster_key: ' + repr(self.proxy_cluster_key) + ' ' +\
22365            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22366            '>'
22367
22368    def to_dict(self):
22369        return {
22370            'meta': self.meta,
22371            'proxy_cluster_key': self.proxy_cluster_key,
22372            'rate_limit': self.rate_limit,
22373        }
22374
22375    @classmethod
22376    def from_dict(cls, d):
22377        return cls(
22378            meta=d.get('meta'),
22379            proxy_cluster_key=d.get('proxy_cluster_key'),
22380            rate_limit=d.get('rate_limit'),
22381        )
22382
22383
22384class Query:
22385    '''
22386         A Query is a record of a single client request to a resource, such as a SQL query.
22387     Longer-running queries including long-running SSH commands and SSH, RDP, or Kubernetes
22388     interactive sessions will return two Query records with the same identifier, one record
22389     at the start of the query and a second record upon the completion of the query with
22390     additional detail.
22391    '''
22392    __slots__ = [
22393        'account_email',
22394        'account_first_name',
22395        'account_id',
22396        'account_last_name',
22397        'account_tags',
22398        'authzjson',
22399        'capture',
22400        'client_ip',
22401        'completed_at',
22402        'duration',
22403        'egress_node_id',
22404        'encrypted',
22405        'id',
22406        'identity_alias_username',
22407        'metadata_json',
22408        'query_body',
22409        'query_category',
22410        'query_hash',
22411        'query_key',
22412        'record_count',
22413        'remote_identity_username',
22414        'replayable',
22415        'resource_id',
22416        'resource_name',
22417        'resource_tags',
22418        'resource_type',
22419        'source_ip',
22420        'target',
22421        'timestamp',
22422    ]
22423
22424    def __init__(
22425        self,
22426        account_email=None,
22427        account_first_name=None,
22428        account_id=None,
22429        account_last_name=None,
22430        account_tags=None,
22431        authzjson=None,
22432        capture=None,
22433        client_ip=None,
22434        completed_at=None,
22435        duration=None,
22436        egress_node_id=None,
22437        encrypted=None,
22438        id=None,
22439        identity_alias_username=None,
22440        metadata_json=None,
22441        query_body=None,
22442        query_category=None,
22443        query_hash=None,
22444        query_key=None,
22445        record_count=None,
22446        remote_identity_username=None,
22447        replayable=None,
22448        resource_id=None,
22449        resource_name=None,
22450        resource_tags=None,
22451        resource_type=None,
22452        source_ip=None,
22453        target=None,
22454        timestamp=None,
22455    ):
22456        self.account_email = account_email if account_email is not None else ''
22457        '''
22458         The email of the account performing this query, at the time the query was executed.
22459         If the account email is later changed, that change will not be reflected via this field.
22460        '''
22461        self.account_first_name = account_first_name if account_first_name is not None else ''
22462        '''
22463         The given name of the account performing this query, at the time the query was executed.
22464         If the account is later renamed, that change will not be reflected via this field.
22465        '''
22466        self.account_id = account_id if account_id is not None else ''
22467        '''
22468         Unique identifier of the Account that performed the Query.
22469        '''
22470        self.account_last_name = account_last_name if account_last_name is not None else ''
22471        '''
22472         The family name of the account performing this query, at the time the query was executed.
22473         If the account is later renamed, that change will not be reflected via this field.
22474        '''
22475        self.account_tags = account_tags if account_tags is not None else _porcelain_zero_value_tags(
22476        )
22477        '''
22478         The tags of the account accessed, at the time the query was executed. If the account
22479         tags are later changed, that change will not be reflected via this field.
22480        '''
22481        self.authzjson = authzjson if authzjson is not None else ''
22482        '''
22483         Authorization metadata associated with this query.
22484        '''
22485        self.capture = capture if capture is not None else None
22486        '''
22487         For queries against SSH, Kubernetes, and RDP resources, this contains additional information
22488         about the captured query.
22489        '''
22490        self.client_ip = client_ip if client_ip is not None else ''
22491        '''
22492         The IP address the Query was performed from, as detected at the StrongDM control plane.
22493        '''
22494        self.completed_at = completed_at if completed_at is not None else None
22495        '''
22496         The time at which the Query was completed.
22497         Empty if this record indicates the start of a long-running query.
22498        '''
22499        self.duration = duration if duration is not None else None
22500        '''
22501         The duration of the Query.
22502        '''
22503        self.egress_node_id = egress_node_id if egress_node_id is not None else ''
22504        '''
22505         The unique ID of the node through which the Resource was accessed.
22506        '''
22507        self.encrypted = encrypted if encrypted is not None else False
22508        '''
22509         Indicates that the body of the Query is encrypted.
22510        '''
22511        self.id = id if id is not None else ''
22512        '''
22513         Unique identifier of the Query.
22514        '''
22515        self.identity_alias_username = identity_alias_username if identity_alias_username is not None else ''
22516        '''
22517         The username of the IdentityAlias used to access the Resource.
22518        '''
22519        self.metadata_json = metadata_json if metadata_json is not None else ''
22520        '''
22521         Driver specific metadata associated with this query.
22522        '''
22523        self.query_body = query_body if query_body is not None else ''
22524        '''
22525         The captured content of the Query.
22526         For queries against SSH, Kubernetes, and RDP resources, this contains a JSON representation of the QueryCapture.
22527        '''
22528        self.query_category = query_category if query_category is not None else ''
22529        '''
22530         The general category of Resource against which Query was performed, e.g. "web" or "cloud".
22531        '''
22532        self.query_hash = query_hash if query_hash is not None else ''
22533        '''
22534         The hash of the body of the Query.
22535        '''
22536        self.query_key = query_key if query_key is not None else ''
22537        '''
22538         The symmetric key used to encrypt the body of this Query and its replay if replayable.
22539         If the Query is encrypted, this field contains an encrypted symmetric key in base64 encoding.
22540         This key must be decrypted with the organization's private key to obtain the symmetric key needed to decrypt the body.
22541         If the Query is not encrypted, this field is empty.
22542        '''
22543        self.record_count = record_count if record_count is not None else 0
22544        '''
22545         The number of records returned by the Query, for a database Resource.
22546        '''
22547        self.remote_identity_username = remote_identity_username if remote_identity_username is not None else ''
22548        '''
22549         The username of the RemoteIdentity used to access the Resource.
22550        '''
22551        self.replayable = replayable if replayable is not None else False
22552        '''
22553         Indicates that the Query is replayable, e.g. for some SSH or K8s sessions.
22554        '''
22555        self.resource_id = resource_id if resource_id is not None else ''
22556        '''
22557         Unique identifier of the Resource against which the Query was performed.
22558        '''
22559        self.resource_name = resource_name if resource_name is not None else ''
22560        '''
22561         The name of the resource accessed, at the time the query was executed. If the resource
22562         is later renamed, that change will not be reflected via this field.
22563        '''
22564        self.resource_tags = resource_tags if resource_tags is not None else _porcelain_zero_value_tags(
22565        )
22566        '''
22567         The tags of the resource accessed, at the time the query was executed. If the resource
22568         tags are later changed, that change will not be reflected via this field.
22569        '''
22570        self.resource_type = resource_type if resource_type is not None else ''
22571        '''
22572         The specific type of Resource against which the Query was performed, e.g. "ssh" or "postgres".
22573        '''
22574        self.source_ip = source_ip if source_ip is not None else ''
22575        '''
22576         The IP address the Query was performed from, as detected at the ingress gateway.
22577        '''
22578        self.target = target if target is not None else ''
22579        '''
22580         The target destination of the query, in host:port format.
22581        '''
22582        self.timestamp = timestamp if timestamp is not None else None
22583        '''
22584         The time at which the Query was started.
22585        '''
22586
22587    def __repr__(self):
22588        return '<sdm.Query ' + \
22589            'account_email: ' + repr(self.account_email) + ' ' +\
22590            'account_first_name: ' + repr(self.account_first_name) + ' ' +\
22591            'account_id: ' + repr(self.account_id) + ' ' +\
22592            'account_last_name: ' + repr(self.account_last_name) + ' ' +\
22593            'account_tags: ' + repr(self.account_tags) + ' ' +\
22594            'authzjson: ' + repr(self.authzjson) + ' ' +\
22595            'capture: ' + repr(self.capture) + ' ' +\
22596            'client_ip: ' + repr(self.client_ip) + ' ' +\
22597            'completed_at: ' + repr(self.completed_at) + ' ' +\
22598            'duration: ' + repr(self.duration) + ' ' +\
22599            'egress_node_id: ' + repr(self.egress_node_id) + ' ' +\
22600            'encrypted: ' + repr(self.encrypted) + ' ' +\
22601            'id: ' + repr(self.id) + ' ' +\
22602            'identity_alias_username: ' + repr(self.identity_alias_username) + ' ' +\
22603            'metadata_json: ' + repr(self.metadata_json) + ' ' +\
22604            'query_body: ' + repr(self.query_body) + ' ' +\
22605            'query_category: ' + repr(self.query_category) + ' ' +\
22606            'query_hash: ' + repr(self.query_hash) + ' ' +\
22607            'query_key: ' + repr(self.query_key) + ' ' +\
22608            'record_count: ' + repr(self.record_count) + ' ' +\
22609            'remote_identity_username: ' + repr(self.remote_identity_username) + ' ' +\
22610            'replayable: ' + repr(self.replayable) + ' ' +\
22611            'resource_id: ' + repr(self.resource_id) + ' ' +\
22612            'resource_name: ' + repr(self.resource_name) + ' ' +\
22613            'resource_tags: ' + repr(self.resource_tags) + ' ' +\
22614            'resource_type: ' + repr(self.resource_type) + ' ' +\
22615            'source_ip: ' + repr(self.source_ip) + ' ' +\
22616            'target: ' + repr(self.target) + ' ' +\
22617            'timestamp: ' + repr(self.timestamp) + ' ' +\
22618            '>'
22619
22620    def to_dict(self):
22621        return {
22622            'account_email': self.account_email,
22623            'account_first_name': self.account_first_name,
22624            'account_id': self.account_id,
22625            'account_last_name': self.account_last_name,
22626            'account_tags': self.account_tags,
22627            'authzjson': self.authzjson,
22628            'capture': self.capture,
22629            'client_ip': self.client_ip,
22630            'completed_at': self.completed_at,
22631            'duration': self.duration,
22632            'egress_node_id': self.egress_node_id,
22633            'encrypted': self.encrypted,
22634            'id': self.id,
22635            'identity_alias_username': self.identity_alias_username,
22636            'metadata_json': self.metadata_json,
22637            'query_body': self.query_body,
22638            'query_category': self.query_category,
22639            'query_hash': self.query_hash,
22640            'query_key': self.query_key,
22641            'record_count': self.record_count,
22642            'remote_identity_username': self.remote_identity_username,
22643            'replayable': self.replayable,
22644            'resource_id': self.resource_id,
22645            'resource_name': self.resource_name,
22646            'resource_tags': self.resource_tags,
22647            'resource_type': self.resource_type,
22648            'source_ip': self.source_ip,
22649            'target': self.target,
22650            'timestamp': self.timestamp,
22651        }
22652
22653    @classmethod
22654    def from_dict(cls, d):
22655        return cls(
22656            account_email=d.get('account_email'),
22657            account_first_name=d.get('account_first_name'),
22658            account_id=d.get('account_id'),
22659            account_last_name=d.get('account_last_name'),
22660            account_tags=d.get('account_tags'),
22661            authzjson=d.get('authzjson'),
22662            capture=d.get('capture'),
22663            client_ip=d.get('client_ip'),
22664            completed_at=d.get('completed_at'),
22665            duration=d.get('duration'),
22666            egress_node_id=d.get('egress_node_id'),
22667            encrypted=d.get('encrypted'),
22668            id=d.get('id'),
22669            identity_alias_username=d.get('identity_alias_username'),
22670            metadata_json=d.get('metadata_json'),
22671            query_body=d.get('query_body'),
22672            query_category=d.get('query_category'),
22673            query_hash=d.get('query_hash'),
22674            query_key=d.get('query_key'),
22675            record_count=d.get('record_count'),
22676            remote_identity_username=d.get('remote_identity_username'),
22677            replayable=d.get('replayable'),
22678            resource_id=d.get('resource_id'),
22679            resource_name=d.get('resource_name'),
22680            resource_tags=d.get('resource_tags'),
22681            resource_type=d.get('resource_type'),
22682            source_ip=d.get('source_ip'),
22683            target=d.get('target'),
22684            timestamp=d.get('timestamp'),
22685        )
22686
22687
22688class QueryCapture:
22689    '''
22690         A QueryCapture contains additional information about queries against SSH, Kubernetes, and RDP resources.
22691    '''
22692    __slots__ = [
22693        'client_command',
22694        'command',
22695        'container',
22696        'env',
22697        'file_name',
22698        'file_size',
22699        'height',
22700        'impersonation_groups',
22701        'impersonation_user',
22702        'pod',
22703        'privilege_groups',
22704        'request_body',
22705        'request_method',
22706        'request_uri',
22707        'type',
22708        'width',
22709    ]
22710
22711    def __init__(
22712        self,
22713        client_command=None,
22714        command=None,
22715        container=None,
22716        env=None,
22717        file_name=None,
22718        file_size=None,
22719        height=None,
22720        impersonation_groups=None,
22721        impersonation_user=None,
22722        pod=None,
22723        privilege_groups=None,
22724        request_body=None,
22725        request_method=None,
22726        request_uri=None,
22727        type=None,
22728        width=None,
22729    ):
22730        self.client_command = client_command if client_command is not None else ''
22731        '''
22732         The command executed on the client for a Kubernetes session.
22733        '''
22734        self.command = command if command is not None else ''
22735        '''
22736         The command executed over an SSH or Kubernetes session.
22737        '''
22738        self.container = container if container is not None else ''
22739        '''
22740         The target container of a Kubernetes operation.
22741        '''
22742        self.env = env if env is not None else {}
22743        '''
22744         The environment variables for an SSH or Kubernetes session.
22745        '''
22746        self.file_name = file_name if file_name is not None else ''
22747        '''
22748         The remote file name of an SCP operation.
22749        '''
22750        self.file_size = file_size if file_size is not None else 0
22751        '''
22752         The file size transferred for an SCP operation.
22753        '''
22754        self.height = height if height is not None else 0
22755        '''
22756         The height of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
22757        '''
22758        self.impersonation_groups = impersonation_groups if impersonation_groups is not None else []
22759        '''
22760         The impersonation groups of a Kubernetes operation.
22761        '''
22762        self.impersonation_user = impersonation_user if impersonation_user is not None else ''
22763        '''
22764         The impersonation user of a Kubernetes operation.
22765        '''
22766        self.pod = pod if pod is not None else ''
22767        '''
22768         The target pod of a Kubernetes operation.
22769        '''
22770        self.privilege_groups = privilege_groups if privilege_groups is not None else []
22771        '''
22772         The additional impersonation groups, as granted by privilege levels, of a Kubernetes operation.
22773        '''
22774        self.request_body = request_body if request_body is not None else b''
22775        '''
22776         The HTTP request body of a Kubernetes operation.
22777        '''
22778        self.request_method = request_method if request_method is not None else ''
22779        '''
22780         The HTTP request method of a Kubernetes operation.
22781        '''
22782        self.request_uri = request_uri if request_uri is not None else ''
22783        '''
22784         The HTTP request URI of a Kubernetes operation.
22785        '''
22786        self.type = type if type is not None else ''
22787        '''
22788         The CaptureType of this query capture, one of the CaptureType constants.
22789        '''
22790        self.width = width if width is not None else 0
22791        '''
22792         The width of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
22793        '''
22794
22795    def __repr__(self):
22796        return '<sdm.QueryCapture ' + \
22797            'client_command: ' + repr(self.client_command) + ' ' +\
22798            'command: ' + repr(self.command) + ' ' +\
22799            'container: ' + repr(self.container) + ' ' +\
22800            'env: ' + repr(self.env) + ' ' +\
22801            'file_name: ' + repr(self.file_name) + ' ' +\
22802            'file_size: ' + repr(self.file_size) + ' ' +\
22803            'height: ' + repr(self.height) + ' ' +\
22804            'impersonation_groups: ' + repr(self.impersonation_groups) + ' ' +\
22805            'impersonation_user: ' + repr(self.impersonation_user) + ' ' +\
22806            'pod: ' + repr(self.pod) + ' ' +\
22807            'privilege_groups: ' + repr(self.privilege_groups) + ' ' +\
22808            'request_body: ' + repr(self.request_body) + ' ' +\
22809            'request_method: ' + repr(self.request_method) + ' ' +\
22810            'request_uri: ' + repr(self.request_uri) + ' ' +\
22811            'type: ' + repr(self.type) + ' ' +\
22812            'width: ' + repr(self.width) + ' ' +\
22813            '>'
22814
22815    def to_dict(self):
22816        return {
22817            'client_command': self.client_command,
22818            'command': self.command,
22819            'container': self.container,
22820            'env': self.env,
22821            'file_name': self.file_name,
22822            'file_size': self.file_size,
22823            'height': self.height,
22824            'impersonation_groups': self.impersonation_groups,
22825            'impersonation_user': self.impersonation_user,
22826            'pod': self.pod,
22827            'privilege_groups': self.privilege_groups,
22828            'request_body': self.request_body,
22829            'request_method': self.request_method,
22830            'request_uri': self.request_uri,
22831            'type': self.type,
22832            'width': self.width,
22833        }
22834
22835    @classmethod
22836    def from_dict(cls, d):
22837        return cls(
22838            client_command=d.get('client_command'),
22839            command=d.get('command'),
22840            container=d.get('container'),
22841            env=d.get('env'),
22842            file_name=d.get('file_name'),
22843            file_size=d.get('file_size'),
22844            height=d.get('height'),
22845            impersonation_groups=d.get('impersonation_groups'),
22846            impersonation_user=d.get('impersonation_user'),
22847            pod=d.get('pod'),
22848            privilege_groups=d.get('privilege_groups'),
22849            request_body=d.get('request_body'),
22850            request_method=d.get('request_method'),
22851            request_uri=d.get('request_uri'),
22852            type=d.get('type'),
22853            width=d.get('width'),
22854        )
22855
22856
22857class RDP:
22858    __slots__ = [
22859        'bind_interface',
22860        'downgrade_nla_connections',
22861        'egress_filter',
22862        'healthy',
22863        'hostname',
22864        'id',
22865        'lock_required',
22866        'name',
22867        'password',
22868        'port',
22869        'port_override',
22870        'proxy_cluster_id',
22871        'secret_store_id',
22872        'subdomain',
22873        'tags',
22874        'username',
22875    ]
22876
22877    def __init__(
22878        self,
22879        bind_interface=None,
22880        downgrade_nla_connections=None,
22881        egress_filter=None,
22882        healthy=None,
22883        hostname=None,
22884        id=None,
22885        lock_required=None,
22886        name=None,
22887        password=None,
22888        port=None,
22889        port_override=None,
22890        proxy_cluster_id=None,
22891        secret_store_id=None,
22892        subdomain=None,
22893        tags=None,
22894        username=None,
22895    ):
22896        self.bind_interface = bind_interface if bind_interface is not None else ''
22897        '''
22898         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
22899        '''
22900        self.downgrade_nla_connections = downgrade_nla_connections if downgrade_nla_connections is not None else False
22901        '''
22902         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.
22903        '''
22904        self.egress_filter = egress_filter if egress_filter is not None else ''
22905        '''
22906         A filter applied to the routing logic to pin datasource to nodes.
22907        '''
22908        self.healthy = healthy if healthy is not None else False
22909        '''
22910         True if the datasource is reachable and the credentials are valid.
22911        '''
22912        self.hostname = hostname if hostname is not None else ''
22913        '''
22914         The host to dial to initiate a connection from the egress node to this resource.
22915        '''
22916        self.id = id if id is not None else ''
22917        '''
22918         Unique identifier of the Resource.
22919        '''
22920        self.lock_required = lock_required if lock_required is not None else False
22921        '''
22922         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
22923        '''
22924        self.name = name if name is not None else ''
22925        '''
22926         Unique human-readable name of the Resource.
22927        '''
22928        self.password = password if password is not None else ''
22929        '''
22930         The password to authenticate with.
22931        '''
22932        self.port = port if port is not None else 0
22933        '''
22934         The port to dial to initiate a connection from the egress node to this resource.
22935        '''
22936        self.port_override = port_override if port_override is not None else 0
22937        '''
22938         The local port used by clients to connect to this resource.
22939        '''
22940        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22941        '''
22942         ID of the proxy cluster for this resource, if any.
22943        '''
22944        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22945        '''
22946         ID of the secret store containing credentials for this resource, if any.
22947        '''
22948        self.subdomain = subdomain if subdomain is not None else ''
22949        '''
22950         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
22951        '''
22952        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22953        '''
22954         Tags is a map of key, value pairs.
22955        '''
22956        self.username = username if username is not None else ''
22957        '''
22958         The username to authenticate with.
22959        '''
22960
22961    def __repr__(self):
22962        return '<sdm.RDP ' + \
22963            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
22964            'downgrade_nla_connections: ' + repr(self.downgrade_nla_connections) + ' ' +\
22965            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
22966            'healthy: ' + repr(self.healthy) + ' ' +\
22967            'hostname: ' + repr(self.hostname) + ' ' +\
22968            'id: ' + repr(self.id) + ' ' +\
22969            'lock_required: ' + repr(self.lock_required) + ' ' +\
22970            'name: ' + repr(self.name) + ' ' +\
22971            'password: ' + repr(self.password) + ' ' +\
22972            'port: ' + repr(self.port) + ' ' +\
22973            'port_override: ' + repr(self.port_override) + ' ' +\
22974            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
22975            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
22976            'subdomain: ' + repr(self.subdomain) + ' ' +\
22977            'tags: ' + repr(self.tags) + ' ' +\
22978            'username: ' + repr(self.username) + ' ' +\
22979            '>'
22980
22981    def to_dict(self):
22982        return {
22983            'bind_interface': self.bind_interface,
22984            'downgrade_nla_connections': self.downgrade_nla_connections,
22985            'egress_filter': self.egress_filter,
22986            'healthy': self.healthy,
22987            'hostname': self.hostname,
22988            'id': self.id,
22989            'lock_required': self.lock_required,
22990            'name': self.name,
22991            'password': self.password,
22992            'port': self.port,
22993            'port_override': self.port_override,
22994            'proxy_cluster_id': self.proxy_cluster_id,
22995            'secret_store_id': self.secret_store_id,
22996            'subdomain': self.subdomain,
22997            'tags': self.tags,
22998            'username': self.username,
22999        }
23000
23001    @classmethod
23002    def from_dict(cls, d):
23003        return cls(
23004            bind_interface=d.get('bind_interface'),
23005            downgrade_nla_connections=d.get('downgrade_nla_connections'),
23006            egress_filter=d.get('egress_filter'),
23007            healthy=d.get('healthy'),
23008            hostname=d.get('hostname'),
23009            id=d.get('id'),
23010            lock_required=d.get('lock_required'),
23011            name=d.get('name'),
23012            password=d.get('password'),
23013            port=d.get('port'),
23014            port_override=d.get('port_override'),
23015            proxy_cluster_id=d.get('proxy_cluster_id'),
23016            secret_store_id=d.get('secret_store_id'),
23017            subdomain=d.get('subdomain'),
23018            tags=d.get('tags'),
23019            username=d.get('username'),
23020        )
23021
23022
23023class RDPCert:
23024    __slots__ = [
23025        'bind_interface',
23026        'egress_filter',
23027        'healthy',
23028        'hostname',
23029        'id',
23030        'identity_alias_healthcheck_username',
23031        'identity_set_id',
23032        'lock_required',
23033        'name',
23034        'port',
23035        'port_override',
23036        'proxy_cluster_id',
23037        'secret_store_id',
23038        'subdomain',
23039        'tags',
23040        'username',
23041    ]
23042
23043    def __init__(
23044        self,
23045        bind_interface=None,
23046        egress_filter=None,
23047        healthy=None,
23048        hostname=None,
23049        id=None,
23050        identity_alias_healthcheck_username=None,
23051        identity_set_id=None,
23052        lock_required=None,
23053        name=None,
23054        port=None,
23055        port_override=None,
23056        proxy_cluster_id=None,
23057        secret_store_id=None,
23058        subdomain=None,
23059        tags=None,
23060        username=None,
23061    ):
23062        self.bind_interface = bind_interface if bind_interface is not None else ''
23063        '''
23064         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23065        '''
23066        self.egress_filter = egress_filter if egress_filter is not None else ''
23067        '''
23068         A filter applied to the routing logic to pin datasource to nodes.
23069        '''
23070        self.healthy = healthy if healthy is not None else False
23071        '''
23072         True if the datasource is reachable and the credentials are valid.
23073        '''
23074        self.hostname = hostname if hostname is not None else ''
23075        '''
23076         The host to dial to initiate a connection from the egress node to this resource.
23077        '''
23078        self.id = id if id is not None else ''
23079        '''
23080         Unique identifier of the Resource.
23081        '''
23082        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
23083        '''
23084         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
23085        '''
23086        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
23087        '''
23088         The ID of the identity set to use for identity connections.
23089        '''
23090        self.lock_required = lock_required if lock_required is not None else False
23091        '''
23092         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
23093        '''
23094        self.name = name if name is not None else ''
23095        '''
23096         Unique human-readable name of the Resource.
23097        '''
23098        self.port = port if port is not None else 0
23099        '''
23100         The port to dial to initiate a connection from the egress node to this resource.
23101        '''
23102        self.port_override = port_override if port_override is not None else 0
23103        '''
23104         The local port used by clients to connect to this resource.
23105        '''
23106        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23107        '''
23108         ID of the proxy cluster for this resource, if any.
23109        '''
23110        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23111        '''
23112         ID of the secret store containing credentials for this resource, if any.
23113        '''
23114        self.subdomain = subdomain if subdomain is not None else ''
23115        '''
23116         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23117        '''
23118        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23119        '''
23120         Tags is a map of key, value pairs.
23121        '''
23122        self.username = username if username is not None else ''
23123        '''
23124         The username to authenticate with.
23125        '''
23126
23127    def __repr__(self):
23128        return '<sdm.RDPCert ' + \
23129            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23130            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23131            'healthy: ' + repr(self.healthy) + ' ' +\
23132            'hostname: ' + repr(self.hostname) + ' ' +\
23133            'id: ' + repr(self.id) + ' ' +\
23134            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
23135            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
23136            'lock_required: ' + repr(self.lock_required) + ' ' +\
23137            'name: ' + repr(self.name) + ' ' +\
23138            'port: ' + repr(self.port) + ' ' +\
23139            'port_override: ' + repr(self.port_override) + ' ' +\
23140            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23141            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23142            'subdomain: ' + repr(self.subdomain) + ' ' +\
23143            'tags: ' + repr(self.tags) + ' ' +\
23144            'username: ' + repr(self.username) + ' ' +\
23145            '>'
23146
23147    def to_dict(self):
23148        return {
23149            'bind_interface': self.bind_interface,
23150            'egress_filter': self.egress_filter,
23151            'healthy': self.healthy,
23152            'hostname': self.hostname,
23153            'id': self.id,
23154            'identity_alias_healthcheck_username':
23155            self.identity_alias_healthcheck_username,
23156            'identity_set_id': self.identity_set_id,
23157            'lock_required': self.lock_required,
23158            'name': self.name,
23159            'port': self.port,
23160            'port_override': self.port_override,
23161            'proxy_cluster_id': self.proxy_cluster_id,
23162            'secret_store_id': self.secret_store_id,
23163            'subdomain': self.subdomain,
23164            'tags': self.tags,
23165            'username': self.username,
23166        }
23167
23168    @classmethod
23169    def from_dict(cls, d):
23170        return cls(
23171            bind_interface=d.get('bind_interface'),
23172            egress_filter=d.get('egress_filter'),
23173            healthy=d.get('healthy'),
23174            hostname=d.get('hostname'),
23175            id=d.get('id'),
23176            identity_alias_healthcheck_username=d.get(
23177                'identity_alias_healthcheck_username'),
23178            identity_set_id=d.get('identity_set_id'),
23179            lock_required=d.get('lock_required'),
23180            name=d.get('name'),
23181            port=d.get('port'),
23182            port_override=d.get('port_override'),
23183            proxy_cluster_id=d.get('proxy_cluster_id'),
23184            secret_store_id=d.get('secret_store_id'),
23185            subdomain=d.get('subdomain'),
23186            tags=d.get('tags'),
23187            username=d.get('username'),
23188        )
23189
23190
23191class RDSPostgresIAM:
23192    __slots__ = [
23193        'bind_interface',
23194        'database',
23195        'egress_filter',
23196        'healthy',
23197        'hostname',
23198        'id',
23199        'name',
23200        'override_database',
23201        'port',
23202        'port_override',
23203        'proxy_cluster_id',
23204        'region',
23205        'role_assumption_arn',
23206        'secret_store_id',
23207        'subdomain',
23208        'tags',
23209        'username',
23210    ]
23211
23212    def __init__(
23213        self,
23214        bind_interface=None,
23215        database=None,
23216        egress_filter=None,
23217        healthy=None,
23218        hostname=None,
23219        id=None,
23220        name=None,
23221        override_database=None,
23222        port=None,
23223        port_override=None,
23224        proxy_cluster_id=None,
23225        region=None,
23226        role_assumption_arn=None,
23227        secret_store_id=None,
23228        subdomain=None,
23229        tags=None,
23230        username=None,
23231    ):
23232        self.bind_interface = bind_interface if bind_interface is not None else ''
23233        '''
23234         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23235        '''
23236        self.database = database if database is not None else ''
23237        '''
23238         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
23239        '''
23240        self.egress_filter = egress_filter if egress_filter is not None else ''
23241        '''
23242         A filter applied to the routing logic to pin datasource to nodes.
23243        '''
23244        self.healthy = healthy if healthy is not None else False
23245        '''
23246         True if the datasource is reachable and the credentials are valid.
23247        '''
23248        self.hostname = hostname if hostname is not None else ''
23249        '''
23250         The host to dial to initiate a connection from the egress node to this resource.
23251        '''
23252        self.id = id if id is not None else ''
23253        '''
23254         Unique identifier of the Resource.
23255        '''
23256        self.name = name if name is not None else ''
23257        '''
23258         Unique human-readable name of the Resource.
23259        '''
23260        self.override_database = override_database if override_database is not None else False
23261        '''
23262         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
23263        '''
23264        self.port = port if port is not None else 0
23265        '''
23266         The port to dial to initiate a connection from the egress node to this resource.
23267        '''
23268        self.port_override = port_override if port_override is not None else 0
23269        '''
23270         The local port used by clients to connect to this resource.
23271        '''
23272        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23273        '''
23274         ID of the proxy cluster for this resource, if any.
23275        '''
23276        self.region = region if region is not None else ''
23277        '''
23278         The AWS region to connect to.
23279        '''
23280        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
23281        '''
23282         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
23283        '''
23284        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23285        '''
23286         ID of the secret store containing credentials for this resource, if any.
23287        '''
23288        self.subdomain = subdomain if subdomain is not None else ''
23289        '''
23290         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23291        '''
23292        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23293        '''
23294         Tags is a map of key, value pairs.
23295        '''
23296        self.username = username if username is not None else ''
23297        '''
23298         The username to authenticate with.
23299        '''
23300
23301    def __repr__(self):
23302        return '<sdm.RDSPostgresIAM ' + \
23303            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23304            'database: ' + repr(self.database) + ' ' +\
23305            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23306            'healthy: ' + repr(self.healthy) + ' ' +\
23307            'hostname: ' + repr(self.hostname) + ' ' +\
23308            'id: ' + repr(self.id) + ' ' +\
23309            'name: ' + repr(self.name) + ' ' +\
23310            'override_database: ' + repr(self.override_database) + ' ' +\
23311            'port: ' + repr(self.port) + ' ' +\
23312            'port_override: ' + repr(self.port_override) + ' ' +\
23313            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23314            'region: ' + repr(self.region) + ' ' +\
23315            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
23316            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23317            'subdomain: ' + repr(self.subdomain) + ' ' +\
23318            'tags: ' + repr(self.tags) + ' ' +\
23319            'username: ' + repr(self.username) + ' ' +\
23320            '>'
23321
23322    def to_dict(self):
23323        return {
23324            'bind_interface': self.bind_interface,
23325            'database': self.database,
23326            'egress_filter': self.egress_filter,
23327            'healthy': self.healthy,
23328            'hostname': self.hostname,
23329            'id': self.id,
23330            'name': self.name,
23331            'override_database': self.override_database,
23332            'port': self.port,
23333            'port_override': self.port_override,
23334            'proxy_cluster_id': self.proxy_cluster_id,
23335            'region': self.region,
23336            'role_assumption_arn': self.role_assumption_arn,
23337            'secret_store_id': self.secret_store_id,
23338            'subdomain': self.subdomain,
23339            'tags': self.tags,
23340            'username': self.username,
23341        }
23342
23343    @classmethod
23344    def from_dict(cls, d):
23345        return cls(
23346            bind_interface=d.get('bind_interface'),
23347            database=d.get('database'),
23348            egress_filter=d.get('egress_filter'),
23349            healthy=d.get('healthy'),
23350            hostname=d.get('hostname'),
23351            id=d.get('id'),
23352            name=d.get('name'),
23353            override_database=d.get('override_database'),
23354            port=d.get('port'),
23355            port_override=d.get('port_override'),
23356            proxy_cluster_id=d.get('proxy_cluster_id'),
23357            region=d.get('region'),
23358            role_assumption_arn=d.get('role_assumption_arn'),
23359            secret_store_id=d.get('secret_store_id'),
23360            subdomain=d.get('subdomain'),
23361            tags=d.get('tags'),
23362            username=d.get('username'),
23363        )
23364
23365
23366class RabbitMQAMQP091:
23367    __slots__ = [
23368        'bind_interface',
23369        'egress_filter',
23370        'healthy',
23371        'hostname',
23372        'id',
23373        'name',
23374        'password',
23375        'port',
23376        'port_override',
23377        'proxy_cluster_id',
23378        'secret_store_id',
23379        'subdomain',
23380        'tags',
23381        'tls_required',
23382        'username',
23383    ]
23384
23385    def __init__(
23386        self,
23387        bind_interface=None,
23388        egress_filter=None,
23389        healthy=None,
23390        hostname=None,
23391        id=None,
23392        name=None,
23393        password=None,
23394        port=None,
23395        port_override=None,
23396        proxy_cluster_id=None,
23397        secret_store_id=None,
23398        subdomain=None,
23399        tags=None,
23400        tls_required=None,
23401        username=None,
23402    ):
23403        self.bind_interface = bind_interface if bind_interface is not None else ''
23404        '''
23405         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23406        '''
23407        self.egress_filter = egress_filter if egress_filter is not None else ''
23408        '''
23409         A filter applied to the routing logic to pin datasource to nodes.
23410        '''
23411        self.healthy = healthy if healthy is not None else False
23412        '''
23413         True if the datasource is reachable and the credentials are valid.
23414        '''
23415        self.hostname = hostname if hostname is not None else ''
23416        '''
23417         The host to dial to initiate a connection from the egress node to this resource.
23418        '''
23419        self.id = id if id is not None else ''
23420        '''
23421         Unique identifier of the Resource.
23422        '''
23423        self.name = name if name is not None else ''
23424        '''
23425         Unique human-readable name of the Resource.
23426        '''
23427        self.password = password if password is not None else ''
23428        '''
23429         The password to authenticate with.
23430        '''
23431        self.port = port if port is not None else 0
23432        '''
23433         The port to dial to initiate a connection from the egress node to this resource.
23434        '''
23435        self.port_override = port_override if port_override is not None else 0
23436        '''
23437         The local port used by clients to connect to this resource.
23438        '''
23439        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23440        '''
23441         ID of the proxy cluster for this resource, if any.
23442        '''
23443        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23444        '''
23445         ID of the secret store containing credentials for this resource, if any.
23446        '''
23447        self.subdomain = subdomain if subdomain is not None else ''
23448        '''
23449         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23450        '''
23451        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23452        '''
23453         Tags is a map of key, value pairs.
23454        '''
23455        self.tls_required = tls_required if tls_required is not None else False
23456        '''
23457         If set, TLS must be used to connect to this resource.
23458        '''
23459        self.username = username if username is not None else ''
23460        '''
23461         The username to authenticate with.
23462        '''
23463
23464    def __repr__(self):
23465        return '<sdm.RabbitMQAMQP091 ' + \
23466            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23467            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23468            'healthy: ' + repr(self.healthy) + ' ' +\
23469            'hostname: ' + repr(self.hostname) + ' ' +\
23470            'id: ' + repr(self.id) + ' ' +\
23471            'name: ' + repr(self.name) + ' ' +\
23472            'password: ' + repr(self.password) + ' ' +\
23473            'port: ' + repr(self.port) + ' ' +\
23474            'port_override: ' + repr(self.port_override) + ' ' +\
23475            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23476            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23477            'subdomain: ' + repr(self.subdomain) + ' ' +\
23478            'tags: ' + repr(self.tags) + ' ' +\
23479            'tls_required: ' + repr(self.tls_required) + ' ' +\
23480            'username: ' + repr(self.username) + ' ' +\
23481            '>'
23482
23483    def to_dict(self):
23484        return {
23485            'bind_interface': self.bind_interface,
23486            'egress_filter': self.egress_filter,
23487            'healthy': self.healthy,
23488            'hostname': self.hostname,
23489            'id': self.id,
23490            'name': self.name,
23491            'password': self.password,
23492            'port': self.port,
23493            'port_override': self.port_override,
23494            'proxy_cluster_id': self.proxy_cluster_id,
23495            'secret_store_id': self.secret_store_id,
23496            'subdomain': self.subdomain,
23497            'tags': self.tags,
23498            'tls_required': self.tls_required,
23499            'username': self.username,
23500        }
23501
23502    @classmethod
23503    def from_dict(cls, d):
23504        return cls(
23505            bind_interface=d.get('bind_interface'),
23506            egress_filter=d.get('egress_filter'),
23507            healthy=d.get('healthy'),
23508            hostname=d.get('hostname'),
23509            id=d.get('id'),
23510            name=d.get('name'),
23511            password=d.get('password'),
23512            port=d.get('port'),
23513            port_override=d.get('port_override'),
23514            proxy_cluster_id=d.get('proxy_cluster_id'),
23515            secret_store_id=d.get('secret_store_id'),
23516            subdomain=d.get('subdomain'),
23517            tags=d.get('tags'),
23518            tls_required=d.get('tls_required'),
23519            username=d.get('username'),
23520        )
23521
23522
23523class RateLimitMetadata:
23524    '''
23525         RateLimitMetadata contains information about remaining requests avaialable
23526     to the user over some timeframe.
23527    '''
23528    __slots__ = [
23529        'bucket',
23530        'limit',
23531        'remaining',
23532        'reset_at',
23533    ]
23534
23535    def __init__(
23536        self,
23537        bucket=None,
23538        limit=None,
23539        remaining=None,
23540        reset_at=None,
23541    ):
23542        self.bucket = bucket if bucket is not None else ''
23543        '''
23544         The bucket this user/token is associated with, which may be shared between
23545         multiple users/tokens.
23546        '''
23547        self.limit = limit if limit is not None else 0
23548        '''
23549         How many total requests the user/token is authorized to make before being
23550         rate limited.
23551        '''
23552        self.remaining = remaining if remaining is not None else 0
23553        '''
23554         How many remaining requests out of the limit are still avaialable.
23555        '''
23556        self.reset_at = reset_at if reset_at is not None else None
23557        '''
23558         The time when remaining will be reset to limit.
23559        '''
23560
23561    def __repr__(self):
23562        return '<sdm.RateLimitMetadata ' + \
23563            'bucket: ' + repr(self.bucket) + ' ' +\
23564            'limit: ' + repr(self.limit) + ' ' +\
23565            'remaining: ' + repr(self.remaining) + ' ' +\
23566            'reset_at: ' + repr(self.reset_at) + ' ' +\
23567            '>'
23568
23569    def to_dict(self):
23570        return {
23571            'bucket': self.bucket,
23572            'limit': self.limit,
23573            'remaining': self.remaining,
23574            'reset_at': self.reset_at,
23575        }
23576
23577    @classmethod
23578    def from_dict(cls, d):
23579        return cls(
23580            bucket=d.get('bucket'),
23581            limit=d.get('limit'),
23582            remaining=d.get('remaining'),
23583            reset_at=d.get('reset_at'),
23584        )
23585
23586
23587class RawTCP:
23588    __slots__ = [
23589        'bind_interface',
23590        'egress_filter',
23591        'healthy',
23592        'hostname',
23593        'id',
23594        'name',
23595        'port',
23596        'port_override',
23597        'proxy_cluster_id',
23598        'secret_store_id',
23599        'subdomain',
23600        'tags',
23601    ]
23602
23603    def __init__(
23604        self,
23605        bind_interface=None,
23606        egress_filter=None,
23607        healthy=None,
23608        hostname=None,
23609        id=None,
23610        name=None,
23611        port=None,
23612        port_override=None,
23613        proxy_cluster_id=None,
23614        secret_store_id=None,
23615        subdomain=None,
23616        tags=None,
23617    ):
23618        self.bind_interface = bind_interface if bind_interface is not None else ''
23619        '''
23620         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23621        '''
23622        self.egress_filter = egress_filter if egress_filter is not None else ''
23623        '''
23624         A filter applied to the routing logic to pin datasource to nodes.
23625        '''
23626        self.healthy = healthy if healthy is not None else False
23627        '''
23628         True if the datasource is reachable and the credentials are valid.
23629        '''
23630        self.hostname = hostname if hostname is not None else ''
23631        '''
23632         The host to dial to initiate a connection from the egress node to this resource.
23633        '''
23634        self.id = id if id is not None else ''
23635        '''
23636         Unique identifier of the Resource.
23637        '''
23638        self.name = name if name is not None else ''
23639        '''
23640         Unique human-readable name of the Resource.
23641        '''
23642        self.port = port if port is not None else 0
23643        '''
23644         The port to dial to initiate a connection from the egress node to this resource.
23645        '''
23646        self.port_override = port_override if port_override is not None else 0
23647        '''
23648         The local port used by clients to connect to this resource.
23649        '''
23650        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23651        '''
23652         ID of the proxy cluster for this resource, if any.
23653        '''
23654        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23655        '''
23656         ID of the secret store containing credentials for this resource, if any.
23657        '''
23658        self.subdomain = subdomain if subdomain is not None else ''
23659        '''
23660         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23661        '''
23662        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23663        '''
23664         Tags is a map of key, value pairs.
23665        '''
23666
23667    def __repr__(self):
23668        return '<sdm.RawTCP ' + \
23669            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23670            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23671            'healthy: ' + repr(self.healthy) + ' ' +\
23672            'hostname: ' + repr(self.hostname) + ' ' +\
23673            'id: ' + repr(self.id) + ' ' +\
23674            'name: ' + repr(self.name) + ' ' +\
23675            'port: ' + repr(self.port) + ' ' +\
23676            'port_override: ' + repr(self.port_override) + ' ' +\
23677            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23678            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23679            'subdomain: ' + repr(self.subdomain) + ' ' +\
23680            'tags: ' + repr(self.tags) + ' ' +\
23681            '>'
23682
23683    def to_dict(self):
23684        return {
23685            'bind_interface': self.bind_interface,
23686            'egress_filter': self.egress_filter,
23687            'healthy': self.healthy,
23688            'hostname': self.hostname,
23689            'id': self.id,
23690            'name': self.name,
23691            'port': self.port,
23692            'port_override': self.port_override,
23693            'proxy_cluster_id': self.proxy_cluster_id,
23694            'secret_store_id': self.secret_store_id,
23695            'subdomain': self.subdomain,
23696            'tags': self.tags,
23697        }
23698
23699    @classmethod
23700    def from_dict(cls, d):
23701        return cls(
23702            bind_interface=d.get('bind_interface'),
23703            egress_filter=d.get('egress_filter'),
23704            healthy=d.get('healthy'),
23705            hostname=d.get('hostname'),
23706            id=d.get('id'),
23707            name=d.get('name'),
23708            port=d.get('port'),
23709            port_override=d.get('port_override'),
23710            proxy_cluster_id=d.get('proxy_cluster_id'),
23711            secret_store_id=d.get('secret_store_id'),
23712            subdomain=d.get('subdomain'),
23713            tags=d.get('tags'),
23714        )
23715
23716
23717class Redis:
23718    __slots__ = [
23719        'bind_interface',
23720        'egress_filter',
23721        'healthy',
23722        'hostname',
23723        'id',
23724        'name',
23725        'password',
23726        'port',
23727        'port_override',
23728        'proxy_cluster_id',
23729        'secret_store_id',
23730        'subdomain',
23731        'tags',
23732        'tls_required',
23733        'username',
23734    ]
23735
23736    def __init__(
23737        self,
23738        bind_interface=None,
23739        egress_filter=None,
23740        healthy=None,
23741        hostname=None,
23742        id=None,
23743        name=None,
23744        password=None,
23745        port=None,
23746        port_override=None,
23747        proxy_cluster_id=None,
23748        secret_store_id=None,
23749        subdomain=None,
23750        tags=None,
23751        tls_required=None,
23752        username=None,
23753    ):
23754        self.bind_interface = bind_interface if bind_interface is not None else ''
23755        '''
23756         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23757        '''
23758        self.egress_filter = egress_filter if egress_filter is not None else ''
23759        '''
23760         A filter applied to the routing logic to pin datasource to nodes.
23761        '''
23762        self.healthy = healthy if healthy is not None else False
23763        '''
23764         True if the datasource is reachable and the credentials are valid.
23765        '''
23766        self.hostname = hostname if hostname is not None else ''
23767        '''
23768         The host to dial to initiate a connection from the egress node to this resource.
23769        '''
23770        self.id = id if id is not None else ''
23771        '''
23772         Unique identifier of the Resource.
23773        '''
23774        self.name = name if name is not None else ''
23775        '''
23776         Unique human-readable name of the Resource.
23777        '''
23778        self.password = password if password is not None else ''
23779        '''
23780         The password to authenticate with.
23781        '''
23782        self.port = port if port is not None else 0
23783        '''
23784         The port to dial to initiate a connection from the egress node to this resource.
23785        '''
23786        self.port_override = port_override if port_override is not None else 0
23787        '''
23788         The local port used by clients to connect to this resource.
23789        '''
23790        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23791        '''
23792         ID of the proxy cluster for this resource, if any.
23793        '''
23794        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23795        '''
23796         ID of the secret store containing credentials for this resource, if any.
23797        '''
23798        self.subdomain = subdomain if subdomain is not None else ''
23799        '''
23800         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23801        '''
23802        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23803        '''
23804         Tags is a map of key, value pairs.
23805        '''
23806        self.tls_required = tls_required if tls_required is not None else False
23807        '''
23808         If set, TLS must be used to connect to this resource.
23809        '''
23810        self.username = username if username is not None else ''
23811        '''
23812         The username to authenticate with.
23813        '''
23814
23815    def __repr__(self):
23816        return '<sdm.Redis ' + \
23817            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23818            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23819            'healthy: ' + repr(self.healthy) + ' ' +\
23820            'hostname: ' + repr(self.hostname) + ' ' +\
23821            'id: ' + repr(self.id) + ' ' +\
23822            'name: ' + repr(self.name) + ' ' +\
23823            'password: ' + repr(self.password) + ' ' +\
23824            'port: ' + repr(self.port) + ' ' +\
23825            'port_override: ' + repr(self.port_override) + ' ' +\
23826            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23827            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23828            'subdomain: ' + repr(self.subdomain) + ' ' +\
23829            'tags: ' + repr(self.tags) + ' ' +\
23830            'tls_required: ' + repr(self.tls_required) + ' ' +\
23831            'username: ' + repr(self.username) + ' ' +\
23832            '>'
23833
23834    def to_dict(self):
23835        return {
23836            'bind_interface': self.bind_interface,
23837            'egress_filter': self.egress_filter,
23838            'healthy': self.healthy,
23839            'hostname': self.hostname,
23840            'id': self.id,
23841            'name': self.name,
23842            'password': self.password,
23843            'port': self.port,
23844            'port_override': self.port_override,
23845            'proxy_cluster_id': self.proxy_cluster_id,
23846            'secret_store_id': self.secret_store_id,
23847            'subdomain': self.subdomain,
23848            'tags': self.tags,
23849            'tls_required': self.tls_required,
23850            'username': self.username,
23851        }
23852
23853    @classmethod
23854    def from_dict(cls, d):
23855        return cls(
23856            bind_interface=d.get('bind_interface'),
23857            egress_filter=d.get('egress_filter'),
23858            healthy=d.get('healthy'),
23859            hostname=d.get('hostname'),
23860            id=d.get('id'),
23861            name=d.get('name'),
23862            password=d.get('password'),
23863            port=d.get('port'),
23864            port_override=d.get('port_override'),
23865            proxy_cluster_id=d.get('proxy_cluster_id'),
23866            secret_store_id=d.get('secret_store_id'),
23867            subdomain=d.get('subdomain'),
23868            tags=d.get('tags'),
23869            tls_required=d.get('tls_required'),
23870            username=d.get('username'),
23871        )
23872
23873
23874class RedisCluster:
23875    __slots__ = [
23876        'bind_interface',
23877        'egress_filter',
23878        'healthy',
23879        'hostname',
23880        'id',
23881        'name',
23882        'password',
23883        'port',
23884        'port_override',
23885        'proxy_cluster_id',
23886        'secret_store_id',
23887        'subdomain',
23888        'tags',
23889        'tls_required',
23890        'username',
23891    ]
23892
23893    def __init__(
23894        self,
23895        bind_interface=None,
23896        egress_filter=None,
23897        healthy=None,
23898        hostname=None,
23899        id=None,
23900        name=None,
23901        password=None,
23902        port=None,
23903        port_override=None,
23904        proxy_cluster_id=None,
23905        secret_store_id=None,
23906        subdomain=None,
23907        tags=None,
23908        tls_required=None,
23909        username=None,
23910    ):
23911        self.bind_interface = bind_interface if bind_interface is not None else ''
23912        '''
23913         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23914        '''
23915        self.egress_filter = egress_filter if egress_filter is not None else ''
23916        '''
23917         A filter applied to the routing logic to pin datasource to nodes.
23918        '''
23919        self.healthy = healthy if healthy is not None else False
23920        '''
23921         True if the datasource is reachable and the credentials are valid.
23922        '''
23923        self.hostname = hostname if hostname is not None else ''
23924        '''
23925         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
23926        '''
23927        self.id = id if id is not None else ''
23928        '''
23929         Unique identifier of the Resource.
23930        '''
23931        self.name = name if name is not None else ''
23932        '''
23933         Unique human-readable name of the Resource.
23934        '''
23935        self.password = password if password is not None else ''
23936        '''
23937         The password to authenticate with.
23938        '''
23939        self.port = port if port is not None else 0
23940        '''
23941         The port to dial to initiate a connection from the egress node to this resource.
23942        '''
23943        self.port_override = port_override if port_override is not None else 0
23944        '''
23945         The local port used by clients to connect to this resource.
23946        '''
23947        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23948        '''
23949         ID of the proxy cluster for this resource, if any.
23950        '''
23951        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23952        '''
23953         ID of the secret store containing credentials for this resource, if any.
23954        '''
23955        self.subdomain = subdomain if subdomain is not None else ''
23956        '''
23957         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23958        '''
23959        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23960        '''
23961         Tags is a map of key, value pairs.
23962        '''
23963        self.tls_required = tls_required if tls_required is not None else False
23964        '''
23965         If set, TLS must be used to connect to this resource.
23966        '''
23967        self.username = username if username is not None else ''
23968        '''
23969         The username to authenticate with.
23970        '''
23971
23972    def __repr__(self):
23973        return '<sdm.RedisCluster ' + \
23974            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23975            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23976            'healthy: ' + repr(self.healthy) + ' ' +\
23977            'hostname: ' + repr(self.hostname) + ' ' +\
23978            'id: ' + repr(self.id) + ' ' +\
23979            'name: ' + repr(self.name) + ' ' +\
23980            'password: ' + repr(self.password) + ' ' +\
23981            'port: ' + repr(self.port) + ' ' +\
23982            'port_override: ' + repr(self.port_override) + ' ' +\
23983            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23984            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23985            'subdomain: ' + repr(self.subdomain) + ' ' +\
23986            'tags: ' + repr(self.tags) + ' ' +\
23987            'tls_required: ' + repr(self.tls_required) + ' ' +\
23988            'username: ' + repr(self.username) + ' ' +\
23989            '>'
23990
23991    def to_dict(self):
23992        return {
23993            'bind_interface': self.bind_interface,
23994            'egress_filter': self.egress_filter,
23995            'healthy': self.healthy,
23996            'hostname': self.hostname,
23997            'id': self.id,
23998            'name': self.name,
23999            'password': self.password,
24000            'port': self.port,
24001            'port_override': self.port_override,
24002            'proxy_cluster_id': self.proxy_cluster_id,
24003            'secret_store_id': self.secret_store_id,
24004            'subdomain': self.subdomain,
24005            'tags': self.tags,
24006            'tls_required': self.tls_required,
24007            'username': self.username,
24008        }
24009
24010    @classmethod
24011    def from_dict(cls, d):
24012        return cls(
24013            bind_interface=d.get('bind_interface'),
24014            egress_filter=d.get('egress_filter'),
24015            healthy=d.get('healthy'),
24016            hostname=d.get('hostname'),
24017            id=d.get('id'),
24018            name=d.get('name'),
24019            password=d.get('password'),
24020            port=d.get('port'),
24021            port_override=d.get('port_override'),
24022            proxy_cluster_id=d.get('proxy_cluster_id'),
24023            secret_store_id=d.get('secret_store_id'),
24024            subdomain=d.get('subdomain'),
24025            tags=d.get('tags'),
24026            tls_required=d.get('tls_required'),
24027            username=d.get('username'),
24028        )
24029
24030
24031class Redshift:
24032    __slots__ = [
24033        'bind_interface',
24034        'database',
24035        'egress_filter',
24036        'healthy',
24037        'hostname',
24038        'id',
24039        'name',
24040        'override_database',
24041        'password',
24042        'port',
24043        'port_override',
24044        'proxy_cluster_id',
24045        'secret_store_id',
24046        'subdomain',
24047        'tags',
24048        'username',
24049    ]
24050
24051    def __init__(
24052        self,
24053        bind_interface=None,
24054        database=None,
24055        egress_filter=None,
24056        healthy=None,
24057        hostname=None,
24058        id=None,
24059        name=None,
24060        override_database=None,
24061        password=None,
24062        port=None,
24063        port_override=None,
24064        proxy_cluster_id=None,
24065        secret_store_id=None,
24066        subdomain=None,
24067        tags=None,
24068        username=None,
24069    ):
24070        self.bind_interface = bind_interface if bind_interface is not None else ''
24071        '''
24072         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24073        '''
24074        self.database = database if database is not None else ''
24075        '''
24076         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
24077        '''
24078        self.egress_filter = egress_filter if egress_filter is not None else ''
24079        '''
24080         A filter applied to the routing logic to pin datasource to nodes.
24081        '''
24082        self.healthy = healthy if healthy is not None else False
24083        '''
24084         True if the datasource is reachable and the credentials are valid.
24085        '''
24086        self.hostname = hostname if hostname is not None else ''
24087        '''
24088         The host to dial to initiate a connection from the egress node to this resource.
24089        '''
24090        self.id = id if id is not None else ''
24091        '''
24092         Unique identifier of the Resource.
24093        '''
24094        self.name = name if name is not None else ''
24095        '''
24096         Unique human-readable name of the Resource.
24097        '''
24098        self.override_database = override_database if override_database is not None else False
24099        '''
24100         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
24101        '''
24102        self.password = password if password is not None else ''
24103        '''
24104         The password to authenticate with.
24105        '''
24106        self.port = port if port is not None else 0
24107        '''
24108         The port to dial to initiate a connection from the egress node to this resource.
24109        '''
24110        self.port_override = port_override if port_override is not None else 0
24111        '''
24112         The local port used by clients to connect to this resource.
24113        '''
24114        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24115        '''
24116         ID of the proxy cluster for this resource, if any.
24117        '''
24118        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24119        '''
24120         ID of the secret store containing credentials for this resource, if any.
24121        '''
24122        self.subdomain = subdomain if subdomain is not None else ''
24123        '''
24124         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24125        '''
24126        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24127        '''
24128         Tags is a map of key, value pairs.
24129        '''
24130        self.username = username if username is not None else ''
24131        '''
24132         The username to authenticate with.
24133        '''
24134
24135    def __repr__(self):
24136        return '<sdm.Redshift ' + \
24137            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24138            'database: ' + repr(self.database) + ' ' +\
24139            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24140            'healthy: ' + repr(self.healthy) + ' ' +\
24141            'hostname: ' + repr(self.hostname) + ' ' +\
24142            'id: ' + repr(self.id) + ' ' +\
24143            'name: ' + repr(self.name) + ' ' +\
24144            'override_database: ' + repr(self.override_database) + ' ' +\
24145            'password: ' + repr(self.password) + ' ' +\
24146            'port: ' + repr(self.port) + ' ' +\
24147            'port_override: ' + repr(self.port_override) + ' ' +\
24148            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24149            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24150            'subdomain: ' + repr(self.subdomain) + ' ' +\
24151            'tags: ' + repr(self.tags) + ' ' +\
24152            'username: ' + repr(self.username) + ' ' +\
24153            '>'
24154
24155    def to_dict(self):
24156        return {
24157            'bind_interface': self.bind_interface,
24158            'database': self.database,
24159            'egress_filter': self.egress_filter,
24160            'healthy': self.healthy,
24161            'hostname': self.hostname,
24162            'id': self.id,
24163            'name': self.name,
24164            'override_database': self.override_database,
24165            'password': self.password,
24166            'port': self.port,
24167            'port_override': self.port_override,
24168            'proxy_cluster_id': self.proxy_cluster_id,
24169            'secret_store_id': self.secret_store_id,
24170            'subdomain': self.subdomain,
24171            'tags': self.tags,
24172            'username': self.username,
24173        }
24174
24175    @classmethod
24176    def from_dict(cls, d):
24177        return cls(
24178            bind_interface=d.get('bind_interface'),
24179            database=d.get('database'),
24180            egress_filter=d.get('egress_filter'),
24181            healthy=d.get('healthy'),
24182            hostname=d.get('hostname'),
24183            id=d.get('id'),
24184            name=d.get('name'),
24185            override_database=d.get('override_database'),
24186            password=d.get('password'),
24187            port=d.get('port'),
24188            port_override=d.get('port_override'),
24189            proxy_cluster_id=d.get('proxy_cluster_id'),
24190            secret_store_id=d.get('secret_store_id'),
24191            subdomain=d.get('subdomain'),
24192            tags=d.get('tags'),
24193            username=d.get('username'),
24194        )
24195
24196
24197class RedshiftIAM:
24198    __slots__ = [
24199        'bind_interface',
24200        'cluster_id',
24201        'database',
24202        'egress_filter',
24203        'healthy',
24204        'hostname',
24205        'id',
24206        'name',
24207        'override_database',
24208        'port',
24209        'port_override',
24210        'proxy_cluster_id',
24211        'region',
24212        'role_assumption_arn',
24213        'secret_store_id',
24214        'subdomain',
24215        'tags',
24216    ]
24217
24218    def __init__(
24219        self,
24220        bind_interface=None,
24221        cluster_id=None,
24222        database=None,
24223        egress_filter=None,
24224        healthy=None,
24225        hostname=None,
24226        id=None,
24227        name=None,
24228        override_database=None,
24229        port=None,
24230        port_override=None,
24231        proxy_cluster_id=None,
24232        region=None,
24233        role_assumption_arn=None,
24234        secret_store_id=None,
24235        subdomain=None,
24236        tags=None,
24237    ):
24238        self.bind_interface = bind_interface if bind_interface is not None else ''
24239        '''
24240         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24241        '''
24242        self.cluster_id = cluster_id if cluster_id is not None else ''
24243        '''
24244         Cluster Identified of Redshift cluster
24245        '''
24246        self.database = database if database is not None else ''
24247        '''
24248         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
24249        '''
24250        self.egress_filter = egress_filter if egress_filter is not None else ''
24251        '''
24252         A filter applied to the routing logic to pin datasource to nodes.
24253        '''
24254        self.healthy = healthy if healthy is not None else False
24255        '''
24256         True if the datasource is reachable and the credentials are valid.
24257        '''
24258        self.hostname = hostname if hostname is not None else ''
24259        '''
24260         The host to dial to initiate a connection from the egress node to this resource.
24261        '''
24262        self.id = id if id is not None else ''
24263        '''
24264         Unique identifier of the Resource.
24265        '''
24266        self.name = name if name is not None else ''
24267        '''
24268         Unique human-readable name of the Resource.
24269        '''
24270        self.override_database = override_database if override_database is not None else False
24271        '''
24272         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
24273        '''
24274        self.port = port if port is not None else 0
24275        '''
24276         The port to dial to initiate a connection from the egress node to this resource.
24277        '''
24278        self.port_override = port_override if port_override is not None else 0
24279        '''
24280         The local port used by clients to connect to this resource.
24281        '''
24282        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24283        '''
24284         ID of the proxy cluster for this resource, if any.
24285        '''
24286        self.region = region if region is not None else ''
24287        '''
24288         The AWS region to connect to.
24289        '''
24290        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
24291        '''
24292         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
24293        '''
24294        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24295        '''
24296         ID of the secret store containing credentials for this resource, if any.
24297        '''
24298        self.subdomain = subdomain if subdomain is not None else ''
24299        '''
24300         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24301        '''
24302        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24303        '''
24304         Tags is a map of key, value pairs.
24305        '''
24306
24307    def __repr__(self):
24308        return '<sdm.RedshiftIAM ' + \
24309            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24310            'cluster_id: ' + repr(self.cluster_id) + ' ' +\
24311            'database: ' + repr(self.database) + ' ' +\
24312            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24313            'healthy: ' + repr(self.healthy) + ' ' +\
24314            'hostname: ' + repr(self.hostname) + ' ' +\
24315            'id: ' + repr(self.id) + ' ' +\
24316            'name: ' + repr(self.name) + ' ' +\
24317            'override_database: ' + repr(self.override_database) + ' ' +\
24318            'port: ' + repr(self.port) + ' ' +\
24319            'port_override: ' + repr(self.port_override) + ' ' +\
24320            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24321            'region: ' + repr(self.region) + ' ' +\
24322            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
24323            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24324            'subdomain: ' + repr(self.subdomain) + ' ' +\
24325            'tags: ' + repr(self.tags) + ' ' +\
24326            '>'
24327
24328    def to_dict(self):
24329        return {
24330            'bind_interface': self.bind_interface,
24331            'cluster_id': self.cluster_id,
24332            'database': self.database,
24333            'egress_filter': self.egress_filter,
24334            'healthy': self.healthy,
24335            'hostname': self.hostname,
24336            'id': self.id,
24337            'name': self.name,
24338            'override_database': self.override_database,
24339            'port': self.port,
24340            'port_override': self.port_override,
24341            'proxy_cluster_id': self.proxy_cluster_id,
24342            'region': self.region,
24343            'role_assumption_arn': self.role_assumption_arn,
24344            'secret_store_id': self.secret_store_id,
24345            'subdomain': self.subdomain,
24346            'tags': self.tags,
24347        }
24348
24349    @classmethod
24350    def from_dict(cls, d):
24351        return cls(
24352            bind_interface=d.get('bind_interface'),
24353            cluster_id=d.get('cluster_id'),
24354            database=d.get('database'),
24355            egress_filter=d.get('egress_filter'),
24356            healthy=d.get('healthy'),
24357            hostname=d.get('hostname'),
24358            id=d.get('id'),
24359            name=d.get('name'),
24360            override_database=d.get('override_database'),
24361            port=d.get('port'),
24362            port_override=d.get('port_override'),
24363            proxy_cluster_id=d.get('proxy_cluster_id'),
24364            region=d.get('region'),
24365            role_assumption_arn=d.get('role_assumption_arn'),
24366            secret_store_id=d.get('secret_store_id'),
24367            subdomain=d.get('subdomain'),
24368            tags=d.get('tags'),
24369        )
24370
24371
24372class RedshiftServerlessIAM:
24373    __slots__ = [
24374        'bind_interface',
24375        'database',
24376        'egress_filter',
24377        'healthy',
24378        'hostname',
24379        'id',
24380        'name',
24381        'override_database',
24382        'port',
24383        'port_override',
24384        'proxy_cluster_id',
24385        'region',
24386        'role_assumption_arn',
24387        'secret_store_id',
24388        'subdomain',
24389        'tags',
24390        'workgroup',
24391    ]
24392
24393    def __init__(
24394        self,
24395        bind_interface=None,
24396        database=None,
24397        egress_filter=None,
24398        healthy=None,
24399        hostname=None,
24400        id=None,
24401        name=None,
24402        override_database=None,
24403        port=None,
24404        port_override=None,
24405        proxy_cluster_id=None,
24406        region=None,
24407        role_assumption_arn=None,
24408        secret_store_id=None,
24409        subdomain=None,
24410        tags=None,
24411        workgroup=None,
24412    ):
24413        self.bind_interface = bind_interface if bind_interface is not None else ''
24414        '''
24415         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24416        '''
24417        self.database = database if database is not None else ''
24418        '''
24419         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
24420        '''
24421        self.egress_filter = egress_filter if egress_filter is not None else ''
24422        '''
24423         A filter applied to the routing logic to pin datasource to nodes.
24424        '''
24425        self.healthy = healthy if healthy is not None else False
24426        '''
24427         True if the datasource is reachable and the credentials are valid.
24428        '''
24429        self.hostname = hostname if hostname is not None else ''
24430        '''
24431         The host to dial to initiate a connection from the egress node to this resource.
24432        '''
24433        self.id = id if id is not None else ''
24434        '''
24435         Unique identifier of the Resource.
24436        '''
24437        self.name = name if name is not None else ''
24438        '''
24439         Unique human-readable name of the Resource.
24440        '''
24441        self.override_database = override_database if override_database is not None else False
24442        '''
24443         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
24444        '''
24445        self.port = port if port is not None else 0
24446        '''
24447         The port to dial to initiate a connection from the egress node to this resource.
24448        '''
24449        self.port_override = port_override if port_override is not None else 0
24450        '''
24451         The local port used by clients to connect to this resource.
24452        '''
24453        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24454        '''
24455         ID of the proxy cluster for this resource, if any.
24456        '''
24457        self.region = region if region is not None else ''
24458        '''
24459         The AWS region to connect to.
24460        '''
24461        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
24462        '''
24463         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
24464        '''
24465        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24466        '''
24467         ID of the secret store containing credentials for this resource, if any.
24468        '''
24469        self.subdomain = subdomain if subdomain is not None else ''
24470        '''
24471         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24472        '''
24473        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24474        '''
24475         Tags is a map of key, value pairs.
24476        '''
24477        self.workgroup = workgroup if workgroup is not None else ''
24478        '''
24479         Workgroup name in the serverless Redshift
24480        '''
24481
24482    def __repr__(self):
24483        return '<sdm.RedshiftServerlessIAM ' + \
24484            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24485            'database: ' + repr(self.database) + ' ' +\
24486            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24487            'healthy: ' + repr(self.healthy) + ' ' +\
24488            'hostname: ' + repr(self.hostname) + ' ' +\
24489            'id: ' + repr(self.id) + ' ' +\
24490            'name: ' + repr(self.name) + ' ' +\
24491            'override_database: ' + repr(self.override_database) + ' ' +\
24492            'port: ' + repr(self.port) + ' ' +\
24493            'port_override: ' + repr(self.port_override) + ' ' +\
24494            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24495            'region: ' + repr(self.region) + ' ' +\
24496            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
24497            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24498            'subdomain: ' + repr(self.subdomain) + ' ' +\
24499            'tags: ' + repr(self.tags) + ' ' +\
24500            'workgroup: ' + repr(self.workgroup) + ' ' +\
24501            '>'
24502
24503    def to_dict(self):
24504        return {
24505            'bind_interface': self.bind_interface,
24506            'database': self.database,
24507            'egress_filter': self.egress_filter,
24508            'healthy': self.healthy,
24509            'hostname': self.hostname,
24510            'id': self.id,
24511            'name': self.name,
24512            'override_database': self.override_database,
24513            'port': self.port,
24514            'port_override': self.port_override,
24515            'proxy_cluster_id': self.proxy_cluster_id,
24516            'region': self.region,
24517            'role_assumption_arn': self.role_assumption_arn,
24518            'secret_store_id': self.secret_store_id,
24519            'subdomain': self.subdomain,
24520            'tags': self.tags,
24521            'workgroup': self.workgroup,
24522        }
24523
24524    @classmethod
24525    def from_dict(cls, d):
24526        return cls(
24527            bind_interface=d.get('bind_interface'),
24528            database=d.get('database'),
24529            egress_filter=d.get('egress_filter'),
24530            healthy=d.get('healthy'),
24531            hostname=d.get('hostname'),
24532            id=d.get('id'),
24533            name=d.get('name'),
24534            override_database=d.get('override_database'),
24535            port=d.get('port'),
24536            port_override=d.get('port_override'),
24537            proxy_cluster_id=d.get('proxy_cluster_id'),
24538            region=d.get('region'),
24539            role_assumption_arn=d.get('role_assumption_arn'),
24540            secret_store_id=d.get('secret_store_id'),
24541            subdomain=d.get('subdomain'),
24542            tags=d.get('tags'),
24543            workgroup=d.get('workgroup'),
24544        )
24545
24546
24547class Relay:
24548    '''
24549         Relay represents a StrongDM CLI installation running in relay mode.
24550    '''
24551    __slots__ = [
24552        'device',
24553        'gateway_filter',
24554        'id',
24555        'location',
24556        'maintenance_windows',
24557        'name',
24558        'state',
24559        'tags',
24560        'version',
24561    ]
24562
24563    def __init__(
24564        self,
24565        device=None,
24566        gateway_filter=None,
24567        id=None,
24568        location=None,
24569        maintenance_windows=None,
24570        name=None,
24571        state=None,
24572        tags=None,
24573        version=None,
24574    ):
24575        self.device = device if device is not None else ''
24576        '''
24577         Device is a read only device name uploaded by the gateway process when
24578         it comes online.
24579        '''
24580        self.gateway_filter = gateway_filter if gateway_filter is not None else ''
24581        '''
24582         GatewayFilter can be used to restrict the peering between relays and
24583         gateways. Deprecated.
24584        '''
24585        self.id = id if id is not None else ''
24586        '''
24587         Unique identifier of the Relay.
24588        '''
24589        self.location = location if location is not None else ''
24590        '''
24591         Location is a read only network location uploaded by the gateway process
24592         when it comes online.
24593        '''
24594        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
24595        '''
24596         Maintenance Windows define when this node is allowed to restart. If a node
24597         is requested to restart, it will check each window to determine if any of
24598         them permit it to restart, and if any do, it will. This check is repeated
24599         per window until the restart is successfully completed.
24600         
24601         If not set here, may be set on the command line or via an environment variable
24602         on the process itself; any server setting will take precedence over local
24603         settings. This setting is ineffective for nodes below version 38.44.0.
24604         
24605         If this setting is not applied via this remote configuration or via local
24606         configuration, the default setting is used: always allow restarts if serving
24607         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
24608        '''
24609        self.name = name if name is not None else ''
24610        '''
24611         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.
24612        '''
24613        self.state = state if state is not None else ''
24614        '''
24615         The current state of the relay, one of the NodeState constants.
24616        '''
24617        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24618        '''
24619         Tags is a map of key, value pairs.
24620        '''
24621        self.version = version if version is not None else ''
24622        '''
24623         Version is a read only sdm binary version uploaded by the gateway process
24624         when it comes online.
24625        '''
24626
24627    def __repr__(self):
24628        return '<sdm.Relay ' + \
24629            'device: ' + repr(self.device) + ' ' +\
24630            'gateway_filter: ' + repr(self.gateway_filter) + ' ' +\
24631            'id: ' + repr(self.id) + ' ' +\
24632            'location: ' + repr(self.location) + ' ' +\
24633            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
24634            'name: ' + repr(self.name) + ' ' +\
24635            'state: ' + repr(self.state) + ' ' +\
24636            'tags: ' + repr(self.tags) + ' ' +\
24637            'version: ' + repr(self.version) + ' ' +\
24638            '>'
24639
24640    def to_dict(self):
24641        return {
24642            'device': self.device,
24643            'gateway_filter': self.gateway_filter,
24644            'id': self.id,
24645            'location': self.location,
24646            'maintenance_windows': self.maintenance_windows,
24647            'name': self.name,
24648            'state': self.state,
24649            'tags': self.tags,
24650            'version': self.version,
24651        }
24652
24653    @classmethod
24654    def from_dict(cls, d):
24655        return cls(
24656            device=d.get('device'),
24657            gateway_filter=d.get('gateway_filter'),
24658            id=d.get('id'),
24659            location=d.get('location'),
24660            maintenance_windows=d.get('maintenance_windows'),
24661            name=d.get('name'),
24662            state=d.get('state'),
24663            tags=d.get('tags'),
24664            version=d.get('version'),
24665        )
24666
24667
24668class RemoteIdentity:
24669    '''
24670         RemoteIdentities define the username to be used for a specific account
24671     when connecting to a remote resource using that group.
24672    '''
24673    __slots__ = [
24674        'account_id',
24675        'id',
24676        'remote_identity_group_id',
24677        'username',
24678    ]
24679
24680    def __init__(
24681        self,
24682        account_id=None,
24683        id=None,
24684        remote_identity_group_id=None,
24685        username=None,
24686    ):
24687        self.account_id = account_id if account_id is not None else ''
24688        '''
24689         The account for this remote identity.
24690        '''
24691        self.id = id if id is not None else ''
24692        '''
24693         Unique identifier of the RemoteIdentity.
24694        '''
24695        self.remote_identity_group_id = remote_identity_group_id if remote_identity_group_id is not None else ''
24696        '''
24697         The remote identity group.
24698        '''
24699        self.username = username if username is not None else ''
24700        '''
24701         The username to be used as the remote identity for this account.
24702        '''
24703
24704    def __repr__(self):
24705        return '<sdm.RemoteIdentity ' + \
24706            'account_id: ' + repr(self.account_id) + ' ' +\
24707            'id: ' + repr(self.id) + ' ' +\
24708            'remote_identity_group_id: ' + repr(self.remote_identity_group_id) + ' ' +\
24709            'username: ' + repr(self.username) + ' ' +\
24710            '>'
24711
24712    def to_dict(self):
24713        return {
24714            'account_id': self.account_id,
24715            'id': self.id,
24716            'remote_identity_group_id': self.remote_identity_group_id,
24717            'username': self.username,
24718        }
24719
24720    @classmethod
24721    def from_dict(cls, d):
24722        return cls(
24723            account_id=d.get('account_id'),
24724            id=d.get('id'),
24725            remote_identity_group_id=d.get('remote_identity_group_id'),
24726            username=d.get('username'),
24727        )
24728
24729
24730class RemoteIdentityCreateResponse:
24731    '''
24732         RemoteIdentityCreateResponse reports how the RemoteIdentities were created in the system.
24733    '''
24734    __slots__ = [
24735        'meta',
24736        'rate_limit',
24737        'remote_identity',
24738    ]
24739
24740    def __init__(
24741        self,
24742        meta=None,
24743        rate_limit=None,
24744        remote_identity=None,
24745    ):
24746        self.meta = meta if meta is not None else None
24747        '''
24748         Reserved for future use.
24749        '''
24750        self.rate_limit = rate_limit if rate_limit is not None else None
24751        '''
24752         Rate limit information.
24753        '''
24754        self.remote_identity = remote_identity if remote_identity is not None else None
24755        '''
24756         The created RemoteIdentity.
24757        '''
24758
24759    def __repr__(self):
24760        return '<sdm.RemoteIdentityCreateResponse ' + \
24761            'meta: ' + repr(self.meta) + ' ' +\
24762            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24763            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
24764            '>'
24765
24766    def to_dict(self):
24767        return {
24768            'meta': self.meta,
24769            'rate_limit': self.rate_limit,
24770            'remote_identity': self.remote_identity,
24771        }
24772
24773    @classmethod
24774    def from_dict(cls, d):
24775        return cls(
24776            meta=d.get('meta'),
24777            rate_limit=d.get('rate_limit'),
24778            remote_identity=d.get('remote_identity'),
24779        )
24780
24781
24782class RemoteIdentityDeleteResponse:
24783    '''
24784         RemoteIdentityDeleteResponse returns information about a RemoteIdentity that was deleted.
24785    '''
24786    __slots__ = [
24787        'meta',
24788        'rate_limit',
24789    ]
24790
24791    def __init__(
24792        self,
24793        meta=None,
24794        rate_limit=None,
24795    ):
24796        self.meta = meta if meta is not None else None
24797        '''
24798         Reserved for future use.
24799        '''
24800        self.rate_limit = rate_limit if rate_limit is not None else None
24801        '''
24802         Rate limit information.
24803        '''
24804
24805    def __repr__(self):
24806        return '<sdm.RemoteIdentityDeleteResponse ' + \
24807            'meta: ' + repr(self.meta) + ' ' +\
24808            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24809            '>'
24810
24811    def to_dict(self):
24812        return {
24813            'meta': self.meta,
24814            'rate_limit': self.rate_limit,
24815        }
24816
24817    @classmethod
24818    def from_dict(cls, d):
24819        return cls(
24820            meta=d.get('meta'),
24821            rate_limit=d.get('rate_limit'),
24822        )
24823
24824
24825class RemoteIdentityGetResponse:
24826    '''
24827         RemoteIdentityGetResponse returns a requested RemoteIdentity.
24828    '''
24829    __slots__ = [
24830        'meta',
24831        'rate_limit',
24832        'remote_identity',
24833    ]
24834
24835    def __init__(
24836        self,
24837        meta=None,
24838        rate_limit=None,
24839        remote_identity=None,
24840    ):
24841        self.meta = meta if meta is not None else None
24842        '''
24843         Reserved for future use.
24844        '''
24845        self.rate_limit = rate_limit if rate_limit is not None else None
24846        '''
24847         Rate limit information.
24848        '''
24849        self.remote_identity = remote_identity if remote_identity is not None else None
24850        '''
24851         The requested RemoteIdentity.
24852        '''
24853
24854    def __repr__(self):
24855        return '<sdm.RemoteIdentityGetResponse ' + \
24856            'meta: ' + repr(self.meta) + ' ' +\
24857            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24858            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
24859            '>'
24860
24861    def to_dict(self):
24862        return {
24863            'meta': self.meta,
24864            'rate_limit': self.rate_limit,
24865            'remote_identity': self.remote_identity,
24866        }
24867
24868    @classmethod
24869    def from_dict(cls, d):
24870        return cls(
24871            meta=d.get('meta'),
24872            rate_limit=d.get('rate_limit'),
24873            remote_identity=d.get('remote_identity'),
24874        )
24875
24876
24877class RemoteIdentityGroup:
24878    '''
24879         A RemoteIdentityGroup defines a group of remote identities.
24880    '''
24881    __slots__ = [
24882        'id',
24883        'name',
24884    ]
24885
24886    def __init__(
24887        self,
24888        id=None,
24889        name=None,
24890    ):
24891        self.id = id if id is not None else ''
24892        '''
24893         Unique identifier of the RemoteIdentityGroup.
24894        '''
24895        self.name = name if name is not None else ''
24896        '''
24897         Unique human-readable name of the RemoteIdentityGroup.
24898        '''
24899
24900    def __repr__(self):
24901        return '<sdm.RemoteIdentityGroup ' + \
24902            'id: ' + repr(self.id) + ' ' +\
24903            'name: ' + repr(self.name) + ' ' +\
24904            '>'
24905
24906    def to_dict(self):
24907        return {
24908            'id': self.id,
24909            'name': self.name,
24910        }
24911
24912    @classmethod
24913    def from_dict(cls, d):
24914        return cls(
24915            id=d.get('id'),
24916            name=d.get('name'),
24917        )
24918
24919
24920class RemoteIdentityGroupGetResponse:
24921    '''
24922         RemoteIdentityGroupGetResponse returns a requested RemoteIdentityGroup.
24923    '''
24924    __slots__ = [
24925        'meta',
24926        'rate_limit',
24927        'remote_identity_group',
24928    ]
24929
24930    def __init__(
24931        self,
24932        meta=None,
24933        rate_limit=None,
24934        remote_identity_group=None,
24935    ):
24936        self.meta = meta if meta is not None else None
24937        '''
24938         Reserved for future use.
24939        '''
24940        self.rate_limit = rate_limit if rate_limit is not None else None
24941        '''
24942         Rate limit information.
24943        '''
24944        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
24945        '''
24946         The requested RemoteIdentityGroup.
24947        '''
24948
24949    def __repr__(self):
24950        return '<sdm.RemoteIdentityGroupGetResponse ' + \
24951            'meta: ' + repr(self.meta) + ' ' +\
24952            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24953            'remote_identity_group: ' + repr(self.remote_identity_group) + ' ' +\
24954            '>'
24955
24956    def to_dict(self):
24957        return {
24958            'meta': self.meta,
24959            'rate_limit': self.rate_limit,
24960            'remote_identity_group': self.remote_identity_group,
24961        }
24962
24963    @classmethod
24964    def from_dict(cls, d):
24965        return cls(
24966            meta=d.get('meta'),
24967            rate_limit=d.get('rate_limit'),
24968            remote_identity_group=d.get('remote_identity_group'),
24969        )
24970
24971
24972class RemoteIdentityGroupHistory:
24973    '''
24974         RemoteIdentityGroupHistory records the state of a RemoteIdentityGroup at a given point in time,
24975     where every change (create, update and delete) to a RemoteIdentityGroup produces an
24976     RemoteIdentityGroupHistory record.
24977    '''
24978    __slots__ = [
24979        'activity_id',
24980        'deleted_at',
24981        'remote_identity_group',
24982        'timestamp',
24983    ]
24984
24985    def __init__(
24986        self,
24987        activity_id=None,
24988        deleted_at=None,
24989        remote_identity_group=None,
24990        timestamp=None,
24991    ):
24992        self.activity_id = activity_id if activity_id is not None else ''
24993        '''
24994         The unique identifier of the Activity that produced this change to the RemoteIdentityGroup.
24995         May be empty for some system-initiated updates.
24996        '''
24997        self.deleted_at = deleted_at if deleted_at is not None else None
24998        '''
24999         If this RemoteIdentityGroup was deleted, the time it was deleted.
25000        '''
25001        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
25002        '''
25003         The complete RemoteIdentityGroup state at this time.
25004        '''
25005        self.timestamp = timestamp if timestamp is not None else None
25006        '''
25007         The time at which the RemoteIdentityGroup state was recorded.
25008        '''
25009
25010    def __repr__(self):
25011        return '<sdm.RemoteIdentityGroupHistory ' + \
25012            'activity_id: ' + repr(self.activity_id) + ' ' +\
25013            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
25014            'remote_identity_group: ' + repr(self.remote_identity_group) + ' ' +\
25015            'timestamp: ' + repr(self.timestamp) + ' ' +\
25016            '>'
25017
25018    def to_dict(self):
25019        return {
25020            'activity_id': self.activity_id,
25021            'deleted_at': self.deleted_at,
25022            'remote_identity_group': self.remote_identity_group,
25023            'timestamp': self.timestamp,
25024        }
25025
25026    @classmethod
25027    def from_dict(cls, d):
25028        return cls(
25029            activity_id=d.get('activity_id'),
25030            deleted_at=d.get('deleted_at'),
25031            remote_identity_group=d.get('remote_identity_group'),
25032            timestamp=d.get('timestamp'),
25033        )
25034
25035
25036class RemoteIdentityHistory:
25037    '''
25038         RemoteIdentityHistory records the state of a RemoteIdentity at a given point in time,
25039     where every change (create, update and delete) to a RemoteIdentity produces an
25040     RemoteIdentityHistory record.
25041    '''
25042    __slots__ = [
25043        'activity_id',
25044        'deleted_at',
25045        'remote_identity',
25046        'timestamp',
25047    ]
25048
25049    def __init__(
25050        self,
25051        activity_id=None,
25052        deleted_at=None,
25053        remote_identity=None,
25054        timestamp=None,
25055    ):
25056        self.activity_id = activity_id if activity_id is not None else ''
25057        '''
25058         The unique identifier of the Activity that produced this change to the RemoteIdentity.
25059         May be empty for some system-initiated updates.
25060        '''
25061        self.deleted_at = deleted_at if deleted_at is not None else None
25062        '''
25063         If this RemoteIdentity was deleted, the time it was deleted.
25064        '''
25065        self.remote_identity = remote_identity if remote_identity is not None else None
25066        '''
25067         The complete RemoteIdentity state at this time.
25068        '''
25069        self.timestamp = timestamp if timestamp is not None else None
25070        '''
25071         The time at which the RemoteIdentity state was recorded.
25072        '''
25073
25074    def __repr__(self):
25075        return '<sdm.RemoteIdentityHistory ' + \
25076            'activity_id: ' + repr(self.activity_id) + ' ' +\
25077            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
25078            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
25079            'timestamp: ' + repr(self.timestamp) + ' ' +\
25080            '>'
25081
25082    def to_dict(self):
25083        return {
25084            'activity_id': self.activity_id,
25085            'deleted_at': self.deleted_at,
25086            'remote_identity': self.remote_identity,
25087            'timestamp': self.timestamp,
25088        }
25089
25090    @classmethod
25091    def from_dict(cls, d):
25092        return cls(
25093            activity_id=d.get('activity_id'),
25094            deleted_at=d.get('deleted_at'),
25095            remote_identity=d.get('remote_identity'),
25096            timestamp=d.get('timestamp'),
25097        )
25098
25099
25100class RemoteIdentityUpdateResponse:
25101    '''
25102         RemoteIdentityUpdateResponse returns the fields of a RemoteIdentity after it has been updated by
25103     a RemoteIdentityUpdateRequest.
25104    '''
25105    __slots__ = [
25106        'meta',
25107        'rate_limit',
25108        'remote_identity',
25109    ]
25110
25111    def __init__(
25112        self,
25113        meta=None,
25114        rate_limit=None,
25115        remote_identity=None,
25116    ):
25117        self.meta = meta if meta is not None else None
25118        '''
25119         Reserved for future use.
25120        '''
25121        self.rate_limit = rate_limit if rate_limit is not None else None
25122        '''
25123         Rate limit information.
25124        '''
25125        self.remote_identity = remote_identity if remote_identity is not None else None
25126        '''
25127         The updated RemoteIdentity.
25128        '''
25129
25130    def __repr__(self):
25131        return '<sdm.RemoteIdentityUpdateResponse ' + \
25132            'meta: ' + repr(self.meta) + ' ' +\
25133            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25134            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
25135            '>'
25136
25137    def to_dict(self):
25138        return {
25139            'meta': self.meta,
25140            'rate_limit': self.rate_limit,
25141            'remote_identity': self.remote_identity,
25142        }
25143
25144    @classmethod
25145    def from_dict(cls, d):
25146        return cls(
25147            meta=d.get('meta'),
25148            rate_limit=d.get('rate_limit'),
25149            remote_identity=d.get('remote_identity'),
25150        )
25151
25152
25153class ReplayChunk:
25154    '''
25155         A ReplayChunk represents a single "chunk" of data from the query replay.
25156    '''
25157    __slots__ = [
25158        'data',
25159        'events',
25160        'symmetric_key',
25161    ]
25162
25163    def __init__(
25164        self,
25165        data=None,
25166        events=None,
25167        symmetric_key=None,
25168    ):
25169        self.data = data if data is not None else b''
25170        '''
25171         The raw data of the ReplayChunk. The data is encrypted if the associated Query is encrypted.
25172        '''
25173        self.events = events if events is not None else []
25174        '''
25175         The list of events of the ReplayChunk. If the Query is encrypted, this field is always empty
25176         and the events can be obtained by decrypting the data using the QueryKey returned with the Query.
25177        '''
25178        self.symmetric_key = symmetric_key if symmetric_key is not None else ''
25179        '''
25180         If the data is encrypted, this contains the encrypted symmetric key
25181        '''
25182
25183    def __repr__(self):
25184        return '<sdm.ReplayChunk ' + \
25185            'data: ' + repr(self.data) + ' ' +\
25186            'events: ' + repr(self.events) + ' ' +\
25187            'symmetric_key: ' + repr(self.symmetric_key) + ' ' +\
25188            '>'
25189
25190    def to_dict(self):
25191        return {
25192            'data': self.data,
25193            'events': self.events,
25194            'symmetric_key': self.symmetric_key,
25195        }
25196
25197    @classmethod
25198    def from_dict(cls, d):
25199        return cls(
25200            data=d.get('data'),
25201            events=d.get('events'),
25202            symmetric_key=d.get('symmetric_key'),
25203        )
25204
25205
25206class ReplayChunkEvent:
25207    '''
25208         A ReplayChunkEvent represents a single event within a query replay.
25209     The timing information included in each ReplayChunkEvent may be used to replay a session in real time.
25210    '''
25211    __slots__ = [
25212        'data',
25213        'duration',
25214    ]
25215
25216    def __init__(
25217        self,
25218        data=None,
25219        duration=None,
25220    ):
25221        self.data = data if data is not None else b''
25222        '''
25223         The raw data of the ReplayChunkEvent.
25224        '''
25225        self.duration = duration if duration is not None else None
25226        '''
25227         The time duration over which the data in this ReplayChunkEvent was transferred.
25228        '''
25229
25230    def __repr__(self):
25231        return '<sdm.ReplayChunkEvent ' + \
25232            'data: ' + repr(self.data) + ' ' +\
25233            'duration: ' + repr(self.duration) + ' ' +\
25234            '>'
25235
25236    def to_dict(self):
25237        return {
25238            'data': self.data,
25239            'duration': self.duration,
25240        }
25241
25242    @classmethod
25243    def from_dict(cls, d):
25244        return cls(
25245            data=d.get('data'),
25246            duration=d.get('duration'),
25247        )
25248
25249
25250class RequestableResource:
25251    '''
25252         RequestableResource is a resource that can be requested via an AccessRequestConfig
25253    '''
25254    __slots__ = [
25255        'access',
25256        'authentication',
25257        'healthy',
25258        'id',
25259        'name',
25260        'tags',
25261        'type',
25262    ]
25263
25264    def __init__(
25265        self,
25266        access=None,
25267        authentication=None,
25268        healthy=None,
25269        id=None,
25270        name=None,
25271        tags=None,
25272        type=None,
25273    ):
25274        self.access = access if access is not None else ''
25275        '''
25276         The current state of the user's access to the resources
25277        '''
25278        self.authentication = authentication if authentication is not None else ''
25279        '''
25280         The type of authentication for the resource
25281        '''
25282        self.healthy = healthy if healthy is not None else False
25283        '''
25284         The health check status of the reasource
25285        '''
25286        self.id = id if id is not None else ''
25287        '''
25288         The resource id.
25289        '''
25290        self.name = name if name is not None else ''
25291        '''
25292         The resource name.
25293        '''
25294        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25295        '''
25296         Any tags attached to this resource
25297        '''
25298        self.type = type if type is not None else ''
25299        '''
25300         The resource type
25301        '''
25302
25303    def __repr__(self):
25304        return '<sdm.RequestableResource ' + \
25305            'access: ' + repr(self.access) + ' ' +\
25306            'authentication: ' + repr(self.authentication) + ' ' +\
25307            'healthy: ' + repr(self.healthy) + ' ' +\
25308            'id: ' + repr(self.id) + ' ' +\
25309            'name: ' + repr(self.name) + ' ' +\
25310            'tags: ' + repr(self.tags) + ' ' +\
25311            'type: ' + repr(self.type) + ' ' +\
25312            '>'
25313
25314    def to_dict(self):
25315        return {
25316            'access': self.access,
25317            'authentication': self.authentication,
25318            'healthy': self.healthy,
25319            'id': self.id,
25320            'name': self.name,
25321            'tags': self.tags,
25322            'type': self.type,
25323        }
25324
25325    @classmethod
25326    def from_dict(cls, d):
25327        return cls(
25328            access=d.get('access'),
25329            authentication=d.get('authentication'),
25330            healthy=d.get('healthy'),
25331            id=d.get('id'),
25332            name=d.get('name'),
25333            tags=d.get('tags'),
25334            type=d.get('type'),
25335        )
25336
25337
25338class ResourceCreateResponse:
25339    '''
25340         ResourceCreateResponse reports how the Resources were created in the system.
25341    '''
25342    __slots__ = [
25343        'meta',
25344        'rate_limit',
25345        'resource',
25346    ]
25347
25348    def __init__(
25349        self,
25350        meta=None,
25351        rate_limit=None,
25352        resource=None,
25353    ):
25354        self.meta = meta if meta is not None else None
25355        '''
25356         Reserved for future use.
25357        '''
25358        self.rate_limit = rate_limit if rate_limit is not None else None
25359        '''
25360         Rate limit information.
25361        '''
25362        self.resource = resource if resource is not None else None
25363        '''
25364         The created Resource.
25365        '''
25366
25367    def __repr__(self):
25368        return '<sdm.ResourceCreateResponse ' + \
25369            'meta: ' + repr(self.meta) + ' ' +\
25370            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25371            'resource: ' + repr(self.resource) + ' ' +\
25372            '>'
25373
25374    def to_dict(self):
25375        return {
25376            'meta': self.meta,
25377            'rate_limit': self.rate_limit,
25378            'resource': self.resource,
25379        }
25380
25381    @classmethod
25382    def from_dict(cls, d):
25383        return cls(
25384            meta=d.get('meta'),
25385            rate_limit=d.get('rate_limit'),
25386            resource=d.get('resource'),
25387        )
25388
25389
25390class ResourceDeleteResponse:
25391    '''
25392         ResourceDeleteResponse returns information about a Resource that was deleted.
25393    '''
25394    __slots__ = [
25395        'meta',
25396        'rate_limit',
25397    ]
25398
25399    def __init__(
25400        self,
25401        meta=None,
25402        rate_limit=None,
25403    ):
25404        self.meta = meta if meta is not None else None
25405        '''
25406         Reserved for future use.
25407        '''
25408        self.rate_limit = rate_limit if rate_limit is not None else None
25409        '''
25410         Rate limit information.
25411        '''
25412
25413    def __repr__(self):
25414        return '<sdm.ResourceDeleteResponse ' + \
25415            'meta: ' + repr(self.meta) + ' ' +\
25416            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25417            '>'
25418
25419    def to_dict(self):
25420        return {
25421            'meta': self.meta,
25422            'rate_limit': self.rate_limit,
25423        }
25424
25425    @classmethod
25426    def from_dict(cls, d):
25427        return cls(
25428            meta=d.get('meta'),
25429            rate_limit=d.get('rate_limit'),
25430        )
25431
25432
25433class ResourceGetResponse:
25434    '''
25435         ResourceGetResponse returns a requested Resource.
25436    '''
25437    __slots__ = [
25438        'meta',
25439        'rate_limit',
25440        'resource',
25441    ]
25442
25443    def __init__(
25444        self,
25445        meta=None,
25446        rate_limit=None,
25447        resource=None,
25448    ):
25449        self.meta = meta if meta is not None else None
25450        '''
25451         Reserved for future use.
25452        '''
25453        self.rate_limit = rate_limit if rate_limit is not None else None
25454        '''
25455         Rate limit information.
25456        '''
25457        self.resource = resource if resource is not None else None
25458        '''
25459         The requested Resource.
25460        '''
25461
25462    def __repr__(self):
25463        return '<sdm.ResourceGetResponse ' + \
25464            'meta: ' + repr(self.meta) + ' ' +\
25465            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25466            'resource: ' + repr(self.resource) + ' ' +\
25467            '>'
25468
25469    def to_dict(self):
25470        return {
25471            'meta': self.meta,
25472            'rate_limit': self.rate_limit,
25473            'resource': self.resource,
25474        }
25475
25476    @classmethod
25477    def from_dict(cls, d):
25478        return cls(
25479            meta=d.get('meta'),
25480            rate_limit=d.get('rate_limit'),
25481            resource=d.get('resource'),
25482        )
25483
25484
25485class ResourceHealthcheckRequest:
25486    '''
25487         ResourceHealthcheckRequest specifies requesting a healthcheck for a given resource by ID.
25488    '''
25489    __slots__ = [
25490        'id',
25491    ]
25492
25493    def __init__(
25494        self,
25495        id=None,
25496    ):
25497        self.id = id if id is not None else ''
25498        '''
25499         The unique identifier of the Resource to healthcheck.
25500        '''
25501
25502    def __repr__(self):
25503        return '<sdm.ResourceHealthcheckRequest ' + \
25504            'id: ' + repr(self.id) + ' ' +\
25505            '>'
25506
25507    def to_dict(self):
25508        return {
25509            'id': self.id,
25510        }
25511
25512    @classmethod
25513    def from_dict(cls, d):
25514        return cls(id=d.get('id'), )
25515
25516
25517class ResourceHealthcheckResponse:
25518    '''
25519         ResourceHealthcheckResponse reports any metadata concerning a healthcheck response.
25520     Healthchecks are non blocking, and this contains no non-metadata.
25521    '''
25522    __slots__ = [
25523        'meta',
25524        'rate_limit',
25525    ]
25526
25527    def __init__(
25528        self,
25529        meta=None,
25530        rate_limit=None,
25531    ):
25532        self.meta = meta if meta is not None else None
25533        '''
25534         Reserved for future use.
25535        '''
25536        self.rate_limit = rate_limit if rate_limit is not None else None
25537        '''
25538         Rate limit information.
25539        '''
25540
25541    def __repr__(self):
25542        return '<sdm.ResourceHealthcheckResponse ' + \
25543            'meta: ' + repr(self.meta) + ' ' +\
25544            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25545            '>'
25546
25547    def to_dict(self):
25548        return {
25549            'meta': self.meta,
25550            'rate_limit': self.rate_limit,
25551        }
25552
25553    @classmethod
25554    def from_dict(cls, d):
25555        return cls(
25556            meta=d.get('meta'),
25557            rate_limit=d.get('rate_limit'),
25558        )
25559
25560
25561class ResourceHistory:
25562    '''
25563         ResourceHistory records the state of a Resource at a given point in time,
25564     where every change (create, update and delete) to a Resource produces an
25565     ResourceHistory record.
25566    '''
25567    __slots__ = [
25568        'activity_id',
25569        'deleted_at',
25570        'resource',
25571        'timestamp',
25572    ]
25573
25574    def __init__(
25575        self,
25576        activity_id=None,
25577        deleted_at=None,
25578        resource=None,
25579        timestamp=None,
25580    ):
25581        self.activity_id = activity_id if activity_id is not None else ''
25582        '''
25583         The unique identifier of the Activity that produced this change to the Resource.
25584         May be empty for some system-initiated updates.
25585        '''
25586        self.deleted_at = deleted_at if deleted_at is not None else None
25587        '''
25588         If this Resource was deleted, the time it was deleted.
25589        '''
25590        self.resource = resource if resource is not None else None
25591        '''
25592         The complete Resource state at this time.
25593        '''
25594        self.timestamp = timestamp if timestamp is not None else None
25595        '''
25596         The time at which the Resource state was recorded.
25597        '''
25598
25599    def __repr__(self):
25600        return '<sdm.ResourceHistory ' + \
25601            'activity_id: ' + repr(self.activity_id) + ' ' +\
25602            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
25603            'resource: ' + repr(self.resource) + ' ' +\
25604            'timestamp: ' + repr(self.timestamp) + ' ' +\
25605            '>'
25606
25607    def to_dict(self):
25608        return {
25609            'activity_id': self.activity_id,
25610            'deleted_at': self.deleted_at,
25611            'resource': self.resource,
25612            'timestamp': self.timestamp,
25613        }
25614
25615    @classmethod
25616    def from_dict(cls, d):
25617        return cls(
25618            activity_id=d.get('activity_id'),
25619            deleted_at=d.get('deleted_at'),
25620            resource=d.get('resource'),
25621            timestamp=d.get('timestamp'),
25622        )
25623
25624
25625class ResourceUpdateResponse:
25626    '''
25627         ResourceUpdateResponse returns the fields of a Resource after it has been updated by
25628     a ResourceUpdateRequest.
25629    '''
25630    __slots__ = [
25631        'meta',
25632        'rate_limit',
25633        'resource',
25634    ]
25635
25636    def __init__(
25637        self,
25638        meta=None,
25639        rate_limit=None,
25640        resource=None,
25641    ):
25642        self.meta = meta if meta is not None else None
25643        '''
25644         Reserved for future use.
25645        '''
25646        self.rate_limit = rate_limit if rate_limit is not None else None
25647        '''
25648         Rate limit information.
25649        '''
25650        self.resource = resource if resource is not None else None
25651        '''
25652         The updated Resource.
25653        '''
25654
25655    def __repr__(self):
25656        return '<sdm.ResourceUpdateResponse ' + \
25657            'meta: ' + repr(self.meta) + ' ' +\
25658            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25659            'resource: ' + repr(self.resource) + ' ' +\
25660            '>'
25661
25662    def to_dict(self):
25663        return {
25664            'meta': self.meta,
25665            'rate_limit': self.rate_limit,
25666            'resource': self.resource,
25667        }
25668
25669    @classmethod
25670    def from_dict(cls, d):
25671        return cls(
25672            meta=d.get('meta'),
25673            rate_limit=d.get('rate_limit'),
25674            resource=d.get('resource'),
25675        )
25676
25677
25678class Role:
25679    '''
25680         A Role has a list of access rules which determine which Resources the members
25681     of the Role have access to. An Account can be a member of multiple Roles via
25682     AccountAttachments.
25683    '''
25684    __slots__ = [
25685        'access_rules',
25686        'id',
25687        'managed_by',
25688        'name',
25689        'tags',
25690    ]
25691
25692    def __init__(
25693        self,
25694        access_rules=None,
25695        id=None,
25696        managed_by=None,
25697        name=None,
25698        tags=None,
25699    ):
25700        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
25701        )
25702        '''
25703         AccessRules is a list of access rules defining the resources this Role has access to.
25704        '''
25705        self.id = id if id is not None else ''
25706        '''
25707         Unique identifier of the Role.
25708        '''
25709        self.managed_by = managed_by if managed_by is not None else ''
25710        '''
25711         Managed By is a read only field for what service manages this role, e.g. StrongDM, Okta, Azure.
25712        '''
25713        self.name = name if name is not None else ''
25714        '''
25715         Unique human-readable name of the Role.
25716        '''
25717        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25718        '''
25719         Tags is a map of key, value pairs.
25720        '''
25721
25722    def __repr__(self):
25723        return '<sdm.Role ' + \
25724            'access_rules: ' + repr(self.access_rules) + ' ' +\
25725            'id: ' + repr(self.id) + ' ' +\
25726            'managed_by: ' + repr(self.managed_by) + ' ' +\
25727            'name: ' + repr(self.name) + ' ' +\
25728            'tags: ' + repr(self.tags) + ' ' +\
25729            '>'
25730
25731    def to_dict(self):
25732        return {
25733            'access_rules': self.access_rules,
25734            'id': self.id,
25735            'managed_by': self.managed_by,
25736            'name': self.name,
25737            'tags': self.tags,
25738        }
25739
25740    @classmethod
25741    def from_dict(cls, d):
25742        return cls(
25743            access_rules=d.get('access_rules'),
25744            id=d.get('id'),
25745            managed_by=d.get('managed_by'),
25746            name=d.get('name'),
25747            tags=d.get('tags'),
25748        )
25749
25750
25751class RoleCreateResponse:
25752    '''
25753         RoleCreateResponse reports how the Roles were created in the system. It can
25754     communicate partial successes or failures.
25755    '''
25756    __slots__ = [
25757        'meta',
25758        'rate_limit',
25759        'role',
25760    ]
25761
25762    def __init__(
25763        self,
25764        meta=None,
25765        rate_limit=None,
25766        role=None,
25767    ):
25768        self.meta = meta if meta is not None else None
25769        '''
25770         Reserved for future use.
25771        '''
25772        self.rate_limit = rate_limit if rate_limit is not None else None
25773        '''
25774         Rate limit information.
25775        '''
25776        self.role = role if role is not None else None
25777        '''
25778         The created Role.
25779        '''
25780
25781    def __repr__(self):
25782        return '<sdm.RoleCreateResponse ' + \
25783            'meta: ' + repr(self.meta) + ' ' +\
25784            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25785            'role: ' + repr(self.role) + ' ' +\
25786            '>'
25787
25788    def to_dict(self):
25789        return {
25790            'meta': self.meta,
25791            'rate_limit': self.rate_limit,
25792            'role': self.role,
25793        }
25794
25795    @classmethod
25796    def from_dict(cls, d):
25797        return cls(
25798            meta=d.get('meta'),
25799            rate_limit=d.get('rate_limit'),
25800            role=d.get('role'),
25801        )
25802
25803
25804class RoleDeleteResponse:
25805    '''
25806         RoleDeleteResponse returns information about a Role that was deleted.
25807    '''
25808    __slots__ = [
25809        'meta',
25810        'rate_limit',
25811    ]
25812
25813    def __init__(
25814        self,
25815        meta=None,
25816        rate_limit=None,
25817    ):
25818        self.meta = meta if meta is not None else None
25819        '''
25820         Reserved for future use.
25821        '''
25822        self.rate_limit = rate_limit if rate_limit is not None else None
25823        '''
25824         Rate limit information.
25825        '''
25826
25827    def __repr__(self):
25828        return '<sdm.RoleDeleteResponse ' + \
25829            'meta: ' + repr(self.meta) + ' ' +\
25830            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25831            '>'
25832
25833    def to_dict(self):
25834        return {
25835            'meta': self.meta,
25836            'rate_limit': self.rate_limit,
25837        }
25838
25839    @classmethod
25840    def from_dict(cls, d):
25841        return cls(
25842            meta=d.get('meta'),
25843            rate_limit=d.get('rate_limit'),
25844        )
25845
25846
25847class RoleGetResponse:
25848    '''
25849         RoleGetResponse returns a requested Role.
25850    '''
25851    __slots__ = [
25852        'meta',
25853        'rate_limit',
25854        'role',
25855    ]
25856
25857    def __init__(
25858        self,
25859        meta=None,
25860        rate_limit=None,
25861        role=None,
25862    ):
25863        self.meta = meta if meta is not None else None
25864        '''
25865         Reserved for future use.
25866        '''
25867        self.rate_limit = rate_limit if rate_limit is not None else None
25868        '''
25869         Rate limit information.
25870        '''
25871        self.role = role if role is not None else None
25872        '''
25873         The requested Role.
25874        '''
25875
25876    def __repr__(self):
25877        return '<sdm.RoleGetResponse ' + \
25878            'meta: ' + repr(self.meta) + ' ' +\
25879            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25880            'role: ' + repr(self.role) + ' ' +\
25881            '>'
25882
25883    def to_dict(self):
25884        return {
25885            'meta': self.meta,
25886            'rate_limit': self.rate_limit,
25887            'role': self.role,
25888        }
25889
25890    @classmethod
25891    def from_dict(cls, d):
25892        return cls(
25893            meta=d.get('meta'),
25894            rate_limit=d.get('rate_limit'),
25895            role=d.get('role'),
25896        )
25897
25898
25899class RoleHistory:
25900    '''
25901         RoleHistory records the state of a Role at a given point in time,
25902     where every change (create, update and delete) to a Role produces an
25903     RoleHistory record.
25904    '''
25905    __slots__ = [
25906        'activity_id',
25907        'deleted_at',
25908        'role',
25909        'timestamp',
25910    ]
25911
25912    def __init__(
25913        self,
25914        activity_id=None,
25915        deleted_at=None,
25916        role=None,
25917        timestamp=None,
25918    ):
25919        self.activity_id = activity_id if activity_id is not None else ''
25920        '''
25921         The unique identifier of the Activity that produced this change to the Role.
25922         May be empty for some system-initiated updates.
25923        '''
25924        self.deleted_at = deleted_at if deleted_at is not None else None
25925        '''
25926         If this Role was deleted, the time it was deleted.
25927        '''
25928        self.role = role if role is not None else None
25929        '''
25930         The complete Role state at this time.
25931        '''
25932        self.timestamp = timestamp if timestamp is not None else None
25933        '''
25934         The time at which the Role state was recorded.
25935        '''
25936
25937    def __repr__(self):
25938        return '<sdm.RoleHistory ' + \
25939            'activity_id: ' + repr(self.activity_id) + ' ' +\
25940            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
25941            'role: ' + repr(self.role) + ' ' +\
25942            'timestamp: ' + repr(self.timestamp) + ' ' +\
25943            '>'
25944
25945    def to_dict(self):
25946        return {
25947            'activity_id': self.activity_id,
25948            'deleted_at': self.deleted_at,
25949            'role': self.role,
25950            'timestamp': self.timestamp,
25951        }
25952
25953    @classmethod
25954    def from_dict(cls, d):
25955        return cls(
25956            activity_id=d.get('activity_id'),
25957            deleted_at=d.get('deleted_at'),
25958            role=d.get('role'),
25959            timestamp=d.get('timestamp'),
25960        )
25961
25962
25963class RoleResource:
25964    '''
25965         RoleResource represents an individual access grant of a Role to a Resource.
25966    '''
25967    __slots__ = [
25968        'granted_at',
25969        'resource_id',
25970        'role_id',
25971    ]
25972
25973    def __init__(
25974        self,
25975        granted_at=None,
25976        resource_id=None,
25977        role_id=None,
25978    ):
25979        self.granted_at = granted_at if granted_at is not None else None
25980        '''
25981         The most recent time at which access was granted. If access was granted,
25982         revoked, and granted again, this will reflect the later time.
25983        '''
25984        self.resource_id = resource_id if resource_id is not None else ''
25985        '''
25986         The unique identifier of the Resource to which access is granted.
25987        '''
25988        self.role_id = role_id if role_id is not None else ''
25989        '''
25990         The unique identifier of the Role to which access is granted.
25991        '''
25992
25993    def __repr__(self):
25994        return '<sdm.RoleResource ' + \
25995            'granted_at: ' + repr(self.granted_at) + ' ' +\
25996            'resource_id: ' + repr(self.resource_id) + ' ' +\
25997            'role_id: ' + repr(self.role_id) + ' ' +\
25998            '>'
25999
26000    def to_dict(self):
26001        return {
26002            'granted_at': self.granted_at,
26003            'resource_id': self.resource_id,
26004            'role_id': self.role_id,
26005        }
26006
26007    @classmethod
26008    def from_dict(cls, d):
26009        return cls(
26010            granted_at=d.get('granted_at'),
26011            resource_id=d.get('resource_id'),
26012            role_id=d.get('role_id'),
26013        )
26014
26015
26016class RoleResourceHistory:
26017    '''
26018         RoleResourceHistory records the state of a RoleResource at a given point in time,
26019     where every change (create or delete) to a RoleResource produces an
26020     RoleResourceHistory record.
26021    '''
26022    __slots__ = [
26023        'activity_id',
26024        'deleted_at',
26025        'role_resource',
26026        'timestamp',
26027    ]
26028
26029    def __init__(
26030        self,
26031        activity_id=None,
26032        deleted_at=None,
26033        role_resource=None,
26034        timestamp=None,
26035    ):
26036        self.activity_id = activity_id if activity_id is not None else ''
26037        '''
26038         The unique identifier of the Activity that produced this change to the RoleResource.
26039         May be empty for some system-initiated updates.
26040        '''
26041        self.deleted_at = deleted_at if deleted_at is not None else None
26042        '''
26043         If this RoleResource was deleted, the time it was deleted.
26044        '''
26045        self.role_resource = role_resource if role_resource is not None else None
26046        '''
26047         The complete RoleResource state at this time.
26048        '''
26049        self.timestamp = timestamp if timestamp is not None else None
26050        '''
26051         The time at which the RoleResource state was recorded.
26052        '''
26053
26054    def __repr__(self):
26055        return '<sdm.RoleResourceHistory ' + \
26056            'activity_id: ' + repr(self.activity_id) + ' ' +\
26057            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
26058            'role_resource: ' + repr(self.role_resource) + ' ' +\
26059            'timestamp: ' + repr(self.timestamp) + ' ' +\
26060            '>'
26061
26062    def to_dict(self):
26063        return {
26064            'activity_id': self.activity_id,
26065            'deleted_at': self.deleted_at,
26066            'role_resource': self.role_resource,
26067            'timestamp': self.timestamp,
26068        }
26069
26070    @classmethod
26071    def from_dict(cls, d):
26072        return cls(
26073            activity_id=d.get('activity_id'),
26074            deleted_at=d.get('deleted_at'),
26075            role_resource=d.get('role_resource'),
26076            timestamp=d.get('timestamp'),
26077        )
26078
26079
26080class RoleUpdateResponse:
26081    '''
26082         RoleUpdateResponse returns the fields of a Role after it has been updated by
26083     a RoleUpdateRequest.
26084    '''
26085    __slots__ = [
26086        'meta',
26087        'rate_limit',
26088        'role',
26089    ]
26090
26091    def __init__(
26092        self,
26093        meta=None,
26094        rate_limit=None,
26095        role=None,
26096    ):
26097        self.meta = meta if meta is not None else None
26098        '''
26099         Reserved for future use.
26100        '''
26101        self.rate_limit = rate_limit if rate_limit is not None else None
26102        '''
26103         Rate limit information.
26104        '''
26105        self.role = role if role is not None else None
26106        '''
26107         The updated Role.
26108        '''
26109
26110    def __repr__(self):
26111        return '<sdm.RoleUpdateResponse ' + \
26112            'meta: ' + repr(self.meta) + ' ' +\
26113            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26114            'role: ' + repr(self.role) + ' ' +\
26115            '>'
26116
26117    def to_dict(self):
26118        return {
26119            'meta': self.meta,
26120            'rate_limit': self.rate_limit,
26121            'role': self.role,
26122        }
26123
26124    @classmethod
26125    def from_dict(cls, d):
26126        return cls(
26127            meta=d.get('meta'),
26128            rate_limit=d.get('rate_limit'),
26129            role=d.get('role'),
26130        )
26131
26132
26133class SQLServer:
26134    __slots__ = [
26135        'allow_deprecated_encryption',
26136        'bind_interface',
26137        'database',
26138        'egress_filter',
26139        'healthy',
26140        'hostname',
26141        'id',
26142        'name',
26143        'override_database',
26144        'password',
26145        'port',
26146        'port_override',
26147        'proxy_cluster_id',
26148        'schema',
26149        'secret_store_id',
26150        'subdomain',
26151        'tags',
26152        'username',
26153    ]
26154
26155    def __init__(
26156        self,
26157        allow_deprecated_encryption=None,
26158        bind_interface=None,
26159        database=None,
26160        egress_filter=None,
26161        healthy=None,
26162        hostname=None,
26163        id=None,
26164        name=None,
26165        override_database=None,
26166        password=None,
26167        port=None,
26168        port_override=None,
26169        proxy_cluster_id=None,
26170        schema=None,
26171        secret_store_id=None,
26172        subdomain=None,
26173        tags=None,
26174        username=None,
26175    ):
26176        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
26177        '''
26178         Whether to allow deprecated encryption protocols to be used for this resource. For example,
26179         TLS 1.0.
26180        '''
26181        self.bind_interface = bind_interface if bind_interface is not None else ''
26182        '''
26183         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26184        '''
26185        self.database = database if database is not None else ''
26186        '''
26187         The database for healthchecks, and used for clients if Override Default Database is true.
26188        '''
26189        self.egress_filter = egress_filter if egress_filter is not None else ''
26190        '''
26191         A filter applied to the routing logic to pin datasource to nodes.
26192        '''
26193        self.healthy = healthy if healthy is not None else False
26194        '''
26195         True if the datasource is reachable and the credentials are valid.
26196        '''
26197        self.hostname = hostname if hostname is not None else ''
26198        '''
26199         The host to dial to initiate a connection from the egress node to this resource.
26200        '''
26201        self.id = id if id is not None else ''
26202        '''
26203         Unique identifier of the Resource.
26204        '''
26205        self.name = name if name is not None else ''
26206        '''
26207         Unique human-readable name of the Resource.
26208        '''
26209        self.override_database = override_database if override_database is not None else False
26210        '''
26211         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
26212        '''
26213        self.password = password if password is not None else ''
26214        '''
26215         The password to authenticate with.
26216        '''
26217        self.port = port if port is not None else 0
26218        '''
26219         The port to dial to initiate a connection from the egress node to this resource.
26220        '''
26221        self.port_override = port_override if port_override is not None else 0
26222        '''
26223         The local port used by clients to connect to this resource.
26224        '''
26225        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26226        '''
26227         ID of the proxy cluster for this resource, if any.
26228        '''
26229        self.schema = schema if schema is not None else ''
26230        '''
26231         The Schema to use to direct initial requests.
26232        '''
26233        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26234        '''
26235         ID of the secret store containing credentials for this resource, if any.
26236        '''
26237        self.subdomain = subdomain if subdomain is not None else ''
26238        '''
26239         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26240        '''
26241        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26242        '''
26243         Tags is a map of key, value pairs.
26244        '''
26245        self.username = username if username is not None else ''
26246        '''
26247         The username to authenticate with.
26248        '''
26249
26250    def __repr__(self):
26251        return '<sdm.SQLServer ' + \
26252            'allow_deprecated_encryption: ' + repr(self.allow_deprecated_encryption) + ' ' +\
26253            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26254            'database: ' + repr(self.database) + ' ' +\
26255            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26256            'healthy: ' + repr(self.healthy) + ' ' +\
26257            'hostname: ' + repr(self.hostname) + ' ' +\
26258            'id: ' + repr(self.id) + ' ' +\
26259            'name: ' + repr(self.name) + ' ' +\
26260            'override_database: ' + repr(self.override_database) + ' ' +\
26261            'password: ' + repr(self.password) + ' ' +\
26262            'port: ' + repr(self.port) + ' ' +\
26263            'port_override: ' + repr(self.port_override) + ' ' +\
26264            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26265            'schema: ' + repr(self.schema) + ' ' +\
26266            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26267            'subdomain: ' + repr(self.subdomain) + ' ' +\
26268            'tags: ' + repr(self.tags) + ' ' +\
26269            'username: ' + repr(self.username) + ' ' +\
26270            '>'
26271
26272    def to_dict(self):
26273        return {
26274            'allow_deprecated_encryption': self.allow_deprecated_encryption,
26275            'bind_interface': self.bind_interface,
26276            'database': self.database,
26277            'egress_filter': self.egress_filter,
26278            'healthy': self.healthy,
26279            'hostname': self.hostname,
26280            'id': self.id,
26281            'name': self.name,
26282            'override_database': self.override_database,
26283            'password': self.password,
26284            'port': self.port,
26285            'port_override': self.port_override,
26286            'proxy_cluster_id': self.proxy_cluster_id,
26287            'schema': self.schema,
26288            'secret_store_id': self.secret_store_id,
26289            'subdomain': self.subdomain,
26290            'tags': self.tags,
26291            'username': self.username,
26292        }
26293
26294    @classmethod
26295    def from_dict(cls, d):
26296        return cls(
26297            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
26298            bind_interface=d.get('bind_interface'),
26299            database=d.get('database'),
26300            egress_filter=d.get('egress_filter'),
26301            healthy=d.get('healthy'),
26302            hostname=d.get('hostname'),
26303            id=d.get('id'),
26304            name=d.get('name'),
26305            override_database=d.get('override_database'),
26306            password=d.get('password'),
26307            port=d.get('port'),
26308            port_override=d.get('port_override'),
26309            proxy_cluster_id=d.get('proxy_cluster_id'),
26310            schema=d.get('schema'),
26311            secret_store_id=d.get('secret_store_id'),
26312            subdomain=d.get('subdomain'),
26313            tags=d.get('tags'),
26314            username=d.get('username'),
26315        )
26316
26317
26318class SQLServerAzureAD:
26319    __slots__ = [
26320        'allow_deprecated_encryption',
26321        'bind_interface',
26322        'client_id',
26323        'database',
26324        'egress_filter',
26325        'healthy',
26326        'hostname',
26327        'id',
26328        'name',
26329        'override_database',
26330        'port',
26331        'port_override',
26332        'proxy_cluster_id',
26333        'schema',
26334        'secret',
26335        'secret_store_id',
26336        'subdomain',
26337        'tags',
26338        'tenant_id',
26339    ]
26340
26341    def __init__(
26342        self,
26343        allow_deprecated_encryption=None,
26344        bind_interface=None,
26345        client_id=None,
26346        database=None,
26347        egress_filter=None,
26348        healthy=None,
26349        hostname=None,
26350        id=None,
26351        name=None,
26352        override_database=None,
26353        port=None,
26354        port_override=None,
26355        proxy_cluster_id=None,
26356        schema=None,
26357        secret=None,
26358        secret_store_id=None,
26359        subdomain=None,
26360        tags=None,
26361        tenant_id=None,
26362    ):
26363        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
26364        '''
26365         Whether to allow deprecated encryption protocols to be used for this resource. For example,
26366         TLS 1.0.
26367        '''
26368        self.bind_interface = bind_interface if bind_interface is not None else ''
26369        '''
26370         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26371        '''
26372        self.client_id = client_id if client_id is not None else ''
26373        '''
26374         The Azure AD application (client) ID with which to authenticate.
26375        '''
26376        self.database = database if database is not None else ''
26377        '''
26378         The database for healthchecks, and used for clients if Override Default Database is true.
26379        '''
26380        self.egress_filter = egress_filter if egress_filter is not None else ''
26381        '''
26382         A filter applied to the routing logic to pin datasource to nodes.
26383        '''
26384        self.healthy = healthy if healthy is not None else False
26385        '''
26386         True if the datasource is reachable and the credentials are valid.
26387        '''
26388        self.hostname = hostname if hostname is not None else ''
26389        '''
26390         The host to dial to initiate a connection from the egress node to this resource.
26391        '''
26392        self.id = id if id is not None else ''
26393        '''
26394         Unique identifier of the Resource.
26395        '''
26396        self.name = name if name is not None else ''
26397        '''
26398         Unique human-readable name of the Resource.
26399        '''
26400        self.override_database = override_database if override_database is not None else False
26401        '''
26402         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
26403        '''
26404        self.port = port if port is not None else 0
26405        '''
26406         The port to dial to initiate a connection from the egress node to this resource.
26407        '''
26408        self.port_override = port_override if port_override is not None else 0
26409        '''
26410         The local port used by clients to connect to this resource.
26411        '''
26412        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26413        '''
26414         ID of the proxy cluster for this resource, if any.
26415        '''
26416        self.schema = schema if schema is not None else ''
26417        '''
26418         The Schema to use to direct initial requests.
26419        '''
26420        self.secret = secret if secret is not None else ''
26421        '''
26422         The Azure AD client secret (application password) with which to authenticate.
26423        '''
26424        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26425        '''
26426         ID of the secret store containing credentials for this resource, if any.
26427        '''
26428        self.subdomain = subdomain if subdomain is not None else ''
26429        '''
26430         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26431        '''
26432        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26433        '''
26434         Tags is a map of key, value pairs.
26435        '''
26436        self.tenant_id = tenant_id if tenant_id is not None else ''
26437        '''
26438         The Azure AD directory (tenant) ID with which to authenticate.
26439        '''
26440
26441    def __repr__(self):
26442        return '<sdm.SQLServerAzureAD ' + \
26443            'allow_deprecated_encryption: ' + repr(self.allow_deprecated_encryption) + ' ' +\
26444            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26445            'client_id: ' + repr(self.client_id) + ' ' +\
26446            'database: ' + repr(self.database) + ' ' +\
26447            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26448            'healthy: ' + repr(self.healthy) + ' ' +\
26449            'hostname: ' + repr(self.hostname) + ' ' +\
26450            'id: ' + repr(self.id) + ' ' +\
26451            'name: ' + repr(self.name) + ' ' +\
26452            'override_database: ' + repr(self.override_database) + ' ' +\
26453            'port: ' + repr(self.port) + ' ' +\
26454            'port_override: ' + repr(self.port_override) + ' ' +\
26455            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26456            'schema: ' + repr(self.schema) + ' ' +\
26457            'secret: ' + repr(self.secret) + ' ' +\
26458            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26459            'subdomain: ' + repr(self.subdomain) + ' ' +\
26460            'tags: ' + repr(self.tags) + ' ' +\
26461            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
26462            '>'
26463
26464    def to_dict(self):
26465        return {
26466            'allow_deprecated_encryption': self.allow_deprecated_encryption,
26467            'bind_interface': self.bind_interface,
26468            'client_id': self.client_id,
26469            'database': self.database,
26470            'egress_filter': self.egress_filter,
26471            'healthy': self.healthy,
26472            'hostname': self.hostname,
26473            'id': self.id,
26474            'name': self.name,
26475            'override_database': self.override_database,
26476            'port': self.port,
26477            'port_override': self.port_override,
26478            'proxy_cluster_id': self.proxy_cluster_id,
26479            'schema': self.schema,
26480            'secret': self.secret,
26481            'secret_store_id': self.secret_store_id,
26482            'subdomain': self.subdomain,
26483            'tags': self.tags,
26484            'tenant_id': self.tenant_id,
26485        }
26486
26487    @classmethod
26488    def from_dict(cls, d):
26489        return cls(
26490            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
26491            bind_interface=d.get('bind_interface'),
26492            client_id=d.get('client_id'),
26493            database=d.get('database'),
26494            egress_filter=d.get('egress_filter'),
26495            healthy=d.get('healthy'),
26496            hostname=d.get('hostname'),
26497            id=d.get('id'),
26498            name=d.get('name'),
26499            override_database=d.get('override_database'),
26500            port=d.get('port'),
26501            port_override=d.get('port_override'),
26502            proxy_cluster_id=d.get('proxy_cluster_id'),
26503            schema=d.get('schema'),
26504            secret=d.get('secret'),
26505            secret_store_id=d.get('secret_store_id'),
26506            subdomain=d.get('subdomain'),
26507            tags=d.get('tags'),
26508            tenant_id=d.get('tenant_id'),
26509        )
26510
26511
26512class SQLServerKerberosAD:
26513    __slots__ = [
26514        'allow_deprecated_encryption',
26515        'bind_interface',
26516        'database',
26517        'egress_filter',
26518        'healthy',
26519        'hostname',
26520        'id',
26521        'keytab',
26522        'krb_config',
26523        'name',
26524        'override_database',
26525        'port',
26526        'port_override',
26527        'proxy_cluster_id',
26528        'realm',
26529        'schema',
26530        'secret_store_id',
26531        'server_spn',
26532        'subdomain',
26533        'tags',
26534        'username',
26535    ]
26536
26537    def __init__(
26538        self,
26539        allow_deprecated_encryption=None,
26540        bind_interface=None,
26541        database=None,
26542        egress_filter=None,
26543        healthy=None,
26544        hostname=None,
26545        id=None,
26546        keytab=None,
26547        krb_config=None,
26548        name=None,
26549        override_database=None,
26550        port=None,
26551        port_override=None,
26552        proxy_cluster_id=None,
26553        realm=None,
26554        schema=None,
26555        secret_store_id=None,
26556        server_spn=None,
26557        subdomain=None,
26558        tags=None,
26559        username=None,
26560    ):
26561        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
26562        '''
26563         Whether to allow deprecated encryption protocols to be used for this resource. For example,
26564         TLS 1.0.
26565        '''
26566        self.bind_interface = bind_interface if bind_interface is not None else ''
26567        '''
26568         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26569        '''
26570        self.database = database if database is not None else ''
26571        '''
26572         The database for healthchecks, and used for clients if Override Default Database is true.
26573        '''
26574        self.egress_filter = egress_filter if egress_filter is not None else ''
26575        '''
26576         A filter applied to the routing logic to pin datasource to nodes.
26577        '''
26578        self.healthy = healthy if healthy is not None else False
26579        '''
26580         True if the datasource is reachable and the credentials are valid.
26581        '''
26582        self.hostname = hostname if hostname is not None else ''
26583        '''
26584         The host to dial to initiate a connection from the egress node to this resource.
26585        '''
26586        self.id = id if id is not None else ''
26587        '''
26588         Unique identifier of the Resource.
26589        '''
26590        self.keytab = keytab if keytab is not None else ''
26591        '''
26592         The keytab file in base64 format containing an entry with the principal name (username@realm) and key version number with which to authenticate.
26593        '''
26594        self.krb_config = krb_config if krb_config is not None else ''
26595        '''
26596         The Kerberos 5 configuration file (krb5.conf) specifying the Active Directory server (KDC) for the configured realm.
26597        '''
26598        self.name = name if name is not None else ''
26599        '''
26600         Unique human-readable name of the Resource.
26601        '''
26602        self.override_database = override_database if override_database is not None else False
26603        '''
26604         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
26605        '''
26606        self.port = port if port is not None else 0
26607        '''
26608         The port to dial to initiate a connection from the egress node to this resource.
26609        '''
26610        self.port_override = port_override if port_override is not None else 0
26611        '''
26612         The local port used by clients to connect to this resource.
26613        '''
26614        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26615        '''
26616         ID of the proxy cluster for this resource, if any.
26617        '''
26618        self.realm = realm if realm is not None else ''
26619        '''
26620         The Active Directory domain (realm) to which the configured username belongs.
26621        '''
26622        self.schema = schema if schema is not None else ''
26623        '''
26624         The Schema to use to direct initial requests.
26625        '''
26626        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26627        '''
26628         ID of the secret store containing credentials for this resource, if any.
26629        '''
26630        self.server_spn = server_spn if server_spn is not None else ''
26631        '''
26632         The Service Principal Name of the Microsoft SQL Server instance in Active Directory.
26633        '''
26634        self.subdomain = subdomain if subdomain is not None else ''
26635        '''
26636         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26637        '''
26638        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26639        '''
26640         Tags is a map of key, value pairs.
26641        '''
26642        self.username = username if username is not None else ''
26643        '''
26644         The username to authenticate with.
26645        '''
26646
26647    def __repr__(self):
26648        return '<sdm.SQLServerKerberosAD ' + \
26649            'allow_deprecated_encryption: ' + repr(self.allow_deprecated_encryption) + ' ' +\
26650            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26651            'database: ' + repr(self.database) + ' ' +\
26652            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26653            'healthy: ' + repr(self.healthy) + ' ' +\
26654            'hostname: ' + repr(self.hostname) + ' ' +\
26655            'id: ' + repr(self.id) + ' ' +\
26656            'keytab: ' + repr(self.keytab) + ' ' +\
26657            'krb_config: ' + repr(self.krb_config) + ' ' +\
26658            'name: ' + repr(self.name) + ' ' +\
26659            'override_database: ' + repr(self.override_database) + ' ' +\
26660            'port: ' + repr(self.port) + ' ' +\
26661            'port_override: ' + repr(self.port_override) + ' ' +\
26662            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26663            'realm: ' + repr(self.realm) + ' ' +\
26664            'schema: ' + repr(self.schema) + ' ' +\
26665            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26666            'server_spn: ' + repr(self.server_spn) + ' ' +\
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_encryption': self.allow_deprecated_encryption,
26675            'bind_interface': self.bind_interface,
26676            'database': self.database,
26677            'egress_filter': self.egress_filter,
26678            'healthy': self.healthy,
26679            'hostname': self.hostname,
26680            'id': self.id,
26681            'keytab': self.keytab,
26682            'krb_config': self.krb_config,
26683            'name': self.name,
26684            'override_database': self.override_database,
26685            'port': self.port,
26686            'port_override': self.port_override,
26687            'proxy_cluster_id': self.proxy_cluster_id,
26688            'realm': self.realm,
26689            'schema': self.schema,
26690            'secret_store_id': self.secret_store_id,
26691            'server_spn': self.server_spn,
26692            'subdomain': self.subdomain,
26693            'tags': self.tags,
26694            'username': self.username,
26695        }
26696
26697    @classmethod
26698    def from_dict(cls, d):
26699        return cls(
26700            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
26701            bind_interface=d.get('bind_interface'),
26702            database=d.get('database'),
26703            egress_filter=d.get('egress_filter'),
26704            healthy=d.get('healthy'),
26705            hostname=d.get('hostname'),
26706            id=d.get('id'),
26707            keytab=d.get('keytab'),
26708            krb_config=d.get('krb_config'),
26709            name=d.get('name'),
26710            override_database=d.get('override_database'),
26711            port=d.get('port'),
26712            port_override=d.get('port_override'),
26713            proxy_cluster_id=d.get('proxy_cluster_id'),
26714            realm=d.get('realm'),
26715            schema=d.get('schema'),
26716            secret_store_id=d.get('secret_store_id'),
26717            server_spn=d.get('server_spn'),
26718            subdomain=d.get('subdomain'),
26719            tags=d.get('tags'),
26720            username=d.get('username'),
26721        )
26722
26723
26724class SSH:
26725    __slots__ = [
26726        'allow_deprecated_key_exchanges',
26727        'bind_interface',
26728        'egress_filter',
26729        'healthy',
26730        'hostname',
26731        'id',
26732        'key_type',
26733        'name',
26734        'port',
26735        'port_forwarding',
26736        'port_override',
26737        'proxy_cluster_id',
26738        'public_key',
26739        'secret_store_id',
26740        'subdomain',
26741        'tags',
26742        'username',
26743    ]
26744
26745    def __init__(
26746        self,
26747        allow_deprecated_key_exchanges=None,
26748        bind_interface=None,
26749        egress_filter=None,
26750        healthy=None,
26751        hostname=None,
26752        id=None,
26753        key_type=None,
26754        name=None,
26755        port=None,
26756        port_forwarding=None,
26757        port_override=None,
26758        proxy_cluster_id=None,
26759        public_key=None,
26760        secret_store_id=None,
26761        subdomain=None,
26762        tags=None,
26763        username=None,
26764    ):
26765        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
26766        '''
26767         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
26768        '''
26769        self.bind_interface = bind_interface if bind_interface is not None else ''
26770        '''
26771         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26772        '''
26773        self.egress_filter = egress_filter if egress_filter is not None else ''
26774        '''
26775         A filter applied to the routing logic to pin datasource to nodes.
26776        '''
26777        self.healthy = healthy if healthy is not None else False
26778        '''
26779         True if the datasource is reachable and the credentials are valid.
26780        '''
26781        self.hostname = hostname if hostname is not None else ''
26782        '''
26783         The host to dial to initiate a connection from the egress node to this resource.
26784        '''
26785        self.id = id if id is not None else ''
26786        '''
26787         Unique identifier of the Resource.
26788        '''
26789        self.key_type = key_type if key_type is not None else ''
26790        '''
26791         The key type to use e.g. rsa-2048 or ed25519
26792        '''
26793        self.name = name if name is not None else ''
26794        '''
26795         Unique human-readable name of the Resource.
26796        '''
26797        self.port = port if port is not None else 0
26798        '''
26799         The port to dial to initiate a connection from the egress node to this resource.
26800        '''
26801        self.port_forwarding = port_forwarding if port_forwarding is not None else False
26802        '''
26803         Whether port forwarding is allowed through this server.
26804        '''
26805        self.port_override = port_override if port_override is not None else 0
26806        '''
26807         The local port used by clients to connect to this resource.
26808        '''
26809        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26810        '''
26811         ID of the proxy cluster for this resource, if any.
26812        '''
26813        self.public_key = public_key if public_key is not None else ''
26814        '''
26815         The public key to append to a server's authorized keys. This will be generated after resource creation.
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.SSH ' + \
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            'key_type: ' + repr(self.key_type) + ' ' +\
26843            'name: ' + repr(self.name) + ' ' +\
26844            'port: ' + repr(self.port) + ' ' +\
26845            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
26846            'port_override: ' + repr(self.port_override) + ' ' +\
26847            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26848            'public_key: ' + repr(self.public_key) + ' ' +\
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            'key_type': self.key_type,
26865            'name': self.name,
26866            'port': self.port,
26867            'port_forwarding': self.port_forwarding,
26868            'port_override': self.port_override,
26869            'proxy_cluster_id': self.proxy_cluster_id,
26870            'public_key': self.public_key,
26871            'secret_store_id': self.secret_store_id,
26872            'subdomain': self.subdomain,
26873            'tags': self.tags,
26874            'username': self.username,
26875        }
26876
26877    @classmethod
26878    def from_dict(cls, d):
26879        return cls(
26880            allow_deprecated_key_exchanges=d.get(
26881                'allow_deprecated_key_exchanges'),
26882            bind_interface=d.get('bind_interface'),
26883            egress_filter=d.get('egress_filter'),
26884            healthy=d.get('healthy'),
26885            hostname=d.get('hostname'),
26886            id=d.get('id'),
26887            key_type=d.get('key_type'),
26888            name=d.get('name'),
26889            port=d.get('port'),
26890            port_forwarding=d.get('port_forwarding'),
26891            port_override=d.get('port_override'),
26892            proxy_cluster_id=d.get('proxy_cluster_id'),
26893            public_key=d.get('public_key'),
26894            secret_store_id=d.get('secret_store_id'),
26895            subdomain=d.get('subdomain'),
26896            tags=d.get('tags'),
26897            username=d.get('username'),
26898        )
26899
26900
26901class SSHCert:
26902    __slots__ = [
26903        'allow_deprecated_key_exchanges',
26904        'bind_interface',
26905        'egress_filter',
26906        'healthy',
26907        'hostname',
26908        'id',
26909        'identity_alias_healthcheck_username',
26910        'identity_set_id',
26911        'key_type',
26912        'name',
26913        'port',
26914        'port_forwarding',
26915        'port_override',
26916        'proxy_cluster_id',
26917        'secret_store_id',
26918        'subdomain',
26919        'tags',
26920        'username',
26921    ]
26922
26923    def __init__(
26924        self,
26925        allow_deprecated_key_exchanges=None,
26926        bind_interface=None,
26927        egress_filter=None,
26928        healthy=None,
26929        hostname=None,
26930        id=None,
26931        identity_alias_healthcheck_username=None,
26932        identity_set_id=None,
26933        key_type=None,
26934        name=None,
26935        port=None,
26936        port_forwarding=None,
26937        port_override=None,
26938        proxy_cluster_id=None,
26939        secret_store_id=None,
26940        subdomain=None,
26941        tags=None,
26942        username=None,
26943    ):
26944        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
26945        '''
26946         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
26947        '''
26948        self.bind_interface = bind_interface if bind_interface is not None else ''
26949        '''
26950         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26951        '''
26952        self.egress_filter = egress_filter if egress_filter is not None else ''
26953        '''
26954         A filter applied to the routing logic to pin datasource to nodes.
26955        '''
26956        self.healthy = healthy if healthy is not None else False
26957        '''
26958         True if the datasource is reachable and the credentials are valid.
26959        '''
26960        self.hostname = hostname if hostname is not None else ''
26961        '''
26962         The host to dial to initiate a connection from the egress node to this resource.
26963        '''
26964        self.id = id if id is not None else ''
26965        '''
26966         Unique identifier of the Resource.
26967        '''
26968        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
26969        '''
26970         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
26971        '''
26972        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
26973        '''
26974         The ID of the identity set to use for identity connections.
26975        '''
26976        self.key_type = key_type if key_type is not None else ''
26977        '''
26978         The key type to use e.g. rsa-2048 or ed25519
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.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26997        '''
26998         ID of the proxy cluster for this resource, if any.
26999        '''
27000        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
27001        '''
27002         ID of the secret store containing credentials for this resource, if any.
27003        '''
27004        self.subdomain = subdomain if subdomain is not None else ''
27005        '''
27006         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
27007        '''
27008        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27009        '''
27010         Tags is a map of key, value pairs.
27011        '''
27012        self.username = username if username is not None else ''
27013        '''
27014         The username to authenticate with.
27015        '''
27016
27017    def __repr__(self):
27018        return '<sdm.SSHCert ' + \
27019            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
27020            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
27021            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
27022            'healthy: ' + repr(self.healthy) + ' ' +\
27023            'hostname: ' + repr(self.hostname) + ' ' +\
27024            'id: ' + repr(self.id) + ' ' +\
27025            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
27026            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
27027            'key_type: ' + repr(self.key_type) + ' ' +\
27028            'name: ' + repr(self.name) + ' ' +\
27029            'port: ' + repr(self.port) + ' ' +\
27030            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
27031            'port_override: ' + repr(self.port_override) + ' ' +\
27032            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
27033            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
27034            'subdomain: ' + repr(self.subdomain) + ' ' +\
27035            'tags: ' + repr(self.tags) + ' ' +\
27036            'username: ' + repr(self.username) + ' ' +\
27037            '>'
27038
27039    def to_dict(self):
27040        return {
27041            'allow_deprecated_key_exchanges':
27042            self.allow_deprecated_key_exchanges,
27043            'bind_interface': self.bind_interface,
27044            'egress_filter': self.egress_filter,
27045            'healthy': self.healthy,
27046            'hostname': self.hostname,
27047            'id': self.id,
27048            'identity_alias_healthcheck_username':
27049            self.identity_alias_healthcheck_username,
27050            'identity_set_id': self.identity_set_id,
27051            'key_type': self.key_type,
27052            'name': self.name,
27053            'port': self.port,
27054            'port_forwarding': self.port_forwarding,
27055            'port_override': self.port_override,
27056            'proxy_cluster_id': self.proxy_cluster_id,
27057            'secret_store_id': self.secret_store_id,
27058            'subdomain': self.subdomain,
27059            'tags': self.tags,
27060            'username': self.username,
27061        }
27062
27063    @classmethod
27064    def from_dict(cls, d):
27065        return cls(
27066            allow_deprecated_key_exchanges=d.get(
27067                'allow_deprecated_key_exchanges'),
27068            bind_interface=d.get('bind_interface'),
27069            egress_filter=d.get('egress_filter'),
27070            healthy=d.get('healthy'),
27071            hostname=d.get('hostname'),
27072            id=d.get('id'),
27073            identity_alias_healthcheck_username=d.get(
27074                'identity_alias_healthcheck_username'),
27075            identity_set_id=d.get('identity_set_id'),
27076            key_type=d.get('key_type'),
27077            name=d.get('name'),
27078            port=d.get('port'),
27079            port_forwarding=d.get('port_forwarding'),
27080            port_override=d.get('port_override'),
27081            proxy_cluster_id=d.get('proxy_cluster_id'),
27082            secret_store_id=d.get('secret_store_id'),
27083            subdomain=d.get('subdomain'),
27084            tags=d.get('tags'),
27085            username=d.get('username'),
27086        )
27087
27088
27089class SSHCustomerKey:
27090    __slots__ = [
27091        'allow_deprecated_key_exchanges',
27092        'bind_interface',
27093        'egress_filter',
27094        'healthy',
27095        'hostname',
27096        'id',
27097        'identity_alias_healthcheck_username',
27098        'identity_set_id',
27099        'name',
27100        'port',
27101        'port_forwarding',
27102        'port_override',
27103        'private_key',
27104        'proxy_cluster_id',
27105        'secret_store_id',
27106        'subdomain',
27107        'tags',
27108        'username',
27109    ]
27110
27111    def __init__(
27112        self,
27113        allow_deprecated_key_exchanges=None,
27114        bind_interface=None,
27115        egress_filter=None,
27116        healthy=None,
27117        hostname=None,
27118        id=None,
27119        identity_alias_healthcheck_username=None,
27120        identity_set_id=None,
27121        name=None,
27122        port=None,
27123        port_forwarding=None,
27124        port_override=None,
27125        private_key=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.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
27157        '''
27158         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
27159        '''
27160        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
27161        '''
27162         The ID of the identity set to use for identity connections.
27163        '''
27164        self.name = name if name is not None else ''
27165        '''
27166         Unique human-readable name of the Resource.
27167        '''
27168        self.port = port if port is not None else 0
27169        '''
27170         The port to dial to initiate a connection from the egress node to this resource.
27171        '''
27172        self.port_forwarding = port_forwarding if port_forwarding is not None else False
27173        '''
27174         Whether port forwarding is allowed through this server.
27175        '''
27176        self.port_override = port_override if port_override is not None else 0
27177        '''
27178         The local port used by clients to connect to this resource.
27179        '''
27180        self.private_key = private_key if private_key is not None else ''
27181        '''
27182         The private key used to authenticate with the server.
27183        '''
27184        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
27185        '''
27186         ID of the proxy cluster for this resource, if any.
27187        '''
27188        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
27189        '''
27190         ID of the secret store containing credentials for this resource, if any.
27191        '''
27192        self.subdomain = subdomain if subdomain is not None else ''
27193        '''
27194         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
27195        '''
27196        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27197        '''
27198         Tags is a map of key, value pairs.
27199        '''
27200        self.username = username if username is not None else ''
27201        '''
27202         The username to authenticate with.
27203        '''
27204
27205    def __repr__(self):
27206        return '<sdm.SSHCustomerKey ' + \
27207            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
27208            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
27209            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
27210            'healthy: ' + repr(self.healthy) + ' ' +\
27211            'hostname: ' + repr(self.hostname) + ' ' +\
27212            'id: ' + repr(self.id) + ' ' +\
27213            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
27214            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
27215            'name: ' + repr(self.name) + ' ' +\
27216            'port: ' + repr(self.port) + ' ' +\
27217            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
27218            'port_override: ' + repr(self.port_override) + ' ' +\
27219            'private_key: ' + repr(self.private_key) + ' ' +\
27220            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
27221            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
27222            'subdomain: ' + repr(self.subdomain) + ' ' +\
27223            'tags: ' + repr(self.tags) + ' ' +\
27224            'username: ' + repr(self.username) + ' ' +\
27225            '>'
27226
27227    def to_dict(self):
27228        return {
27229            'allow_deprecated_key_exchanges':
27230            self.allow_deprecated_key_exchanges,
27231            'bind_interface': self.bind_interface,
27232            'egress_filter': self.egress_filter,
27233            'healthy': self.healthy,
27234            'hostname': self.hostname,
27235            'id': self.id,
27236            'identity_alias_healthcheck_username':
27237            self.identity_alias_healthcheck_username,
27238            'identity_set_id': self.identity_set_id,
27239            'name': self.name,
27240            'port': self.port,
27241            'port_forwarding': self.port_forwarding,
27242            'port_override': self.port_override,
27243            'private_key': self.private_key,
27244            'proxy_cluster_id': self.proxy_cluster_id,
27245            'secret_store_id': self.secret_store_id,
27246            'subdomain': self.subdomain,
27247            'tags': self.tags,
27248            'username': self.username,
27249        }
27250
27251    @classmethod
27252    def from_dict(cls, d):
27253        return cls(
27254            allow_deprecated_key_exchanges=d.get(
27255                'allow_deprecated_key_exchanges'),
27256            bind_interface=d.get('bind_interface'),
27257            egress_filter=d.get('egress_filter'),
27258            healthy=d.get('healthy'),
27259            hostname=d.get('hostname'),
27260            id=d.get('id'),
27261            identity_alias_healthcheck_username=d.get(
27262                'identity_alias_healthcheck_username'),
27263            identity_set_id=d.get('identity_set_id'),
27264            name=d.get('name'),
27265            port=d.get('port'),
27266            port_forwarding=d.get('port_forwarding'),
27267            port_override=d.get('port_override'),
27268            private_key=d.get('private_key'),
27269            proxy_cluster_id=d.get('proxy_cluster_id'),
27270            secret_store_id=d.get('secret_store_id'),
27271            subdomain=d.get('subdomain'),
27272            tags=d.get('tags'),
27273            username=d.get('username'),
27274        )
27275
27276
27277class SSHPassword:
27278    __slots__ = [
27279        'allow_deprecated_key_exchanges',
27280        'bind_interface',
27281        'egress_filter',
27282        'healthy',
27283        'hostname',
27284        'id',
27285        'name',
27286        'password',
27287        'port',
27288        'port_forwarding',
27289        'port_override',
27290        'proxy_cluster_id',
27291        'secret_store_id',
27292        'subdomain',
27293        'tags',
27294        'username',
27295    ]
27296
27297    def __init__(
27298        self,
27299        allow_deprecated_key_exchanges=None,
27300        bind_interface=None,
27301        egress_filter=None,
27302        healthy=None,
27303        hostname=None,
27304        id=None,
27305        name=None,
27306        password=None,
27307        port=None,
27308        port_forwarding=None,
27309        port_override=None,
27310        proxy_cluster_id=None,
27311        secret_store_id=None,
27312        subdomain=None,
27313        tags=None,
27314        username=None,
27315    ):
27316        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
27317        '''
27318         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
27319        '''
27320        self.bind_interface = bind_interface if bind_interface is not None else ''
27321        '''
27322         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
27323        '''
27324        self.egress_filter = egress_filter if egress_filter is not None else ''
27325        '''
27326         A filter applied to the routing logic to pin datasource to nodes.
27327        '''
27328        self.healthy = healthy if healthy is not None else False
27329        '''
27330         True if the datasource is reachable and the credentials are valid.
27331        '''
27332        self.hostname = hostname if hostname is not None else ''
27333        '''
27334         The host to dial to initiate a connection from the egress node to this resource.
27335        '''
27336        self.id = id if id is not None else ''
27337        '''
27338         Unique identifier of the Resource.
27339        '''
27340        self.name = name if name is not None else ''
27341        '''
27342         Unique human-readable name of the Resource.
27343        '''
27344        self.password = password if password is not None else ''
27345        '''
27346         The password to authenticate with.
27347        '''
27348        self.port = port if port is not None else 0
27349        '''
27350         The port to dial to initiate a connection from the egress node to this resource.
27351        '''
27352        self.port_forwarding = port_forwarding if port_forwarding is not None else False
27353        '''
27354         Whether port forwarding is allowed through this server.
27355        '''
27356        self.port_override = port_override if port_override is not None else 0
27357        '''
27358         The local port used by clients to connect to this resource.
27359        '''
27360        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
27361        '''
27362         ID of the proxy cluster for this resource, if any.
27363        '''
27364        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
27365        '''
27366         ID of the secret store containing credentials for this resource, if any.
27367        '''
27368        self.subdomain = subdomain if subdomain is not None else ''
27369        '''
27370         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
27371        '''
27372        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27373        '''
27374         Tags is a map of key, value pairs.
27375        '''
27376        self.username = username if username is not None else ''
27377        '''
27378         The username to authenticate with.
27379        '''
27380
27381    def __repr__(self):
27382        return '<sdm.SSHPassword ' + \
27383            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
27384            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
27385            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
27386            'healthy: ' + repr(self.healthy) + ' ' +\
27387            'hostname: ' + repr(self.hostname) + ' ' +\
27388            'id: ' + repr(self.id) + ' ' +\
27389            'name: ' + repr(self.name) + ' ' +\
27390            'password: ' + repr(self.password) + ' ' +\
27391            'port: ' + repr(self.port) + ' ' +\
27392            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
27393            'port_override: ' + repr(self.port_override) + ' ' +\
27394            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
27395            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
27396            'subdomain: ' + repr(self.subdomain) + ' ' +\
27397            'tags: ' + repr(self.tags) + ' ' +\
27398            'username: ' + repr(self.username) + ' ' +\
27399            '>'
27400
27401    def to_dict(self):
27402        return {
27403            'allow_deprecated_key_exchanges':
27404            self.allow_deprecated_key_exchanges,
27405            'bind_interface': self.bind_interface,
27406            'egress_filter': self.egress_filter,
27407            'healthy': self.healthy,
27408            'hostname': self.hostname,
27409            'id': self.id,
27410            'name': self.name,
27411            'password': self.password,
27412            'port': self.port,
27413            'port_forwarding': self.port_forwarding,
27414            'port_override': self.port_override,
27415            'proxy_cluster_id': self.proxy_cluster_id,
27416            'secret_store_id': self.secret_store_id,
27417            'subdomain': self.subdomain,
27418            'tags': self.tags,
27419            'username': self.username,
27420        }
27421
27422    @classmethod
27423    def from_dict(cls, d):
27424        return cls(
27425            allow_deprecated_key_exchanges=d.get(
27426                'allow_deprecated_key_exchanges'),
27427            bind_interface=d.get('bind_interface'),
27428            egress_filter=d.get('egress_filter'),
27429            healthy=d.get('healthy'),
27430            hostname=d.get('hostname'),
27431            id=d.get('id'),
27432            name=d.get('name'),
27433            password=d.get('password'),
27434            port=d.get('port'),
27435            port_forwarding=d.get('port_forwarding'),
27436            port_override=d.get('port_override'),
27437            proxy_cluster_id=d.get('proxy_cluster_id'),
27438            secret_store_id=d.get('secret_store_id'),
27439            subdomain=d.get('subdomain'),
27440            tags=d.get('tags'),
27441            username=d.get('username'),
27442        )
27443
27444
27445class SecretEngineCreateRequest:
27446    '''
27447         SecretEngineCreateRequest specifies a Secret Engine to create.
27448    '''
27449    __slots__ = [
27450        'secret_engine',
27451    ]
27452
27453    def __init__(
27454        self,
27455        secret_engine=None,
27456    ):
27457        self.secret_engine = secret_engine if secret_engine is not None else None
27458        '''
27459         Parameters to define the new Secret Engine.
27460        '''
27461
27462    def __repr__(self):
27463        return '<sdm.SecretEngineCreateRequest ' + \
27464            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
27465            '>'
27466
27467    def to_dict(self):
27468        return {
27469            'secret_engine': self.secret_engine,
27470        }
27471
27472    @classmethod
27473    def from_dict(cls, d):
27474        return cls(secret_engine=d.get('secret_engine'), )
27475
27476
27477class SecretEngineCreateResponse:
27478    '''
27479         SecretEngineCreateResponse contains information about a Secret Engine after successful creation.
27480    '''
27481    __slots__ = [
27482        'meta',
27483        'rate_limit',
27484        'secret_engine',
27485    ]
27486
27487    def __init__(
27488        self,
27489        meta=None,
27490        rate_limit=None,
27491        secret_engine=None,
27492    ):
27493        self.meta = meta if meta is not None else None
27494        '''
27495         Reserved for future use.
27496        '''
27497        self.rate_limit = rate_limit if rate_limit is not None else None
27498        '''
27499         Rate limit information.
27500        '''
27501        self.secret_engine = secret_engine if secret_engine is not None else None
27502        '''
27503         The requested Secret Engine.
27504        '''
27505
27506    def __repr__(self):
27507        return '<sdm.SecretEngineCreateResponse ' + \
27508            'meta: ' + repr(self.meta) + ' ' +\
27509            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27510            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
27511            '>'
27512
27513    def to_dict(self):
27514        return {
27515            'meta': self.meta,
27516            'rate_limit': self.rate_limit,
27517            'secret_engine': self.secret_engine,
27518        }
27519
27520    @classmethod
27521    def from_dict(cls, d):
27522        return cls(
27523            meta=d.get('meta'),
27524            rate_limit=d.get('rate_limit'),
27525            secret_engine=d.get('secret_engine'),
27526        )
27527
27528
27529class SecretEngineDeleteRequest:
27530    '''
27531         SecretEngineDeleteRequest specified the ID of a Secret Engine to be deleted.
27532    '''
27533    __slots__ = [
27534        'id',
27535    ]
27536
27537    def __init__(
27538        self,
27539        id=None,
27540    ):
27541        self.id = id if id is not None else ''
27542        '''
27543         The unique identifier of the Secret Engine to delete.
27544        '''
27545
27546    def __repr__(self):
27547        return '<sdm.SecretEngineDeleteRequest ' + \
27548            'id: ' + repr(self.id) + ' ' +\
27549            '>'
27550
27551    def to_dict(self):
27552        return {
27553            'id': self.id,
27554        }
27555
27556    @classmethod
27557    def from_dict(cls, d):
27558        return cls(id=d.get('id'), )
27559
27560
27561class SecretEngineDeleteResponse:
27562    '''
27563         SecretEngineDeleteResponse contains information about a Secret Engine after it was deleted.
27564    '''
27565    __slots__ = [
27566        'rate_limit',
27567    ]
27568
27569    def __init__(
27570        self,
27571        rate_limit=None,
27572    ):
27573        self.rate_limit = rate_limit if rate_limit is not None else None
27574        '''
27575         Rate limit information.
27576        '''
27577
27578    def __repr__(self):
27579        return '<sdm.SecretEngineDeleteResponse ' + \
27580            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27581            '>'
27582
27583    def to_dict(self):
27584        return {
27585            'rate_limit': self.rate_limit,
27586        }
27587
27588    @classmethod
27589    def from_dict(cls, d):
27590        return cls(rate_limit=d.get('rate_limit'), )
27591
27592
27593class SecretEngineGetRequest:
27594    '''
27595         SecretEngineGetRequest specifies which Secret Engine to retrieve
27596    '''
27597    __slots__ = [
27598        'id',
27599    ]
27600
27601    def __init__(
27602        self,
27603        id=None,
27604    ):
27605        self.id = id if id is not None else ''
27606        '''
27607         The unique identifier of the Secret Engine to retrieve.
27608        '''
27609
27610    def __repr__(self):
27611        return '<sdm.SecretEngineGetRequest ' + \
27612            'id: ' + repr(self.id) + ' ' +\
27613            '>'
27614
27615    def to_dict(self):
27616        return {
27617            'id': self.id,
27618        }
27619
27620    @classmethod
27621    def from_dict(cls, d):
27622        return cls(id=d.get('id'), )
27623
27624
27625class SecretEngineGetResponse:
27626    '''
27627         SecretEngineGetResponse contains information about requested Secret Engine
27628    '''
27629    __slots__ = [
27630        'meta',
27631        'rate_limit',
27632        'secret_engine',
27633    ]
27634
27635    def __init__(
27636        self,
27637        meta=None,
27638        rate_limit=None,
27639        secret_engine=None,
27640    ):
27641        self.meta = meta if meta is not None else None
27642        '''
27643         Reserved for future use.
27644        '''
27645        self.rate_limit = rate_limit if rate_limit is not None else None
27646        '''
27647         Rate limit information.
27648        '''
27649        self.secret_engine = secret_engine if secret_engine is not None else None
27650        '''
27651         The requested Secret Engine.
27652        '''
27653
27654    def __repr__(self):
27655        return '<sdm.SecretEngineGetResponse ' + \
27656            'meta: ' + repr(self.meta) + ' ' +\
27657            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27658            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
27659            '>'
27660
27661    def to_dict(self):
27662        return {
27663            'meta': self.meta,
27664            'rate_limit': self.rate_limit,
27665            'secret_engine': self.secret_engine,
27666        }
27667
27668    @classmethod
27669    def from_dict(cls, d):
27670        return cls(
27671            meta=d.get('meta'),
27672            rate_limit=d.get('rate_limit'),
27673            secret_engine=d.get('secret_engine'),
27674        )
27675
27676
27677class SecretEngineListRequest:
27678    '''
27679         SecretEngineListRequest specifies criteria for retrieving a list of Secret Engines
27680    '''
27681    __slots__ = [
27682        'filter',
27683    ]
27684
27685    def __init__(
27686        self,
27687        filter=None,
27688    ):
27689        self.filter = filter if filter is not None else ''
27690        '''
27691         A human-readable filter query string.
27692        '''
27693
27694    def __repr__(self):
27695        return '<sdm.SecretEngineListRequest ' + \
27696            'filter: ' + repr(self.filter) + ' ' +\
27697            '>'
27698
27699    def to_dict(self):
27700        return {
27701            'filter': self.filter,
27702        }
27703
27704    @classmethod
27705    def from_dict(cls, d):
27706        return cls(filter=d.get('filter'), )
27707
27708
27709class SecretEngineListResponse:
27710    '''
27711         SecretEngineListResponse contains a list of requested Secret Engine
27712    '''
27713    __slots__ = [
27714        'rate_limit',
27715    ]
27716
27717    def __init__(
27718        self,
27719        rate_limit=None,
27720    ):
27721        self.rate_limit = rate_limit if rate_limit is not None else None
27722        '''
27723         Rate limit information.
27724        '''
27725
27726    def __repr__(self):
27727        return '<sdm.SecretEngineListResponse ' + \
27728            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27729            '>'
27730
27731    def to_dict(self):
27732        return {
27733            'rate_limit': self.rate_limit,
27734        }
27735
27736    @classmethod
27737    def from_dict(cls, d):
27738        return cls(rate_limit=d.get('rate_limit'), )
27739
27740
27741class SecretEnginePasswordPolicy:
27742    __slots__ = [
27743        'allow_repeat',
27744        'exclude_characters',
27745        'exclude_upper_case',
27746        'length',
27747        'num_digits',
27748        'num_symbols',
27749    ]
27750
27751    def __init__(
27752        self,
27753        allow_repeat=None,
27754        exclude_characters=None,
27755        exclude_upper_case=None,
27756        length=None,
27757        num_digits=None,
27758        num_symbols=None,
27759    ):
27760        self.allow_repeat = allow_repeat if allow_repeat is not None else False
27761        '''
27762         If set to true allows for consecutive characters to repeat itself
27763        '''
27764        self.exclude_characters = exclude_characters if exclude_characters is not None else ''
27765        '''
27766         Characters to exclude when generating password
27767        '''
27768        self.exclude_upper_case = exclude_upper_case if exclude_upper_case is not None else False
27769        '''
27770         If set to true do not include upper case letters when generating password
27771        '''
27772        self.length = length if length is not None else 0
27773        '''
27774         Password length.
27775        '''
27776        self.num_digits = num_digits if num_digits is not None else 0
27777        '''
27778         Numbers of digits to use when generating password
27779        '''
27780        self.num_symbols = num_symbols if num_symbols is not None else 0
27781        '''
27782         Number of symbols to use when generating password
27783        '''
27784
27785    def __repr__(self):
27786        return '<sdm.SecretEnginePasswordPolicy ' + \
27787            'allow_repeat: ' + repr(self.allow_repeat) + ' ' +\
27788            'exclude_characters: ' + repr(self.exclude_characters) + ' ' +\
27789            'exclude_upper_case: ' + repr(self.exclude_upper_case) + ' ' +\
27790            'length: ' + repr(self.length) + ' ' +\
27791            'num_digits: ' + repr(self.num_digits) + ' ' +\
27792            'num_symbols: ' + repr(self.num_symbols) + ' ' +\
27793            '>'
27794
27795    def to_dict(self):
27796        return {
27797            'allow_repeat': self.allow_repeat,
27798            'exclude_characters': self.exclude_characters,
27799            'exclude_upper_case': self.exclude_upper_case,
27800            'length': self.length,
27801            'num_digits': self.num_digits,
27802            'num_symbols': self.num_symbols,
27803        }
27804
27805    @classmethod
27806    def from_dict(cls, d):
27807        return cls(
27808            allow_repeat=d.get('allow_repeat'),
27809            exclude_characters=d.get('exclude_characters'),
27810            exclude_upper_case=d.get('exclude_upper_case'),
27811            length=d.get('length'),
27812            num_digits=d.get('num_digits'),
27813            num_symbols=d.get('num_symbols'),
27814        )
27815
27816
27817class SecretEnginePolicy:
27818    __slots__ = [
27819        'password_policy',
27820    ]
27821
27822    def __init__(
27823        self,
27824        password_policy=None,
27825    ):
27826        self.password_policy = password_policy if password_policy is not None else None
27827        '''
27828         Policy for password
27829        '''
27830
27831    def __repr__(self):
27832        return '<sdm.SecretEnginePolicy ' + \
27833            'password_policy: ' + repr(self.password_policy) + ' ' +\
27834            '>'
27835
27836    def to_dict(self):
27837        return {
27838            'password_policy': self.password_policy,
27839        }
27840
27841    @classmethod
27842    def from_dict(cls, d):
27843        return cls(password_policy=d.get('password_policy'), )
27844
27845
27846class SecretEngineRotateRequest:
27847    __slots__ = [
27848        'id',
27849        'password_policy',
27850    ]
27851
27852    def __init__(
27853        self,
27854        id=None,
27855        password_policy=None,
27856    ):
27857        self.id = id if id is not None else ''
27858        '''
27859         The unique identifier of the Secret Engine to rotate credentials for.
27860        '''
27861        self.password_policy = password_policy if password_policy is not None else None
27862        '''
27863         Optional password policy to use when generating a password
27864         If not provided it will use secret engine's password_policy
27865        '''
27866
27867    def __repr__(self):
27868        return '<sdm.SecretEngineRotateRequest ' + \
27869            'id: ' + repr(self.id) + ' ' +\
27870            'password_policy: ' + repr(self.password_policy) + ' ' +\
27871            '>'
27872
27873    def to_dict(self):
27874        return {
27875            'id': self.id,
27876            'password_policy': self.password_policy,
27877        }
27878
27879    @classmethod
27880    def from_dict(cls, d):
27881        return cls(
27882            id=d.get('id'),
27883            password_policy=d.get('password_policy'),
27884        )
27885
27886
27887class SecretEngineRotateResponse:
27888    __slots__ = [
27889        'rate_limit',
27890    ]
27891
27892    def __init__(
27893        self,
27894        rate_limit=None,
27895    ):
27896        self.rate_limit = rate_limit if rate_limit is not None else None
27897        '''
27898         Rate limit information.
27899        '''
27900
27901    def __repr__(self):
27902        return '<sdm.SecretEngineRotateResponse ' + \
27903            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27904            '>'
27905
27906    def to_dict(self):
27907        return {
27908            'rate_limit': self.rate_limit,
27909        }
27910
27911    @classmethod
27912    def from_dict(cls, d):
27913        return cls(rate_limit=d.get('rate_limit'), )
27914
27915
27916class SecretEngineUpdateRequest:
27917    '''
27918         SecretEngineUpdateRequest specifies secret engine to update
27919    '''
27920    __slots__ = [
27921        'secret_engine',
27922    ]
27923
27924    def __init__(
27925        self,
27926        secret_engine=None,
27927    ):
27928        self.secret_engine = secret_engine if secret_engine is not None else None
27929        '''
27930         Secret engine to update
27931        '''
27932
27933    def __repr__(self):
27934        return '<sdm.SecretEngineUpdateRequest ' + \
27935            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
27936            '>'
27937
27938    def to_dict(self):
27939        return {
27940            'secret_engine': self.secret_engine,
27941        }
27942
27943    @classmethod
27944    def from_dict(cls, d):
27945        return cls(secret_engine=d.get('secret_engine'), )
27946
27947
27948class SecretEngineUpdateResponse:
27949    '''
27950         SecretEngineUpdateResponse contains information about Secret Engine after successful update.
27951    '''
27952    __slots__ = [
27953        'meta',
27954        'rate_limit',
27955        'secret_engine',
27956    ]
27957
27958    def __init__(
27959        self,
27960        meta=None,
27961        rate_limit=None,
27962        secret_engine=None,
27963    ):
27964        self.meta = meta if meta is not None else None
27965        '''
27966         Reserved for future use.
27967        '''
27968        self.rate_limit = rate_limit if rate_limit is not None else None
27969        '''
27970         Rate limit information.
27971        '''
27972        self.secret_engine = secret_engine if secret_engine is not None else None
27973        '''
27974         The requested Secret Engine.
27975        '''
27976
27977    def __repr__(self):
27978        return '<sdm.SecretEngineUpdateResponse ' + \
27979            'meta: ' + repr(self.meta) + ' ' +\
27980            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27981            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
27982            '>'
27983
27984    def to_dict(self):
27985        return {
27986            'meta': self.meta,
27987            'rate_limit': self.rate_limit,
27988            'secret_engine': self.secret_engine,
27989        }
27990
27991    @classmethod
27992    def from_dict(cls, d):
27993        return cls(
27994            meta=d.get('meta'),
27995            rate_limit=d.get('rate_limit'),
27996            secret_engine=d.get('secret_engine'),
27997        )
27998
27999
28000class SecretStoreCreateResponse:
28001    '''
28002         SecretStoreCreateResponse reports how the SecretStores were created in the system.
28003    '''
28004    __slots__ = [
28005        'meta',
28006        'rate_limit',
28007        'secret_store',
28008    ]
28009
28010    def __init__(
28011        self,
28012        meta=None,
28013        rate_limit=None,
28014        secret_store=None,
28015    ):
28016        self.meta = meta if meta is not None else None
28017        '''
28018         Reserved for future use.
28019        '''
28020        self.rate_limit = rate_limit if rate_limit is not None else None
28021        '''
28022         Rate limit information.
28023        '''
28024        self.secret_store = secret_store if secret_store is not None else None
28025        '''
28026         The created SecretStore.
28027        '''
28028
28029    def __repr__(self):
28030        return '<sdm.SecretStoreCreateResponse ' + \
28031            'meta: ' + repr(self.meta) + ' ' +\
28032            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28033            'secret_store: ' + repr(self.secret_store) + ' ' +\
28034            '>'
28035
28036    def to_dict(self):
28037        return {
28038            'meta': self.meta,
28039            'rate_limit': self.rate_limit,
28040            'secret_store': self.secret_store,
28041        }
28042
28043    @classmethod
28044    def from_dict(cls, d):
28045        return cls(
28046            meta=d.get('meta'),
28047            rate_limit=d.get('rate_limit'),
28048            secret_store=d.get('secret_store'),
28049        )
28050
28051
28052class SecretStoreDeleteResponse:
28053    '''
28054         SecretStoreDeleteResponse returns information about a SecretStore that was deleted.
28055    '''
28056    __slots__ = [
28057        'meta',
28058        'rate_limit',
28059    ]
28060
28061    def __init__(
28062        self,
28063        meta=None,
28064        rate_limit=None,
28065    ):
28066        self.meta = meta if meta is not None else None
28067        '''
28068         Reserved for future use.
28069        '''
28070        self.rate_limit = rate_limit if rate_limit is not None else None
28071        '''
28072         Rate limit information.
28073        '''
28074
28075    def __repr__(self):
28076        return '<sdm.SecretStoreDeleteResponse ' + \
28077            'meta: ' + repr(self.meta) + ' ' +\
28078            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28079            '>'
28080
28081    def to_dict(self):
28082        return {
28083            'meta': self.meta,
28084            'rate_limit': self.rate_limit,
28085        }
28086
28087    @classmethod
28088    def from_dict(cls, d):
28089        return cls(
28090            meta=d.get('meta'),
28091            rate_limit=d.get('rate_limit'),
28092        )
28093
28094
28095class SecretStoreGetResponse:
28096    '''
28097         SecretStoreGetResponse returns a requested SecretStore.
28098    '''
28099    __slots__ = [
28100        'meta',
28101        'rate_limit',
28102        'secret_store',
28103    ]
28104
28105    def __init__(
28106        self,
28107        meta=None,
28108        rate_limit=None,
28109        secret_store=None,
28110    ):
28111        self.meta = meta if meta is not None else None
28112        '''
28113         Reserved for future use.
28114        '''
28115        self.rate_limit = rate_limit if rate_limit is not None else None
28116        '''
28117         Rate limit information.
28118        '''
28119        self.secret_store = secret_store if secret_store is not None else None
28120        '''
28121         The requested SecretStore.
28122        '''
28123
28124    def __repr__(self):
28125        return '<sdm.SecretStoreGetResponse ' + \
28126            'meta: ' + repr(self.meta) + ' ' +\
28127            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28128            'secret_store: ' + repr(self.secret_store) + ' ' +\
28129            '>'
28130
28131    def to_dict(self):
28132        return {
28133            'meta': self.meta,
28134            'rate_limit': self.rate_limit,
28135            'secret_store': self.secret_store,
28136        }
28137
28138    @classmethod
28139    def from_dict(cls, d):
28140        return cls(
28141            meta=d.get('meta'),
28142            rate_limit=d.get('rate_limit'),
28143            secret_store=d.get('secret_store'),
28144        )
28145
28146
28147class SecretStoreHealth:
28148    '''
28149         SecretStoreHealth denotes a secret store's health status. Note a secret store is not
28150     healthy in terms of a simple boolean, but rather healthy with respect to a particular node
28151     or set of nodes.
28152    '''
28153    __slots__ = [
28154        'changed_at',
28155        'checked_at',
28156        'error',
28157        'flags',
28158        'node_id',
28159        'reachability',
28160        'secret_store_id',
28161        'status',
28162    ]
28163
28164    def __init__(
28165        self,
28166        changed_at=None,
28167        checked_at=None,
28168        error=None,
28169        flags=None,
28170        node_id=None,
28171        reachability=None,
28172        secret_store_id=None,
28173        status=None,
28174    ):
28175        self.changed_at = changed_at if changed_at is not None else None
28176        '''
28177         The time when the status last changed
28178        '''
28179        self.checked_at = checked_at if checked_at is not None else None
28180        '''
28181         The time when the status was last checked by the node
28182        '''
28183        self.error = error if error is not None else ''
28184        '''
28185         The error associated with this health check, if it occurred after reachability checks succeeded.
28186        '''
28187        self.flags = flags if flags is not None else []
28188        '''
28189         Any specific status or error flags associated with this health check.
28190        '''
28191        self.node_id = node_id if node_id is not None else ''
28192        '''
28193         Associated node id for this health
28194        '''
28195        self.reachability = reachability if reachability is not None else ''
28196        '''
28197         The error associated with this health check, if it occurred during reachability checks.
28198        '''
28199        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28200        '''
28201         Associated secret store for this health
28202        '''
28203        self.status = status if status is not None else ''
28204        '''
28205         The status of the link between the node and secret store
28206        '''
28207
28208    def __repr__(self):
28209        return '<sdm.SecretStoreHealth ' + \
28210            'changed_at: ' + repr(self.changed_at) + ' ' +\
28211            'checked_at: ' + repr(self.checked_at) + ' ' +\
28212            'error: ' + repr(self.error) + ' ' +\
28213            'flags: ' + repr(self.flags) + ' ' +\
28214            'node_id: ' + repr(self.node_id) + ' ' +\
28215            'reachability: ' + repr(self.reachability) + ' ' +\
28216            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
28217            'status: ' + repr(self.status) + ' ' +\
28218            '>'
28219
28220    def to_dict(self):
28221        return {
28222            'changed_at': self.changed_at,
28223            'checked_at': self.checked_at,
28224            'error': self.error,
28225            'flags': self.flags,
28226            'node_id': self.node_id,
28227            'reachability': self.reachability,
28228            'secret_store_id': self.secret_store_id,
28229            'status': self.status,
28230        }
28231
28232    @classmethod
28233    def from_dict(cls, d):
28234        return cls(
28235            changed_at=d.get('changed_at'),
28236            checked_at=d.get('checked_at'),
28237            error=d.get('error'),
28238            flags=d.get('flags'),
28239            node_id=d.get('node_id'),
28240            reachability=d.get('reachability'),
28241            secret_store_id=d.get('secret_store_id'),
28242            status=d.get('status'),
28243        )
28244
28245
28246class SecretStoreHealthListResponse:
28247    __slots__ = [
28248        'rate_limit',
28249    ]
28250
28251    def __init__(
28252        self,
28253        rate_limit=None,
28254    ):
28255        self.rate_limit = rate_limit if rate_limit is not None else None
28256        '''
28257         Rate limit information.
28258        '''
28259
28260    def __repr__(self):
28261        return '<sdm.SecretStoreHealthListResponse ' + \
28262            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28263            '>'
28264
28265    def to_dict(self):
28266        return {
28267            'rate_limit': self.rate_limit,
28268        }
28269
28270    @classmethod
28271    def from_dict(cls, d):
28272        return cls(rate_limit=d.get('rate_limit'), )
28273
28274
28275class SecretStoreHealthcheckResponse:
28276    __slots__ = [
28277        'rate_limit',
28278    ]
28279
28280    def __init__(
28281        self,
28282        rate_limit=None,
28283    ):
28284        self.rate_limit = rate_limit if rate_limit is not None else None
28285        '''
28286         Rate limit information.
28287        '''
28288
28289    def __repr__(self):
28290        return '<sdm.SecretStoreHealthcheckResponse ' + \
28291            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28292            '>'
28293
28294    def to_dict(self):
28295        return {
28296            'rate_limit': self.rate_limit,
28297        }
28298
28299    @classmethod
28300    def from_dict(cls, d):
28301        return cls(rate_limit=d.get('rate_limit'), )
28302
28303
28304class SecretStoreHistory:
28305    '''
28306         SecretStoreHistory records the state of a SecretStore at a given point in time,
28307     where every change (create, update and delete) to a SecretStore produces an
28308     SecretStoreHistory record.
28309    '''
28310    __slots__ = [
28311        'activity_id',
28312        'deleted_at',
28313        'secret_store',
28314        'timestamp',
28315    ]
28316
28317    def __init__(
28318        self,
28319        activity_id=None,
28320        deleted_at=None,
28321        secret_store=None,
28322        timestamp=None,
28323    ):
28324        self.activity_id = activity_id if activity_id is not None else ''
28325        '''
28326         The unique identifier of the Activity that produced this change to the SecretStore.
28327         May be empty for some system-initiated updates.
28328        '''
28329        self.deleted_at = deleted_at if deleted_at is not None else None
28330        '''
28331         If this SecretStore was deleted, the time it was deleted.
28332        '''
28333        self.secret_store = secret_store if secret_store is not None else None
28334        '''
28335         The complete SecretStore state at this time.
28336        '''
28337        self.timestamp = timestamp if timestamp is not None else None
28338        '''
28339         The time at which the SecretStore state was recorded.
28340        '''
28341
28342    def __repr__(self):
28343        return '<sdm.SecretStoreHistory ' + \
28344            'activity_id: ' + repr(self.activity_id) + ' ' +\
28345            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
28346            'secret_store: ' + repr(self.secret_store) + ' ' +\
28347            'timestamp: ' + repr(self.timestamp) + ' ' +\
28348            '>'
28349
28350    def to_dict(self):
28351        return {
28352            'activity_id': self.activity_id,
28353            'deleted_at': self.deleted_at,
28354            'secret_store': self.secret_store,
28355            'timestamp': self.timestamp,
28356        }
28357
28358    @classmethod
28359    def from_dict(cls, d):
28360        return cls(
28361            activity_id=d.get('activity_id'),
28362            deleted_at=d.get('deleted_at'),
28363            secret_store=d.get('secret_store'),
28364            timestamp=d.get('timestamp'),
28365        )
28366
28367
28368class SecretStoreUpdateResponse:
28369    '''
28370         SecretStoreUpdateResponse returns the fields of a SecretStore after it has been updated by
28371     a SecretStoreUpdateRequest.
28372    '''
28373    __slots__ = [
28374        'meta',
28375        'rate_limit',
28376        'secret_store',
28377    ]
28378
28379    def __init__(
28380        self,
28381        meta=None,
28382        rate_limit=None,
28383        secret_store=None,
28384    ):
28385        self.meta = meta if meta is not None else None
28386        '''
28387         Reserved for future use.
28388        '''
28389        self.rate_limit = rate_limit if rate_limit is not None else None
28390        '''
28391         Rate limit information.
28392        '''
28393        self.secret_store = secret_store if secret_store is not None else None
28394        '''
28395         The updated SecretStore.
28396        '''
28397
28398    def __repr__(self):
28399        return '<sdm.SecretStoreUpdateResponse ' + \
28400            'meta: ' + repr(self.meta) + ' ' +\
28401            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28402            'secret_store: ' + repr(self.secret_store) + ' ' +\
28403            '>'
28404
28405    def to_dict(self):
28406        return {
28407            'meta': self.meta,
28408            'rate_limit': self.rate_limit,
28409            'secret_store': self.secret_store,
28410        }
28411
28412    @classmethod
28413    def from_dict(cls, d):
28414        return cls(
28415            meta=d.get('meta'),
28416            rate_limit=d.get('rate_limit'),
28417            secret_store=d.get('secret_store'),
28418        )
28419
28420
28421class Service:
28422    '''
28423         A Service is a service account that can connect to resources they are granted
28424     directly, or granted via roles. Services are typically automated jobs.
28425    '''
28426    __slots__ = [
28427        'id',
28428        'name',
28429        'suspended',
28430        'tags',
28431    ]
28432
28433    def __init__(
28434        self,
28435        id=None,
28436        name=None,
28437        suspended=None,
28438        tags=None,
28439    ):
28440        self.id = id if id is not None else ''
28441        '''
28442         Unique identifier of the Service.
28443        '''
28444        self.name = name if name is not None else ''
28445        '''
28446         Unique human-readable name of the Service.
28447        '''
28448        self.suspended = suspended if suspended is not None else False
28449        '''
28450         The Service's suspended state.
28451        '''
28452        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28453        '''
28454         Tags is a map of key, value pairs.
28455        '''
28456
28457    def __repr__(self):
28458        return '<sdm.Service ' + \
28459            'id: ' + repr(self.id) + ' ' +\
28460            'name: ' + repr(self.name) + ' ' +\
28461            'suspended: ' + repr(self.suspended) + ' ' +\
28462            'tags: ' + repr(self.tags) + ' ' +\
28463            '>'
28464
28465    def to_dict(self):
28466        return {
28467            'id': self.id,
28468            'name': self.name,
28469            'suspended': self.suspended,
28470            'tags': self.tags,
28471        }
28472
28473    @classmethod
28474    def from_dict(cls, d):
28475        return cls(
28476            id=d.get('id'),
28477            name=d.get('name'),
28478            suspended=d.get('suspended'),
28479            tags=d.get('tags'),
28480        )
28481
28482
28483class SingleStore:
28484    __slots__ = [
28485        'bind_interface',
28486        'database',
28487        'egress_filter',
28488        'healthy',
28489        'hostname',
28490        'id',
28491        'name',
28492        'password',
28493        'port',
28494        'port_override',
28495        'proxy_cluster_id',
28496        'require_native_auth',
28497        'secret_store_id',
28498        'subdomain',
28499        'tags',
28500        'use_azure_single_server_usernames',
28501        'username',
28502    ]
28503
28504    def __init__(
28505        self,
28506        bind_interface=None,
28507        database=None,
28508        egress_filter=None,
28509        healthy=None,
28510        hostname=None,
28511        id=None,
28512        name=None,
28513        password=None,
28514        port=None,
28515        port_override=None,
28516        proxy_cluster_id=None,
28517        require_native_auth=None,
28518        secret_store_id=None,
28519        subdomain=None,
28520        tags=None,
28521        use_azure_single_server_usernames=None,
28522        username=None,
28523    ):
28524        self.bind_interface = bind_interface if bind_interface is not None else ''
28525        '''
28526         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28527        '''
28528        self.database = database if database is not None else ''
28529        '''
28530         The database for healthchecks. Does not affect client requests.
28531        '''
28532        self.egress_filter = egress_filter if egress_filter is not None else ''
28533        '''
28534         A filter applied to the routing logic to pin datasource to nodes.
28535        '''
28536        self.healthy = healthy if healthy is not None else False
28537        '''
28538         True if the datasource is reachable and the credentials are valid.
28539        '''
28540        self.hostname = hostname if hostname is not None else ''
28541        '''
28542         The host to dial to initiate a connection from the egress node to this resource.
28543        '''
28544        self.id = id if id is not None else ''
28545        '''
28546         Unique identifier of the Resource.
28547        '''
28548        self.name = name if name is not None else ''
28549        '''
28550         Unique human-readable name of the Resource.
28551        '''
28552        self.password = password if password is not None else ''
28553        '''
28554         The password to authenticate with.
28555        '''
28556        self.port = port if port is not None else 0
28557        '''
28558         The port to dial to initiate a connection from the egress node to this resource.
28559        '''
28560        self.port_override = port_override if port_override is not None else 0
28561        '''
28562         The local port used by clients to connect to this resource.
28563        '''
28564        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28565        '''
28566         ID of the proxy cluster for this resource, if any.
28567        '''
28568        self.require_native_auth = require_native_auth if require_native_auth is not None else False
28569        '''
28570         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
28571        '''
28572        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28573        '''
28574         ID of the secret store containing credentials for this resource, if any.
28575        '''
28576        self.subdomain = subdomain if subdomain is not None else ''
28577        '''
28578         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
28579        '''
28580        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28581        '''
28582         Tags is a map of key, value pairs.
28583        '''
28584        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
28585        '''
28586         If true, appends the hostname to the username when hitting a database.azure.com address
28587        '''
28588        self.username = username if username is not None else ''
28589        '''
28590         The username to authenticate with.
28591        '''
28592
28593    def __repr__(self):
28594        return '<sdm.SingleStore ' + \
28595            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
28596            'database: ' + repr(self.database) + ' ' +\
28597            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
28598            'healthy: ' + repr(self.healthy) + ' ' +\
28599            'hostname: ' + repr(self.hostname) + ' ' +\
28600            'id: ' + repr(self.id) + ' ' +\
28601            'name: ' + repr(self.name) + ' ' +\
28602            'password: ' + repr(self.password) + ' ' +\
28603            'port: ' + repr(self.port) + ' ' +\
28604            'port_override: ' + repr(self.port_override) + ' ' +\
28605            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
28606            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
28607            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
28608            'subdomain: ' + repr(self.subdomain) + ' ' +\
28609            'tags: ' + repr(self.tags) + ' ' +\
28610            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
28611            'username: ' + repr(self.username) + ' ' +\
28612            '>'
28613
28614    def to_dict(self):
28615        return {
28616            'bind_interface': self.bind_interface,
28617            'database': self.database,
28618            'egress_filter': self.egress_filter,
28619            'healthy': self.healthy,
28620            'hostname': self.hostname,
28621            'id': self.id,
28622            'name': self.name,
28623            'password': self.password,
28624            'port': self.port,
28625            'port_override': self.port_override,
28626            'proxy_cluster_id': self.proxy_cluster_id,
28627            'require_native_auth': self.require_native_auth,
28628            'secret_store_id': self.secret_store_id,
28629            'subdomain': self.subdomain,
28630            'tags': self.tags,
28631            'use_azure_single_server_usernames':
28632            self.use_azure_single_server_usernames,
28633            'username': self.username,
28634        }
28635
28636    @classmethod
28637    def from_dict(cls, d):
28638        return cls(
28639            bind_interface=d.get('bind_interface'),
28640            database=d.get('database'),
28641            egress_filter=d.get('egress_filter'),
28642            healthy=d.get('healthy'),
28643            hostname=d.get('hostname'),
28644            id=d.get('id'),
28645            name=d.get('name'),
28646            password=d.get('password'),
28647            port=d.get('port'),
28648            port_override=d.get('port_override'),
28649            proxy_cluster_id=d.get('proxy_cluster_id'),
28650            require_native_auth=d.get('require_native_auth'),
28651            secret_store_id=d.get('secret_store_id'),
28652            subdomain=d.get('subdomain'),
28653            tags=d.get('tags'),
28654            use_azure_single_server_usernames=d.get(
28655                'use_azure_single_server_usernames'),
28656            username=d.get('username'),
28657        )
28658
28659
28660class Snowflake:
28661    __slots__ = [
28662        'bind_interface',
28663        'database',
28664        'egress_filter',
28665        'healthy',
28666        'hostname',
28667        'id',
28668        'name',
28669        'password',
28670        'port_override',
28671        'private_key',
28672        'proxy_cluster_id',
28673        'schema',
28674        'secret_store_id',
28675        'subdomain',
28676        'tags',
28677        'username',
28678    ]
28679
28680    def __init__(
28681        self,
28682        bind_interface=None,
28683        database=None,
28684        egress_filter=None,
28685        healthy=None,
28686        hostname=None,
28687        id=None,
28688        name=None,
28689        password=None,
28690        port_override=None,
28691        private_key=None,
28692        proxy_cluster_id=None,
28693        schema=None,
28694        secret_store_id=None,
28695        subdomain=None,
28696        tags=None,
28697        username=None,
28698    ):
28699        self.bind_interface = bind_interface if bind_interface is not None else ''
28700        '''
28701         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28702        '''
28703        self.database = database if database is not None else ''
28704        '''
28705         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
28706        '''
28707        self.egress_filter = egress_filter if egress_filter is not None else ''
28708        '''
28709         A filter applied to the routing logic to pin datasource to nodes.
28710        '''
28711        self.healthy = healthy if healthy is not None else False
28712        '''
28713         True if the datasource is reachable and the credentials are valid.
28714        '''
28715        self.hostname = hostname if hostname is not None else ''
28716        '''
28717         The host to dial to initiate a connection from the egress node to this resource.
28718        '''
28719        self.id = id if id is not None else ''
28720        '''
28721         Unique identifier of the Resource.
28722        '''
28723        self.name = name if name is not None else ''
28724        '''
28725         Unique human-readable name of the Resource.
28726        '''
28727        self.password = password if password is not None else ''
28728        '''
28729         Deprecated: https://www.snowflake.com/en/blog/blocking-single-factor-password-authentification/
28730        '''
28731        self.port_override = port_override if port_override is not None else 0
28732        '''
28733         The local port used by clients to connect to this resource.
28734        '''
28735        self.private_key = private_key if private_key is not None else ''
28736        '''
28737         RSA Private Key for authentication
28738        '''
28739        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28740        '''
28741         ID of the proxy cluster for this resource, if any.
28742        '''
28743        self.schema = schema if schema is not None else ''
28744        '''
28745         The schema to provide on authentication.
28746        '''
28747        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28748        '''
28749         ID of the secret store containing credentials for this resource, if any.
28750        '''
28751        self.subdomain = subdomain if subdomain is not None else ''
28752        '''
28753         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
28754        '''
28755        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28756        '''
28757         Tags is a map of key, value pairs.
28758        '''
28759        self.username = username if username is not None else ''
28760        '''
28761         The username to authenticate with.
28762        '''
28763
28764    def __repr__(self):
28765        return '<sdm.Snowflake ' + \
28766            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
28767            'database: ' + repr(self.database) + ' ' +\
28768            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
28769            'healthy: ' + repr(self.healthy) + ' ' +\
28770            'hostname: ' + repr(self.hostname) + ' ' +\
28771            'id: ' + repr(self.id) + ' ' +\
28772            'name: ' + repr(self.name) + ' ' +\
28773            'password: ' + repr(self.password) + ' ' +\
28774            'port_override: ' + repr(self.port_override) + ' ' +\
28775            'private_key: ' + repr(self.private_key) + ' ' +\
28776            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
28777            'schema: ' + repr(self.schema) + ' ' +\
28778            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
28779            'subdomain: ' + repr(self.subdomain) + ' ' +\
28780            'tags: ' + repr(self.tags) + ' ' +\
28781            'username: ' + repr(self.username) + ' ' +\
28782            '>'
28783
28784    def to_dict(self):
28785        return {
28786            'bind_interface': self.bind_interface,
28787            'database': self.database,
28788            'egress_filter': self.egress_filter,
28789            'healthy': self.healthy,
28790            'hostname': self.hostname,
28791            'id': self.id,
28792            'name': self.name,
28793            'password': self.password,
28794            'port_override': self.port_override,
28795            'private_key': self.private_key,
28796            'proxy_cluster_id': self.proxy_cluster_id,
28797            'schema': self.schema,
28798            'secret_store_id': self.secret_store_id,
28799            'subdomain': self.subdomain,
28800            'tags': self.tags,
28801            'username': self.username,
28802        }
28803
28804    @classmethod
28805    def from_dict(cls, d):
28806        return cls(
28807            bind_interface=d.get('bind_interface'),
28808            database=d.get('database'),
28809            egress_filter=d.get('egress_filter'),
28810            healthy=d.get('healthy'),
28811            hostname=d.get('hostname'),
28812            id=d.get('id'),
28813            name=d.get('name'),
28814            password=d.get('password'),
28815            port_override=d.get('port_override'),
28816            private_key=d.get('private_key'),
28817            proxy_cluster_id=d.get('proxy_cluster_id'),
28818            schema=d.get('schema'),
28819            secret_store_id=d.get('secret_store_id'),
28820            subdomain=d.get('subdomain'),
28821            tags=d.get('tags'),
28822            username=d.get('username'),
28823        )
28824
28825
28826class Snowsight:
28827    __slots__ = [
28828        'bind_interface',
28829        'egress_filter',
28830        'healthcheck_username',
28831        'healthy',
28832        'id',
28833        'name',
28834        'port_override',
28835        'proxy_cluster_id',
28836        'samlmetadata',
28837        'secret_store_id',
28838        'subdomain',
28839        'tags',
28840    ]
28841
28842    def __init__(
28843        self,
28844        bind_interface=None,
28845        egress_filter=None,
28846        healthcheck_username=None,
28847        healthy=None,
28848        id=None,
28849        name=None,
28850        port_override=None,
28851        proxy_cluster_id=None,
28852        samlmetadata=None,
28853        secret_store_id=None,
28854        subdomain=None,
28855        tags=None,
28856    ):
28857        self.bind_interface = bind_interface if bind_interface is not None else ''
28858        '''
28859         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28860        '''
28861        self.egress_filter = egress_filter if egress_filter is not None else ''
28862        '''
28863         A filter applied to the routing logic to pin datasource to nodes.
28864        '''
28865        self.healthcheck_username = healthcheck_username if healthcheck_username is not None else ''
28866        '''
28867         The StrongDM user email to use for healthchecks.
28868        '''
28869        self.healthy = healthy if healthy is not None else False
28870        '''
28871         True if the datasource is reachable and the credentials are valid.
28872        '''
28873        self.id = id if id is not None else ''
28874        '''
28875         Unique identifier of the Resource.
28876        '''
28877        self.name = name if name is not None else ''
28878        '''
28879         Unique human-readable name of the Resource.
28880        '''
28881        self.port_override = port_override if port_override is not None else 0
28882        '''
28883         The local port used by clients to connect to this resource.
28884        '''
28885        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28886        '''
28887         ID of the proxy cluster for this resource, if any.
28888        '''
28889        self.samlmetadata = samlmetadata if samlmetadata is not None else ''
28890        '''
28891         The Metadata for your snowflake IDP integration
28892        '''
28893        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28894        '''
28895         ID of the secret store containing credentials for this resource, if any.
28896        '''
28897        self.subdomain = subdomain if subdomain is not None else ''
28898        '''
28899         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
28900        '''
28901        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28902        '''
28903         Tags is a map of key, value pairs.
28904        '''
28905
28906    def __repr__(self):
28907        return '<sdm.Snowsight ' + \
28908            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
28909            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
28910            'healthcheck_username: ' + repr(self.healthcheck_username) + ' ' +\
28911            'healthy: ' + repr(self.healthy) + ' ' +\
28912            'id: ' + repr(self.id) + ' ' +\
28913            'name: ' + repr(self.name) + ' ' +\
28914            'port_override: ' + repr(self.port_override) + ' ' +\
28915            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
28916            'samlmetadata: ' + repr(self.samlmetadata) + ' ' +\
28917            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
28918            'subdomain: ' + repr(self.subdomain) + ' ' +\
28919            'tags: ' + repr(self.tags) + ' ' +\
28920            '>'
28921
28922    def to_dict(self):
28923        return {
28924            'bind_interface': self.bind_interface,
28925            'egress_filter': self.egress_filter,
28926            'healthcheck_username': self.healthcheck_username,
28927            'healthy': self.healthy,
28928            'id': self.id,
28929            'name': self.name,
28930            'port_override': self.port_override,
28931            'proxy_cluster_id': self.proxy_cluster_id,
28932            'samlmetadata': self.samlmetadata,
28933            'secret_store_id': self.secret_store_id,
28934            'subdomain': self.subdomain,
28935            'tags': self.tags,
28936        }
28937
28938    @classmethod
28939    def from_dict(cls, d):
28940        return cls(
28941            bind_interface=d.get('bind_interface'),
28942            egress_filter=d.get('egress_filter'),
28943            healthcheck_username=d.get('healthcheck_username'),
28944            healthy=d.get('healthy'),
28945            id=d.get('id'),
28946            name=d.get('name'),
28947            port_override=d.get('port_override'),
28948            proxy_cluster_id=d.get('proxy_cluster_id'),
28949            samlmetadata=d.get('samlmetadata'),
28950            secret_store_id=d.get('secret_store_id'),
28951            subdomain=d.get('subdomain'),
28952            tags=d.get('tags'),
28953        )
28954
28955
28956class Sybase:
28957    __slots__ = [
28958        'bind_interface',
28959        'egress_filter',
28960        'healthy',
28961        'hostname',
28962        'id',
28963        'name',
28964        'password',
28965        'port',
28966        'port_override',
28967        'proxy_cluster_id',
28968        'secret_store_id',
28969        'subdomain',
28970        'tags',
28971        'username',
28972    ]
28973
28974    def __init__(
28975        self,
28976        bind_interface=None,
28977        egress_filter=None,
28978        healthy=None,
28979        hostname=None,
28980        id=None,
28981        name=None,
28982        password=None,
28983        port=None,
28984        port_override=None,
28985        proxy_cluster_id=None,
28986        secret_store_id=None,
28987        subdomain=None,
28988        tags=None,
28989        username=None,
28990    ):
28991        self.bind_interface = bind_interface if bind_interface is not None else ''
28992        '''
28993         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28994        '''
28995        self.egress_filter = egress_filter if egress_filter is not None else ''
28996        '''
28997         A filter applied to the routing logic to pin datasource to nodes.
28998        '''
28999        self.healthy = healthy if healthy is not None else False
29000        '''
29001         True if the datasource is reachable and the credentials are valid.
29002        '''
29003        self.hostname = hostname if hostname is not None else ''
29004        '''
29005         The host to dial to initiate a connection from the egress node to this resource.
29006        '''
29007        self.id = id if id is not None else ''
29008        '''
29009         Unique identifier of the Resource.
29010        '''
29011        self.name = name if name is not None else ''
29012        '''
29013         Unique human-readable name of the Resource.
29014        '''
29015        self.password = password if password is not None else ''
29016        '''
29017         The password to authenticate with.
29018        '''
29019        self.port = port if port is not None else 0
29020        '''
29021         The port to dial to initiate a connection from the egress node to this resource.
29022        '''
29023        self.port_override = port_override if port_override is not None else 0
29024        '''
29025         The local port used by clients to connect to this resource.
29026        '''
29027        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29028        '''
29029         ID of the proxy cluster for this resource, if any.
29030        '''
29031        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29032        '''
29033         ID of the secret store containing credentials for this resource, if any.
29034        '''
29035        self.subdomain = subdomain if subdomain is not None else ''
29036        '''
29037         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
29038        '''
29039        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29040        '''
29041         Tags is a map of key, value pairs.
29042        '''
29043        self.username = username if username is not None else ''
29044        '''
29045         The username to authenticate with.
29046        '''
29047
29048    def __repr__(self):
29049        return '<sdm.Sybase ' + \
29050            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29051            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29052            'healthy: ' + repr(self.healthy) + ' ' +\
29053            'hostname: ' + repr(self.hostname) + ' ' +\
29054            'id: ' + repr(self.id) + ' ' +\
29055            'name: ' + repr(self.name) + ' ' +\
29056            'password: ' + repr(self.password) + ' ' +\
29057            'port: ' + repr(self.port) + ' ' +\
29058            'port_override: ' + repr(self.port_override) + ' ' +\
29059            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29060            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29061            'subdomain: ' + repr(self.subdomain) + ' ' +\
29062            'tags: ' + repr(self.tags) + ' ' +\
29063            'username: ' + repr(self.username) + ' ' +\
29064            '>'
29065
29066    def to_dict(self):
29067        return {
29068            'bind_interface': self.bind_interface,
29069            'egress_filter': self.egress_filter,
29070            'healthy': self.healthy,
29071            'hostname': self.hostname,
29072            'id': self.id,
29073            'name': self.name,
29074            'password': self.password,
29075            'port': self.port,
29076            'port_override': self.port_override,
29077            'proxy_cluster_id': self.proxy_cluster_id,
29078            'secret_store_id': self.secret_store_id,
29079            'subdomain': self.subdomain,
29080            'tags': self.tags,
29081            'username': self.username,
29082        }
29083
29084    @classmethod
29085    def from_dict(cls, d):
29086        return cls(
29087            bind_interface=d.get('bind_interface'),
29088            egress_filter=d.get('egress_filter'),
29089            healthy=d.get('healthy'),
29090            hostname=d.get('hostname'),
29091            id=d.get('id'),
29092            name=d.get('name'),
29093            password=d.get('password'),
29094            port=d.get('port'),
29095            port_override=d.get('port_override'),
29096            proxy_cluster_id=d.get('proxy_cluster_id'),
29097            secret_store_id=d.get('secret_store_id'),
29098            subdomain=d.get('subdomain'),
29099            tags=d.get('tags'),
29100            username=d.get('username'),
29101        )
29102
29103
29104class SybaseIQ:
29105    __slots__ = [
29106        'bind_interface',
29107        'egress_filter',
29108        'healthy',
29109        'hostname',
29110        'id',
29111        'name',
29112        'password',
29113        'port',
29114        'port_override',
29115        'proxy_cluster_id',
29116        'secret_store_id',
29117        'subdomain',
29118        'tags',
29119        'username',
29120    ]
29121
29122    def __init__(
29123        self,
29124        bind_interface=None,
29125        egress_filter=None,
29126        healthy=None,
29127        hostname=None,
29128        id=None,
29129        name=None,
29130        password=None,
29131        port=None,
29132        port_override=None,
29133        proxy_cluster_id=None,
29134        secret_store_id=None,
29135        subdomain=None,
29136        tags=None,
29137        username=None,
29138    ):
29139        self.bind_interface = bind_interface if bind_interface is not None else ''
29140        '''
29141         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
29142        '''
29143        self.egress_filter = egress_filter if egress_filter is not None else ''
29144        '''
29145         A filter applied to the routing logic to pin datasource to nodes.
29146        '''
29147        self.healthy = healthy if healthy is not None else False
29148        '''
29149         True if the datasource is reachable and the credentials are valid.
29150        '''
29151        self.hostname = hostname if hostname is not None else ''
29152        '''
29153         The host to dial to initiate a connection from the egress node to this resource.
29154        '''
29155        self.id = id if id is not None else ''
29156        '''
29157         Unique identifier of the Resource.
29158        '''
29159        self.name = name if name is not None else ''
29160        '''
29161         Unique human-readable name of the Resource.
29162        '''
29163        self.password = password if password is not None else ''
29164        '''
29165         The password to authenticate with.
29166        '''
29167        self.port = port if port is not None else 0
29168        '''
29169         The port to dial to initiate a connection from the egress node to this resource.
29170        '''
29171        self.port_override = port_override if port_override is not None else 0
29172        '''
29173         The local port used by clients to connect to this resource.
29174        '''
29175        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29176        '''
29177         ID of the proxy cluster for this resource, if any.
29178        '''
29179        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29180        '''
29181         ID of the secret store containing credentials for this resource, if any.
29182        '''
29183        self.subdomain = subdomain if subdomain is not None else ''
29184        '''
29185         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
29186        '''
29187        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29188        '''
29189         Tags is a map of key, value pairs.
29190        '''
29191        self.username = username if username is not None else ''
29192        '''
29193         The username to authenticate with.
29194        '''
29195
29196    def __repr__(self):
29197        return '<sdm.SybaseIQ ' + \
29198            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29199            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29200            'healthy: ' + repr(self.healthy) + ' ' +\
29201            'hostname: ' + repr(self.hostname) + ' ' +\
29202            'id: ' + repr(self.id) + ' ' +\
29203            'name: ' + repr(self.name) + ' ' +\
29204            'password: ' + repr(self.password) + ' ' +\
29205            'port: ' + repr(self.port) + ' ' +\
29206            'port_override: ' + repr(self.port_override) + ' ' +\
29207            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29208            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29209            'subdomain: ' + repr(self.subdomain) + ' ' +\
29210            'tags: ' + repr(self.tags) + ' ' +\
29211            'username: ' + repr(self.username) + ' ' +\
29212            '>'
29213
29214    def to_dict(self):
29215        return {
29216            'bind_interface': self.bind_interface,
29217            'egress_filter': self.egress_filter,
29218            'healthy': self.healthy,
29219            'hostname': self.hostname,
29220            'id': self.id,
29221            'name': self.name,
29222            'password': self.password,
29223            'port': self.port,
29224            'port_override': self.port_override,
29225            'proxy_cluster_id': self.proxy_cluster_id,
29226            'secret_store_id': self.secret_store_id,
29227            'subdomain': self.subdomain,
29228            'tags': self.tags,
29229            'username': self.username,
29230        }
29231
29232    @classmethod
29233    def from_dict(cls, d):
29234        return cls(
29235            bind_interface=d.get('bind_interface'),
29236            egress_filter=d.get('egress_filter'),
29237            healthy=d.get('healthy'),
29238            hostname=d.get('hostname'),
29239            id=d.get('id'),
29240            name=d.get('name'),
29241            password=d.get('password'),
29242            port=d.get('port'),
29243            port_override=d.get('port_override'),
29244            proxy_cluster_id=d.get('proxy_cluster_id'),
29245            secret_store_id=d.get('secret_store_id'),
29246            subdomain=d.get('subdomain'),
29247            tags=d.get('tags'),
29248            username=d.get('username'),
29249        )
29250
29251
29252class Tag:
29253    __slots__ = [
29254        'name',
29255        'value',
29256    ]
29257
29258    def __init__(
29259        self,
29260        name=None,
29261        value=None,
29262    ):
29263        self.name = name if name is not None else ''
29264        '''
29265         The name or key of this tag. Each name can only refer to one value on a tagged entity.
29266        '''
29267        self.value = value if value is not None else ''
29268        '''
29269         The value of this tag.
29270        '''
29271
29272    def __repr__(self):
29273        return '<sdm.Tag ' + \
29274            'name: ' + repr(self.name) + ' ' +\
29275            'value: ' + repr(self.value) + ' ' +\
29276            '>'
29277
29278    def to_dict(self):
29279        return {
29280            'name': self.name,
29281            'value': self.value,
29282        }
29283
29284    @classmethod
29285    def from_dict(cls, d):
29286        return cls(
29287            name=d.get('name'),
29288            value=d.get('value'),
29289        )
29290
29291
29292class Teradata:
29293    __slots__ = [
29294        'bind_interface',
29295        'egress_filter',
29296        'healthy',
29297        'hostname',
29298        'id',
29299        'name',
29300        'password',
29301        'port',
29302        'port_override',
29303        'proxy_cluster_id',
29304        'secret_store_id',
29305        'subdomain',
29306        'tags',
29307        'username',
29308    ]
29309
29310    def __init__(
29311        self,
29312        bind_interface=None,
29313        egress_filter=None,
29314        healthy=None,
29315        hostname=None,
29316        id=None,
29317        name=None,
29318        password=None,
29319        port=None,
29320        port_override=None,
29321        proxy_cluster_id=None,
29322        secret_store_id=None,
29323        subdomain=None,
29324        tags=None,
29325        username=None,
29326    ):
29327        self.bind_interface = bind_interface if bind_interface is not None else ''
29328        '''
29329         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
29330        '''
29331        self.egress_filter = egress_filter if egress_filter is not None else ''
29332        '''
29333         A filter applied to the routing logic to pin datasource to nodes.
29334        '''
29335        self.healthy = healthy if healthy is not None else False
29336        '''
29337         True if the datasource is reachable and the credentials are valid.
29338        '''
29339        self.hostname = hostname if hostname is not None else ''
29340        '''
29341         The host to dial to initiate a connection from the egress node to this resource.
29342        '''
29343        self.id = id if id is not None else ''
29344        '''
29345         Unique identifier of the Resource.
29346        '''
29347        self.name = name if name is not None else ''
29348        '''
29349         Unique human-readable name of the Resource.
29350        '''
29351        self.password = password if password is not None else ''
29352        '''
29353         The password to authenticate with.
29354        '''
29355        self.port = port if port is not None else 0
29356        '''
29357         The port to dial to initiate a connection from the egress node to this resource.
29358        '''
29359        self.port_override = port_override if port_override is not None else 0
29360        '''
29361         The local port used by clients to connect to this resource.
29362        '''
29363        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29364        '''
29365         ID of the proxy cluster for this resource, if any.
29366        '''
29367        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29368        '''
29369         ID of the secret store containing credentials for this resource, if any.
29370        '''
29371        self.subdomain = subdomain if subdomain is not None else ''
29372        '''
29373         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
29374        '''
29375        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29376        '''
29377         Tags is a map of key, value pairs.
29378        '''
29379        self.username = username if username is not None else ''
29380        '''
29381         The username to authenticate with.
29382        '''
29383
29384    def __repr__(self):
29385        return '<sdm.Teradata ' + \
29386            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29387            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29388            'healthy: ' + repr(self.healthy) + ' ' +\
29389            'hostname: ' + repr(self.hostname) + ' ' +\
29390            'id: ' + repr(self.id) + ' ' +\
29391            'name: ' + repr(self.name) + ' ' +\
29392            'password: ' + repr(self.password) + ' ' +\
29393            'port: ' + repr(self.port) + ' ' +\
29394            'port_override: ' + repr(self.port_override) + ' ' +\
29395            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29396            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29397            'subdomain: ' + repr(self.subdomain) + ' ' +\
29398            'tags: ' + repr(self.tags) + ' ' +\
29399            'username: ' + repr(self.username) + ' ' +\
29400            '>'
29401
29402    def to_dict(self):
29403        return {
29404            'bind_interface': self.bind_interface,
29405            'egress_filter': self.egress_filter,
29406            'healthy': self.healthy,
29407            'hostname': self.hostname,
29408            'id': self.id,
29409            'name': self.name,
29410            'password': self.password,
29411            'port': self.port,
29412            'port_override': self.port_override,
29413            'proxy_cluster_id': self.proxy_cluster_id,
29414            'secret_store_id': self.secret_store_id,
29415            'subdomain': self.subdomain,
29416            'tags': self.tags,
29417            'username': self.username,
29418        }
29419
29420    @classmethod
29421    def from_dict(cls, d):
29422        return cls(
29423            bind_interface=d.get('bind_interface'),
29424            egress_filter=d.get('egress_filter'),
29425            healthy=d.get('healthy'),
29426            hostname=d.get('hostname'),
29427            id=d.get('id'),
29428            name=d.get('name'),
29429            password=d.get('password'),
29430            port=d.get('port'),
29431            port_override=d.get('port_override'),
29432            proxy_cluster_id=d.get('proxy_cluster_id'),
29433            secret_store_id=d.get('secret_store_id'),
29434            subdomain=d.get('subdomain'),
29435            tags=d.get('tags'),
29436            username=d.get('username'),
29437        )
29438
29439
29440class Token:
29441    '''
29442         A Token is an account providing tokenized access for automation or integration use.
29443     Tokens include admin tokens, API keys, and SCIM tokens.
29444    '''
29445    __slots__ = [
29446        'account_type',
29447        'deadline',
29448        'duration',
29449        'id',
29450        'name',
29451        'permissions',
29452        'rekeyed',
29453        'suspended',
29454        'tags',
29455    ]
29456
29457    def __init__(
29458        self,
29459        account_type=None,
29460        deadline=None,
29461        duration=None,
29462        id=None,
29463        name=None,
29464        permissions=None,
29465        rekeyed=None,
29466        suspended=None,
29467        tags=None,
29468    ):
29469        self.account_type = account_type if account_type is not None else ''
29470        '''
29471         Corresponds to the type of token, e.g. api or admin-token.
29472        '''
29473        self.deadline = deadline if deadline is not None else None
29474        '''
29475         The timestamp when the Token will expire.
29476        '''
29477        self.duration = duration if duration is not None else None
29478        '''
29479         Duration from token creation to expiration.
29480        '''
29481        self.id = id if id is not None else ''
29482        '''
29483         Unique identifier of the Token.
29484        '''
29485        self.name = name if name is not None else ''
29486        '''
29487         Unique human-readable name of the Token.
29488        '''
29489        self.permissions = permissions if permissions is not None else []
29490        '''
29491         Permissions assigned to the token, e.g. role:create.
29492        '''
29493        self.rekeyed = rekeyed if rekeyed is not None else None
29494        '''
29495         The timestamp when the Token was last rekeyed.
29496        '''
29497        self.suspended = suspended if suspended is not None else False
29498        '''
29499         Reserved for future use.  Always false for tokens.
29500        '''
29501        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29502        '''
29503         Tags is a map of key, value pairs.
29504        '''
29505
29506    def __repr__(self):
29507        return '<sdm.Token ' + \
29508            'account_type: ' + repr(self.account_type) + ' ' +\
29509            'deadline: ' + repr(self.deadline) + ' ' +\
29510            'duration: ' + repr(self.duration) + ' ' +\
29511            'id: ' + repr(self.id) + ' ' +\
29512            'name: ' + repr(self.name) + ' ' +\
29513            'permissions: ' + repr(self.permissions) + ' ' +\
29514            'rekeyed: ' + repr(self.rekeyed) + ' ' +\
29515            'suspended: ' + repr(self.suspended) + ' ' +\
29516            'tags: ' + repr(self.tags) + ' ' +\
29517            '>'
29518
29519    def to_dict(self):
29520        return {
29521            'account_type': self.account_type,
29522            'deadline': self.deadline,
29523            'duration': self.duration,
29524            'id': self.id,
29525            'name': self.name,
29526            'permissions': self.permissions,
29527            'rekeyed': self.rekeyed,
29528            'suspended': self.suspended,
29529            'tags': self.tags,
29530        }
29531
29532    @classmethod
29533    def from_dict(cls, d):
29534        return cls(
29535            account_type=d.get('account_type'),
29536            deadline=d.get('deadline'),
29537            duration=d.get('duration'),
29538            id=d.get('id'),
29539            name=d.get('name'),
29540            permissions=d.get('permissions'),
29541            rekeyed=d.get('rekeyed'),
29542            suspended=d.get('suspended'),
29543            tags=d.get('tags'),
29544        )
29545
29546
29547class Trino:
29548    __slots__ = [
29549        'bind_interface',
29550        'egress_filter',
29551        'healthy',
29552        'hostname',
29553        'id',
29554        'name',
29555        'password',
29556        'port',
29557        'port_override',
29558        'proxy_cluster_id',
29559        'secret_store_id',
29560        'subdomain',
29561        'tags',
29562        'tls_required',
29563        'username',
29564    ]
29565
29566    def __init__(
29567        self,
29568        bind_interface=None,
29569        egress_filter=None,
29570        healthy=None,
29571        hostname=None,
29572        id=None,
29573        name=None,
29574        password=None,
29575        port=None,
29576        port_override=None,
29577        proxy_cluster_id=None,
29578        secret_store_id=None,
29579        subdomain=None,
29580        tags=None,
29581        tls_required=None,
29582        username=None,
29583    ):
29584        self.bind_interface = bind_interface if bind_interface is not None else ''
29585        '''
29586         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
29587        '''
29588        self.egress_filter = egress_filter if egress_filter is not None else ''
29589        '''
29590         A filter applied to the routing logic to pin datasource to nodes.
29591        '''
29592        self.healthy = healthy if healthy is not None else False
29593        '''
29594         True if the datasource is reachable and the credentials are valid.
29595        '''
29596        self.hostname = hostname if hostname is not None else ''
29597        '''
29598         The host to dial to initiate a connection from the egress node to this resource.
29599        '''
29600        self.id = id if id is not None else ''
29601        '''
29602         Unique identifier of the Resource.
29603        '''
29604        self.name = name if name is not None else ''
29605        '''
29606         Unique human-readable name of the Resource.
29607        '''
29608        self.password = password if password is not None else ''
29609        '''
29610         The password to authenticate with.
29611        '''
29612        self.port = port if port is not None else 0
29613        '''
29614         The port to dial to initiate a connection from the egress node to this resource.
29615        '''
29616        self.port_override = port_override if port_override is not None else 0
29617        '''
29618         The local port used by clients to connect to this resource.
29619        '''
29620        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29621        '''
29622         ID of the proxy cluster for this resource, if any.
29623        '''
29624        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29625        '''
29626         ID of the secret store containing credentials for this resource, if any.
29627        '''
29628        self.subdomain = subdomain if subdomain is not None else ''
29629        '''
29630         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
29631        '''
29632        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29633        '''
29634         Tags is a map of key, value pairs.
29635        '''
29636        self.tls_required = tls_required if tls_required is not None else False
29637        '''
29638         If set, TLS must be used to connect to this resource.
29639        '''
29640        self.username = username if username is not None else ''
29641        '''
29642         The username to authenticate with.
29643        '''
29644
29645    def __repr__(self):
29646        return '<sdm.Trino ' + \
29647            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29648            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29649            'healthy: ' + repr(self.healthy) + ' ' +\
29650            'hostname: ' + repr(self.hostname) + ' ' +\
29651            'id: ' + repr(self.id) + ' ' +\
29652            'name: ' + repr(self.name) + ' ' +\
29653            'password: ' + repr(self.password) + ' ' +\
29654            'port: ' + repr(self.port) + ' ' +\
29655            'port_override: ' + repr(self.port_override) + ' ' +\
29656            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29657            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29658            'subdomain: ' + repr(self.subdomain) + ' ' +\
29659            'tags: ' + repr(self.tags) + ' ' +\
29660            'tls_required: ' + repr(self.tls_required) + ' ' +\
29661            'username: ' + repr(self.username) + ' ' +\
29662            '>'
29663
29664    def to_dict(self):
29665        return {
29666            'bind_interface': self.bind_interface,
29667            'egress_filter': self.egress_filter,
29668            'healthy': self.healthy,
29669            'hostname': self.hostname,
29670            'id': self.id,
29671            'name': self.name,
29672            'password': self.password,
29673            'port': self.port,
29674            'port_override': self.port_override,
29675            'proxy_cluster_id': self.proxy_cluster_id,
29676            'secret_store_id': self.secret_store_id,
29677            'subdomain': self.subdomain,
29678            'tags': self.tags,
29679            'tls_required': self.tls_required,
29680            'username': self.username,
29681        }
29682
29683    @classmethod
29684    def from_dict(cls, d):
29685        return cls(
29686            bind_interface=d.get('bind_interface'),
29687            egress_filter=d.get('egress_filter'),
29688            healthy=d.get('healthy'),
29689            hostname=d.get('hostname'),
29690            id=d.get('id'),
29691            name=d.get('name'),
29692            password=d.get('password'),
29693            port=d.get('port'),
29694            port_override=d.get('port_override'),
29695            proxy_cluster_id=d.get('proxy_cluster_id'),
29696            secret_store_id=d.get('secret_store_id'),
29697            subdomain=d.get('subdomain'),
29698            tags=d.get('tags'),
29699            tls_required=d.get('tls_required'),
29700            username=d.get('username'),
29701        )
29702
29703
29704class UpdateResponseMetadata:
29705    '''
29706         UpdateResponseMetadata is reserved for future use.
29707    '''
29708    __slots__ = []
29709
29710    def __init__(self, ):
29711        pass
29712
29713    def __repr__(self):
29714        return '<sdm.UpdateResponseMetadata ' + \
29715            '>'
29716
29717    def to_dict(self):
29718        return {}
29719
29720    @classmethod
29721    def from_dict(cls, d):
29722        return cls()
29723
29724
29725class User:
29726    '''
29727         A User can connect to resources they are granted directly, or granted
29728     via roles.
29729    '''
29730    __slots__ = [
29731        'scim',
29732        'email',
29733        'external_id',
29734        'first_name',
29735        'id',
29736        'last_name',
29737        'managed_by',
29738        'manager_id',
29739        'password',
29740        'permission_level',
29741        'resolved_manager_id',
29742        'suspended',
29743        'tags',
29744    ]
29745
29746    def __init__(
29747        self,
29748        scim=None,
29749        email=None,
29750        external_id=None,
29751        first_name=None,
29752        id=None,
29753        last_name=None,
29754        managed_by=None,
29755        manager_id=None,
29756        password=None,
29757        permission_level=None,
29758        resolved_manager_id=None,
29759        suspended=None,
29760        tags=None,
29761    ):
29762        self.scim = scim if scim is not None else ''
29763        '''
29764         SCIM contains the raw SCIM metadata for the user. This is a read-only field.
29765        '''
29766        self.email = email if email is not None else ''
29767        '''
29768         The User's email address. Must be unique.
29769        '''
29770        self.external_id = external_id if external_id is not None else ''
29771        '''
29772         External ID is an alternative unique ID this user is represented by within an external service.
29773        '''
29774        self.first_name = first_name if first_name is not None else ''
29775        '''
29776         The User's first name.
29777        '''
29778        self.id = id if id is not None else ''
29779        '''
29780         Unique identifier of the User.
29781        '''
29782        self.last_name = last_name if last_name is not None else ''
29783        '''
29784         The User's last name.
29785        '''
29786        self.managed_by = managed_by if managed_by is not None else ''
29787        '''
29788         Managed By is a read only field for what service manages this user, e.g. StrongDM, Okta, Azure.
29789        '''
29790        self.manager_id = manager_id if manager_id is not None else ''
29791        '''
29792         Manager ID is the ID of the user's manager. This field is empty when the user has no manager.
29793        '''
29794        self.password = password if password is not None else ''
29795        '''
29796         Password is a write-only field that can be used to set the user's password.
29797         Currently only supported for update.
29798        '''
29799        self.permission_level = permission_level if permission_level is not None else ''
29800        '''
29801         PermissionLevel is the user's permission level e.g. admin, DBA, user.
29802        '''
29803        self.resolved_manager_id = resolved_manager_id if resolved_manager_id is not None else ''
29804        '''
29805         Resolved Manager ID is the ID of the user's manager derived from the manager_id,
29806         if present, or from the SCIM metadata.
29807         This is a read-only field that's only populated for get and list.
29808        '''
29809        self.suspended = suspended if suspended is not None else False
29810        '''
29811         Suspended is a read only field for the User's suspended state.
29812        '''
29813        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29814        '''
29815         Tags is a map of key, value pairs.
29816        '''
29817
29818    def __repr__(self):
29819        return '<sdm.User ' + \
29820            'scim: ' + repr(self.scim) + ' ' +\
29821            'email: ' + repr(self.email) + ' ' +\
29822            'external_id: ' + repr(self.external_id) + ' ' +\
29823            'first_name: ' + repr(self.first_name) + ' ' +\
29824            'id: ' + repr(self.id) + ' ' +\
29825            'last_name: ' + repr(self.last_name) + ' ' +\
29826            'managed_by: ' + repr(self.managed_by) + ' ' +\
29827            'manager_id: ' + repr(self.manager_id) + ' ' +\
29828            'password: ' + repr(self.password) + ' ' +\
29829            'permission_level: ' + repr(self.permission_level) + ' ' +\
29830            'resolved_manager_id: ' + repr(self.resolved_manager_id) + ' ' +\
29831            'suspended: ' + repr(self.suspended) + ' ' +\
29832            'tags: ' + repr(self.tags) + ' ' +\
29833            '>'
29834
29835    def to_dict(self):
29836        return {
29837            'scim': self.scim,
29838            'email': self.email,
29839            'external_id': self.external_id,
29840            'first_name': self.first_name,
29841            'id': self.id,
29842            'last_name': self.last_name,
29843            'managed_by': self.managed_by,
29844            'manager_id': self.manager_id,
29845            'password': self.password,
29846            'permission_level': self.permission_level,
29847            'resolved_manager_id': self.resolved_manager_id,
29848            'suspended': self.suspended,
29849            'tags': self.tags,
29850        }
29851
29852    @classmethod
29853    def from_dict(cls, d):
29854        return cls(
29855            scim=d.get('scim'),
29856            email=d.get('email'),
29857            external_id=d.get('external_id'),
29858            first_name=d.get('first_name'),
29859            id=d.get('id'),
29860            last_name=d.get('last_name'),
29861            managed_by=d.get('managed_by'),
29862            manager_id=d.get('manager_id'),
29863            password=d.get('password'),
29864            permission_level=d.get('permission_level'),
29865            resolved_manager_id=d.get('resolved_manager_id'),
29866            suspended=d.get('suspended'),
29867            tags=d.get('tags'),
29868        )
29869
29870
29871class VaultAWSEC2Store:
29872    __slots__ = [
29873        'id',
29874        'name',
29875        'namespace',
29876        'server_address',
29877        'tags',
29878    ]
29879
29880    def __init__(
29881        self,
29882        id=None,
29883        name=None,
29884        namespace=None,
29885        server_address=None,
29886        tags=None,
29887    ):
29888        self.id = id if id is not None else ''
29889        '''
29890         Unique identifier of the SecretStore.
29891        '''
29892        self.name = name if name is not None else ''
29893        '''
29894         Unique human-readable name of the SecretStore.
29895        '''
29896        self.namespace = namespace if namespace is not None else ''
29897        '''
29898         The namespace to make requests within
29899        '''
29900        self.server_address = server_address if server_address is not None else ''
29901        '''
29902         The URL of the Vault to target
29903        '''
29904        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29905        '''
29906         Tags is a map of key, value pairs.
29907        '''
29908
29909    def __repr__(self):
29910        return '<sdm.VaultAWSEC2Store ' + \
29911            'id: ' + repr(self.id) + ' ' +\
29912            'name: ' + repr(self.name) + ' ' +\
29913            'namespace: ' + repr(self.namespace) + ' ' +\
29914            'server_address: ' + repr(self.server_address) + ' ' +\
29915            'tags: ' + repr(self.tags) + ' ' +\
29916            '>'
29917
29918    def to_dict(self):
29919        return {
29920            'id': self.id,
29921            'name': self.name,
29922            'namespace': self.namespace,
29923            'server_address': self.server_address,
29924            'tags': self.tags,
29925        }
29926
29927    @classmethod
29928    def from_dict(cls, d):
29929        return cls(
29930            id=d.get('id'),
29931            name=d.get('name'),
29932            namespace=d.get('namespace'),
29933            server_address=d.get('server_address'),
29934            tags=d.get('tags'),
29935        )
29936
29937
29938class VaultAWSIAMStore:
29939    __slots__ = [
29940        'id',
29941        'name',
29942        'namespace',
29943        'server_address',
29944        'tags',
29945    ]
29946
29947    def __init__(
29948        self,
29949        id=None,
29950        name=None,
29951        namespace=None,
29952        server_address=None,
29953        tags=None,
29954    ):
29955        self.id = id if id is not None else ''
29956        '''
29957         Unique identifier of the SecretStore.
29958        '''
29959        self.name = name if name is not None else ''
29960        '''
29961         Unique human-readable name of the SecretStore.
29962        '''
29963        self.namespace = namespace if namespace is not None else ''
29964        '''
29965         The namespace to make requests within
29966        '''
29967        self.server_address = server_address if server_address is not None else ''
29968        '''
29969         The URL of the Vault to target
29970        '''
29971        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29972        '''
29973         Tags is a map of key, value pairs.
29974        '''
29975
29976    def __repr__(self):
29977        return '<sdm.VaultAWSIAMStore ' + \
29978            'id: ' + repr(self.id) + ' ' +\
29979            'name: ' + repr(self.name) + ' ' +\
29980            'namespace: ' + repr(self.namespace) + ' ' +\
29981            'server_address: ' + repr(self.server_address) + ' ' +\
29982            'tags: ' + repr(self.tags) + ' ' +\
29983            '>'
29984
29985    def to_dict(self):
29986        return {
29987            'id': self.id,
29988            'name': self.name,
29989            'namespace': self.namespace,
29990            'server_address': self.server_address,
29991            'tags': self.tags,
29992        }
29993
29994    @classmethod
29995    def from_dict(cls, d):
29996        return cls(
29997            id=d.get('id'),
29998            name=d.get('name'),
29999            namespace=d.get('namespace'),
30000            server_address=d.get('server_address'),
30001            tags=d.get('tags'),
30002        )
30003
30004
30005class VaultAppRoleCertSSHStore:
30006    __slots__ = [
30007        'id',
30008        'issuedcertttlminutes',
30009        'name',
30010        'namespace',
30011        'server_address',
30012        'signing_role',
30013        'ssh_mount_point',
30014        'tags',
30015    ]
30016
30017    def __init__(
30018        self,
30019        id=None,
30020        issuedcertttlminutes=None,
30021        name=None,
30022        namespace=None,
30023        server_address=None,
30024        signing_role=None,
30025        ssh_mount_point=None,
30026        tags=None,
30027    ):
30028        self.id = id if id is not None else ''
30029        '''
30030         Unique identifier of the SecretStore.
30031        '''
30032        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30033        '''
30034         The lifetime of certificates issued by this CA represented in minutes.
30035        '''
30036        self.name = name if name is not None else ''
30037        '''
30038         Unique human-readable name of the SecretStore.
30039        '''
30040        self.namespace = namespace if namespace is not None else ''
30041        '''
30042         The namespace to make requests within
30043        '''
30044        self.server_address = server_address if server_address is not None else ''
30045        '''
30046         The URL of the Vault to target
30047        '''
30048        self.signing_role = signing_role if signing_role is not None else ''
30049        '''
30050         The signing role to be used for signing certificates
30051        '''
30052        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
30053        '''
30054         The mount point of the SSH engine configured with the desired CA
30055        '''
30056        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30057        '''
30058         Tags is a map of key, value pairs.
30059        '''
30060
30061    def __repr__(self):
30062        return '<sdm.VaultAppRoleCertSSHStore ' + \
30063            'id: ' + repr(self.id) + ' ' +\
30064            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
30065            'name: ' + repr(self.name) + ' ' +\
30066            'namespace: ' + repr(self.namespace) + ' ' +\
30067            'server_address: ' + repr(self.server_address) + ' ' +\
30068            'signing_role: ' + repr(self.signing_role) + ' ' +\
30069            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
30070            'tags: ' + repr(self.tags) + ' ' +\
30071            '>'
30072
30073    def to_dict(self):
30074        return {
30075            'id': self.id,
30076            'issuedcertttlminutes': self.issuedcertttlminutes,
30077            'name': self.name,
30078            'namespace': self.namespace,
30079            'server_address': self.server_address,
30080            'signing_role': self.signing_role,
30081            'ssh_mount_point': self.ssh_mount_point,
30082            'tags': self.tags,
30083        }
30084
30085    @classmethod
30086    def from_dict(cls, d):
30087        return cls(
30088            id=d.get('id'),
30089            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30090            name=d.get('name'),
30091            namespace=d.get('namespace'),
30092            server_address=d.get('server_address'),
30093            signing_role=d.get('signing_role'),
30094            ssh_mount_point=d.get('ssh_mount_point'),
30095            tags=d.get('tags'),
30096        )
30097
30098
30099class VaultAppRoleCertX509Store:
30100    __slots__ = [
30101        'id',
30102        'issuedcertttlminutes',
30103        'name',
30104        'namespace',
30105        'pki_mount_point',
30106        'server_address',
30107        'signing_role',
30108        'tags',
30109    ]
30110
30111    def __init__(
30112        self,
30113        id=None,
30114        issuedcertttlminutes=None,
30115        name=None,
30116        namespace=None,
30117        pki_mount_point=None,
30118        server_address=None,
30119        signing_role=None,
30120        tags=None,
30121    ):
30122        self.id = id if id is not None else ''
30123        '''
30124         Unique identifier of the SecretStore.
30125        '''
30126        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30127        '''
30128         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
30129        '''
30130        self.name = name if name is not None else ''
30131        '''
30132         Unique human-readable name of the SecretStore.
30133        '''
30134        self.namespace = namespace if namespace is not None else ''
30135        '''
30136         The namespace to make requests within
30137        '''
30138        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
30139        '''
30140         The mount point of the PKI engine configured with the desired CA
30141        '''
30142        self.server_address = server_address if server_address is not None else ''
30143        '''
30144         The URL of the Vault to target
30145        '''
30146        self.signing_role = signing_role if signing_role is not None else ''
30147        '''
30148         The signing role to be used for signing certificates
30149        '''
30150        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30151        '''
30152         Tags is a map of key, value pairs.
30153        '''
30154
30155    def __repr__(self):
30156        return '<sdm.VaultAppRoleCertX509Store ' + \
30157            'id: ' + repr(self.id) + ' ' +\
30158            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
30159            'name: ' + repr(self.name) + ' ' +\
30160            'namespace: ' + repr(self.namespace) + ' ' +\
30161            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
30162            'server_address: ' + repr(self.server_address) + ' ' +\
30163            'signing_role: ' + repr(self.signing_role) + ' ' +\
30164            'tags: ' + repr(self.tags) + ' ' +\
30165            '>'
30166
30167    def to_dict(self):
30168        return {
30169            'id': self.id,
30170            'issuedcertttlminutes': self.issuedcertttlminutes,
30171            'name': self.name,
30172            'namespace': self.namespace,
30173            'pki_mount_point': self.pki_mount_point,
30174            'server_address': self.server_address,
30175            'signing_role': self.signing_role,
30176            'tags': self.tags,
30177        }
30178
30179    @classmethod
30180    def from_dict(cls, d):
30181        return cls(
30182            id=d.get('id'),
30183            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30184            name=d.get('name'),
30185            namespace=d.get('namespace'),
30186            pki_mount_point=d.get('pki_mount_point'),
30187            server_address=d.get('server_address'),
30188            signing_role=d.get('signing_role'),
30189            tags=d.get('tags'),
30190        )
30191
30192
30193class VaultAppRoleStore:
30194    __slots__ = [
30195        'id',
30196        'name',
30197        'namespace',
30198        'server_address',
30199        'tags',
30200    ]
30201
30202    def __init__(
30203        self,
30204        id=None,
30205        name=None,
30206        namespace=None,
30207        server_address=None,
30208        tags=None,
30209    ):
30210        self.id = id if id is not None else ''
30211        '''
30212         Unique identifier of the SecretStore.
30213        '''
30214        self.name = name if name is not None else ''
30215        '''
30216         Unique human-readable name of the SecretStore.
30217        '''
30218        self.namespace = namespace if namespace is not None else ''
30219        '''
30220         The namespace to make requests within
30221        '''
30222        self.server_address = server_address if server_address is not None else ''
30223        '''
30224         The URL of the Vault to target
30225        '''
30226        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30227        '''
30228         Tags is a map of key, value pairs.
30229        '''
30230
30231    def __repr__(self):
30232        return '<sdm.VaultAppRoleStore ' + \
30233            'id: ' + repr(self.id) + ' ' +\
30234            'name: ' + repr(self.name) + ' ' +\
30235            'namespace: ' + repr(self.namespace) + ' ' +\
30236            'server_address: ' + repr(self.server_address) + ' ' +\
30237            'tags: ' + repr(self.tags) + ' ' +\
30238            '>'
30239
30240    def to_dict(self):
30241        return {
30242            'id': self.id,
30243            'name': self.name,
30244            'namespace': self.namespace,
30245            'server_address': self.server_address,
30246            'tags': self.tags,
30247        }
30248
30249    @classmethod
30250    def from_dict(cls, d):
30251        return cls(
30252            id=d.get('id'),
30253            name=d.get('name'),
30254            namespace=d.get('namespace'),
30255            server_address=d.get('server_address'),
30256            tags=d.get('tags'),
30257        )
30258
30259
30260class VaultTLSCertSSHStore:
30261    __slots__ = [
30262        'ca_cert_path',
30263        'client_cert_path',
30264        'client_key_path',
30265        'id',
30266        'issuedcertttlminutes',
30267        'name',
30268        'namespace',
30269        'server_address',
30270        'signing_role',
30271        'ssh_mount_point',
30272        'tags',
30273    ]
30274
30275    def __init__(
30276        self,
30277        ca_cert_path=None,
30278        client_cert_path=None,
30279        client_key_path=None,
30280        id=None,
30281        issuedcertttlminutes=None,
30282        name=None,
30283        namespace=None,
30284        server_address=None,
30285        signing_role=None,
30286        ssh_mount_point=None,
30287        tags=None,
30288    ):
30289        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
30290        '''
30291         A path to a CA file accessible by a Node
30292        '''
30293        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
30294        '''
30295         A path to a client certificate file accessible by a Node
30296        '''
30297        self.client_key_path = client_key_path if client_key_path is not None else ''
30298        '''
30299         A path to a client key file accessible by a Node
30300        '''
30301        self.id = id if id is not None else ''
30302        '''
30303         Unique identifier of the SecretStore.
30304        '''
30305        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30306        '''
30307         The lifetime of certificates issued by this CA represented in minutes.
30308        '''
30309        self.name = name if name is not None else ''
30310        '''
30311         Unique human-readable name of the SecretStore.
30312        '''
30313        self.namespace = namespace if namespace is not None else ''
30314        '''
30315         The namespace to make requests within
30316        '''
30317        self.server_address = server_address if server_address is not None else ''
30318        '''
30319         The URL of the Vault to target
30320        '''
30321        self.signing_role = signing_role if signing_role is not None else ''
30322        '''
30323         The signing role to be used for signing certificates
30324        '''
30325        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
30326        '''
30327         The mount point of the SSH engine configured with the desired CA
30328        '''
30329        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30330        '''
30331         Tags is a map of key, value pairs.
30332        '''
30333
30334    def __repr__(self):
30335        return '<sdm.VaultTLSCertSSHStore ' + \
30336            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
30337            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
30338            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
30339            'id: ' + repr(self.id) + ' ' +\
30340            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
30341            'name: ' + repr(self.name) + ' ' +\
30342            'namespace: ' + repr(self.namespace) + ' ' +\
30343            'server_address: ' + repr(self.server_address) + ' ' +\
30344            'signing_role: ' + repr(self.signing_role) + ' ' +\
30345            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
30346            'tags: ' + repr(self.tags) + ' ' +\
30347            '>'
30348
30349    def to_dict(self):
30350        return {
30351            'ca_cert_path': self.ca_cert_path,
30352            'client_cert_path': self.client_cert_path,
30353            'client_key_path': self.client_key_path,
30354            'id': self.id,
30355            'issuedcertttlminutes': self.issuedcertttlminutes,
30356            'name': self.name,
30357            'namespace': self.namespace,
30358            'server_address': self.server_address,
30359            'signing_role': self.signing_role,
30360            'ssh_mount_point': self.ssh_mount_point,
30361            'tags': self.tags,
30362        }
30363
30364    @classmethod
30365    def from_dict(cls, d):
30366        return cls(
30367            ca_cert_path=d.get('ca_cert_path'),
30368            client_cert_path=d.get('client_cert_path'),
30369            client_key_path=d.get('client_key_path'),
30370            id=d.get('id'),
30371            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30372            name=d.get('name'),
30373            namespace=d.get('namespace'),
30374            server_address=d.get('server_address'),
30375            signing_role=d.get('signing_role'),
30376            ssh_mount_point=d.get('ssh_mount_point'),
30377            tags=d.get('tags'),
30378        )
30379
30380
30381class VaultTLSCertX509Store:
30382    __slots__ = [
30383        'ca_cert_path',
30384        'client_cert_path',
30385        'client_key_path',
30386        'id',
30387        'issuedcertttlminutes',
30388        'name',
30389        'namespace',
30390        'pki_mount_point',
30391        'server_address',
30392        'signing_role',
30393        'tags',
30394    ]
30395
30396    def __init__(
30397        self,
30398        ca_cert_path=None,
30399        client_cert_path=None,
30400        client_key_path=None,
30401        id=None,
30402        issuedcertttlminutes=None,
30403        name=None,
30404        namespace=None,
30405        pki_mount_point=None,
30406        server_address=None,
30407        signing_role=None,
30408        tags=None,
30409    ):
30410        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
30411        '''
30412         A path to a CA file accessible by a Node
30413        '''
30414        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
30415        '''
30416         A path to a client certificate file accessible by a Node
30417        '''
30418        self.client_key_path = client_key_path if client_key_path is not None else ''
30419        '''
30420         A path to a client key file accessible by a Node
30421        '''
30422        self.id = id if id is not None else ''
30423        '''
30424         Unique identifier of the SecretStore.
30425        '''
30426        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30427        '''
30428         The lifetime of certificates issued by this CA represented in minutes.
30429        '''
30430        self.name = name if name is not None else ''
30431        '''
30432         Unique human-readable name of the SecretStore.
30433        '''
30434        self.namespace = namespace if namespace is not None else ''
30435        '''
30436         The namespace to make requests within
30437        '''
30438        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
30439        '''
30440         The mount point of the PKI engine configured with the desired CA
30441        '''
30442        self.server_address = server_address if server_address is not None else ''
30443        '''
30444         The URL of the Vault to target
30445        '''
30446        self.signing_role = signing_role if signing_role is not None else ''
30447        '''
30448         The signing role to be used for signing certificates
30449        '''
30450        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30451        '''
30452         Tags is a map of key, value pairs.
30453        '''
30454
30455    def __repr__(self):
30456        return '<sdm.VaultTLSCertX509Store ' + \
30457            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
30458            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
30459            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
30460            'id: ' + repr(self.id) + ' ' +\
30461            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
30462            'name: ' + repr(self.name) + ' ' +\
30463            'namespace: ' + repr(self.namespace) + ' ' +\
30464            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
30465            'server_address: ' + repr(self.server_address) + ' ' +\
30466            'signing_role: ' + repr(self.signing_role) + ' ' +\
30467            'tags: ' + repr(self.tags) + ' ' +\
30468            '>'
30469
30470    def to_dict(self):
30471        return {
30472            'ca_cert_path': self.ca_cert_path,
30473            'client_cert_path': self.client_cert_path,
30474            'client_key_path': self.client_key_path,
30475            'id': self.id,
30476            'issuedcertttlminutes': self.issuedcertttlminutes,
30477            'name': self.name,
30478            'namespace': self.namespace,
30479            'pki_mount_point': self.pki_mount_point,
30480            'server_address': self.server_address,
30481            'signing_role': self.signing_role,
30482            'tags': self.tags,
30483        }
30484
30485    @classmethod
30486    def from_dict(cls, d):
30487        return cls(
30488            ca_cert_path=d.get('ca_cert_path'),
30489            client_cert_path=d.get('client_cert_path'),
30490            client_key_path=d.get('client_key_path'),
30491            id=d.get('id'),
30492            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30493            name=d.get('name'),
30494            namespace=d.get('namespace'),
30495            pki_mount_point=d.get('pki_mount_point'),
30496            server_address=d.get('server_address'),
30497            signing_role=d.get('signing_role'),
30498            tags=d.get('tags'),
30499        )
30500
30501
30502class VaultTLSStore:
30503    __slots__ = [
30504        'ca_cert_path',
30505        'client_cert_path',
30506        'client_key_path',
30507        'id',
30508        'name',
30509        'namespace',
30510        'server_address',
30511        'tags',
30512    ]
30513
30514    def __init__(
30515        self,
30516        ca_cert_path=None,
30517        client_cert_path=None,
30518        client_key_path=None,
30519        id=None,
30520        name=None,
30521        namespace=None,
30522        server_address=None,
30523        tags=None,
30524    ):
30525        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
30526        '''
30527         A path to a CA file accessible by a Node
30528        '''
30529        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
30530        '''
30531         A path to a client certificate file accessible by a Node
30532        '''
30533        self.client_key_path = client_key_path if client_key_path is not None else ''
30534        '''
30535         A path to a client key file accessible by a Node
30536        '''
30537        self.id = id if id is not None else ''
30538        '''
30539         Unique identifier of the SecretStore.
30540        '''
30541        self.name = name if name is not None else ''
30542        '''
30543         Unique human-readable name of the SecretStore.
30544        '''
30545        self.namespace = namespace if namespace is not None else ''
30546        '''
30547         The namespace to make requests within
30548        '''
30549        self.server_address = server_address if server_address is not None else ''
30550        '''
30551         The URL of the Vault to target
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.VaultTLSStore ' + \
30560            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
30561            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
30562            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
30563            'id: ' + repr(self.id) + ' ' +\
30564            'name: ' + repr(self.name) + ' ' +\
30565            'namespace: ' + repr(self.namespace) + ' ' +\
30566            'server_address: ' + repr(self.server_address) + ' ' +\
30567            'tags: ' + repr(self.tags) + ' ' +\
30568            '>'
30569
30570    def to_dict(self):
30571        return {
30572            'ca_cert_path': self.ca_cert_path,
30573            'client_cert_path': self.client_cert_path,
30574            'client_key_path': self.client_key_path,
30575            'id': self.id,
30576            'name': self.name,
30577            'namespace': self.namespace,
30578            'server_address': self.server_address,
30579            'tags': self.tags,
30580        }
30581
30582    @classmethod
30583    def from_dict(cls, d):
30584        return cls(
30585            ca_cert_path=d.get('ca_cert_path'),
30586            client_cert_path=d.get('client_cert_path'),
30587            client_key_path=d.get('client_key_path'),
30588            id=d.get('id'),
30589            name=d.get('name'),
30590            namespace=d.get('namespace'),
30591            server_address=d.get('server_address'),
30592            tags=d.get('tags'),
30593        )
30594
30595
30596class VaultTokenCertSSHStore:
30597    __slots__ = [
30598        'id',
30599        'issuedcertttlminutes',
30600        'name',
30601        'namespace',
30602        'server_address',
30603        'signing_role',
30604        'ssh_mount_point',
30605        'tags',
30606    ]
30607
30608    def __init__(
30609        self,
30610        id=None,
30611        issuedcertttlminutes=None,
30612        name=None,
30613        namespace=None,
30614        server_address=None,
30615        signing_role=None,
30616        ssh_mount_point=None,
30617        tags=None,
30618    ):
30619        self.id = id if id is not None else ''
30620        '''
30621         Unique identifier of the SecretStore.
30622        '''
30623        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30624        '''
30625         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
30626        '''
30627        self.name = name if name is not None else ''
30628        '''
30629         Unique human-readable name of the SecretStore.
30630        '''
30631        self.namespace = namespace if namespace is not None else ''
30632        '''
30633         The namespace to make requests within
30634        '''
30635        self.server_address = server_address if server_address is not None else ''
30636        '''
30637         The URL of the Vault to target
30638        '''
30639        self.signing_role = signing_role if signing_role is not None else ''
30640        '''
30641         The signing role to be used for signing certificates
30642        '''
30643        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
30644        '''
30645         The mount point of the SSH engine configured with the desired CA
30646        '''
30647        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30648        '''
30649         Tags is a map of key, value pairs.
30650        '''
30651
30652    def __repr__(self):
30653        return '<sdm.VaultTokenCertSSHStore ' + \
30654            'id: ' + repr(self.id) + ' ' +\
30655            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
30656            'name: ' + repr(self.name) + ' ' +\
30657            'namespace: ' + repr(self.namespace) + ' ' +\
30658            'server_address: ' + repr(self.server_address) + ' ' +\
30659            'signing_role: ' + repr(self.signing_role) + ' ' +\
30660            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
30661            'tags: ' + repr(self.tags) + ' ' +\
30662            '>'
30663
30664    def to_dict(self):
30665        return {
30666            'id': self.id,
30667            'issuedcertttlminutes': self.issuedcertttlminutes,
30668            'name': self.name,
30669            'namespace': self.namespace,
30670            'server_address': self.server_address,
30671            'signing_role': self.signing_role,
30672            'ssh_mount_point': self.ssh_mount_point,
30673            'tags': self.tags,
30674        }
30675
30676    @classmethod
30677    def from_dict(cls, d):
30678        return cls(
30679            id=d.get('id'),
30680            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30681            name=d.get('name'),
30682            namespace=d.get('namespace'),
30683            server_address=d.get('server_address'),
30684            signing_role=d.get('signing_role'),
30685            ssh_mount_point=d.get('ssh_mount_point'),
30686            tags=d.get('tags'),
30687        )
30688
30689
30690class VaultTokenCertX509Store:
30691    __slots__ = [
30692        'id',
30693        'issuedcertttlminutes',
30694        'name',
30695        'namespace',
30696        'pki_mount_point',
30697        'server_address',
30698        'signing_role',
30699        'tags',
30700    ]
30701
30702    def __init__(
30703        self,
30704        id=None,
30705        issuedcertttlminutes=None,
30706        name=None,
30707        namespace=None,
30708        pki_mount_point=None,
30709        server_address=None,
30710        signing_role=None,
30711        tags=None,
30712    ):
30713        self.id = id if id is not None else ''
30714        '''
30715         Unique identifier of the SecretStore.
30716        '''
30717        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30718        '''
30719         The lifetime of certificates issued by this CA represented in minutes.
30720        '''
30721        self.name = name if name is not None else ''
30722        '''
30723         Unique human-readable name of the SecretStore.
30724        '''
30725        self.namespace = namespace if namespace is not None else ''
30726        '''
30727         The namespace to make requests within
30728        '''
30729        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
30730        '''
30731         The mount point of the PKI engine configured with the desired CA
30732        '''
30733        self.server_address = server_address if server_address is not None else ''
30734        '''
30735         The URL of the Vault to target
30736        '''
30737        self.signing_role = signing_role if signing_role is not None else ''
30738        '''
30739         The signing role to be used for signing certificates
30740        '''
30741        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30742        '''
30743         Tags is a map of key, value pairs.
30744        '''
30745
30746    def __repr__(self):
30747        return '<sdm.VaultTokenCertX509Store ' + \
30748            'id: ' + repr(self.id) + ' ' +\
30749            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
30750            'name: ' + repr(self.name) + ' ' +\
30751            'namespace: ' + repr(self.namespace) + ' ' +\
30752            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
30753            'server_address: ' + repr(self.server_address) + ' ' +\
30754            'signing_role: ' + repr(self.signing_role) + ' ' +\
30755            'tags: ' + repr(self.tags) + ' ' +\
30756            '>'
30757
30758    def to_dict(self):
30759        return {
30760            'id': self.id,
30761            'issuedcertttlminutes': self.issuedcertttlminutes,
30762            'name': self.name,
30763            'namespace': self.namespace,
30764            'pki_mount_point': self.pki_mount_point,
30765            'server_address': self.server_address,
30766            'signing_role': self.signing_role,
30767            'tags': self.tags,
30768        }
30769
30770    @classmethod
30771    def from_dict(cls, d):
30772        return cls(
30773            id=d.get('id'),
30774            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30775            name=d.get('name'),
30776            namespace=d.get('namespace'),
30777            pki_mount_point=d.get('pki_mount_point'),
30778            server_address=d.get('server_address'),
30779            signing_role=d.get('signing_role'),
30780            tags=d.get('tags'),
30781        )
30782
30783
30784class VaultTokenStore:
30785    __slots__ = [
30786        'id',
30787        'name',
30788        'namespace',
30789        'server_address',
30790        'tags',
30791    ]
30792
30793    def __init__(
30794        self,
30795        id=None,
30796        name=None,
30797        namespace=None,
30798        server_address=None,
30799        tags=None,
30800    ):
30801        self.id = id if id is not None else ''
30802        '''
30803         Unique identifier of the SecretStore.
30804        '''
30805        self.name = name if name is not None else ''
30806        '''
30807         Unique human-readable name of the SecretStore.
30808        '''
30809        self.namespace = namespace if namespace is not None else ''
30810        '''
30811         The namespace to make requests within
30812        '''
30813        self.server_address = server_address if server_address is not None else ''
30814        '''
30815         The URL of the Vault to target
30816        '''
30817        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30818        '''
30819         Tags is a map of key, value pairs.
30820        '''
30821
30822    def __repr__(self):
30823        return '<sdm.VaultTokenStore ' + \
30824            'id: ' + repr(self.id) + ' ' +\
30825            'name: ' + repr(self.name) + ' ' +\
30826            'namespace: ' + repr(self.namespace) + ' ' +\
30827            'server_address: ' + repr(self.server_address) + ' ' +\
30828            'tags: ' + repr(self.tags) + ' ' +\
30829            '>'
30830
30831    def to_dict(self):
30832        return {
30833            'id': self.id,
30834            'name': self.name,
30835            'namespace': self.namespace,
30836            'server_address': self.server_address,
30837            'tags': self.tags,
30838        }
30839
30840    @classmethod
30841    def from_dict(cls, d):
30842        return cls(
30843            id=d.get('id'),
30844            name=d.get('name'),
30845            namespace=d.get('namespace'),
30846            server_address=d.get('server_address'),
30847            tags=d.get('tags'),
30848        )
30849
30850
30851class Vertica:
30852    __slots__ = [
30853        'bind_interface',
30854        'database',
30855        'egress_filter',
30856        'healthy',
30857        'hostname',
30858        'id',
30859        'name',
30860        'password',
30861        'port',
30862        'port_override',
30863        'proxy_cluster_id',
30864        'secret_store_id',
30865        'subdomain',
30866        'tags',
30867        'username',
30868    ]
30869
30870    def __init__(
30871        self,
30872        bind_interface=None,
30873        database=None,
30874        egress_filter=None,
30875        healthy=None,
30876        hostname=None,
30877        id=None,
30878        name=None,
30879        password=None,
30880        port=None,
30881        port_override=None,
30882        proxy_cluster_id=None,
30883        secret_store_id=None,
30884        subdomain=None,
30885        tags=None,
30886        username=None,
30887    ):
30888        self.bind_interface = bind_interface if bind_interface is not None else ''
30889        '''
30890         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
30891        '''
30892        self.database = database if database is not None else ''
30893        '''
30894         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
30895        '''
30896        self.egress_filter = egress_filter if egress_filter is not None else ''
30897        '''
30898         A filter applied to the routing logic to pin datasource to nodes.
30899        '''
30900        self.healthy = healthy if healthy is not None else False
30901        '''
30902         True if the datasource is reachable and the credentials are valid.
30903        '''
30904        self.hostname = hostname if hostname is not None else ''
30905        '''
30906         The host to dial to initiate a connection from the egress node to this resource.
30907        '''
30908        self.id = id if id is not None else ''
30909        '''
30910         Unique identifier of the Resource.
30911        '''
30912        self.name = name if name is not None else ''
30913        '''
30914         Unique human-readable name of the Resource.
30915        '''
30916        self.password = password if password is not None else ''
30917        '''
30918         The password to authenticate with.
30919        '''
30920        self.port = port if port is not None else 0
30921        '''
30922         The port to dial to initiate a connection from the egress node to this resource.
30923        '''
30924        self.port_override = port_override if port_override is not None else 0
30925        '''
30926         The local port used by clients to connect to this resource.
30927        '''
30928        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
30929        '''
30930         ID of the proxy cluster for this resource, if any.
30931        '''
30932        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
30933        '''
30934         ID of the secret store containing credentials for this resource, if any.
30935        '''
30936        self.subdomain = subdomain if subdomain is not None else ''
30937        '''
30938         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
30939        '''
30940        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30941        '''
30942         Tags is a map of key, value pairs.
30943        '''
30944        self.username = username if username is not None else ''
30945        '''
30946         The username to authenticate with.
30947        '''
30948
30949    def __repr__(self):
30950        return '<sdm.Vertica ' + \
30951            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
30952            'database: ' + repr(self.database) + ' ' +\
30953            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
30954            'healthy: ' + repr(self.healthy) + ' ' +\
30955            'hostname: ' + repr(self.hostname) + ' ' +\
30956            'id: ' + repr(self.id) + ' ' +\
30957            'name: ' + repr(self.name) + ' ' +\
30958            'password: ' + repr(self.password) + ' ' +\
30959            'port: ' + repr(self.port) + ' ' +\
30960            'port_override: ' + repr(self.port_override) + ' ' +\
30961            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
30962            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
30963            'subdomain: ' + repr(self.subdomain) + ' ' +\
30964            'tags: ' + repr(self.tags) + ' ' +\
30965            'username: ' + repr(self.username) + ' ' +\
30966            '>'
30967
30968    def to_dict(self):
30969        return {
30970            'bind_interface': self.bind_interface,
30971            'database': self.database,
30972            'egress_filter': self.egress_filter,
30973            'healthy': self.healthy,
30974            'hostname': self.hostname,
30975            'id': self.id,
30976            'name': self.name,
30977            'password': self.password,
30978            'port': self.port,
30979            'port_override': self.port_override,
30980            'proxy_cluster_id': self.proxy_cluster_id,
30981            'secret_store_id': self.secret_store_id,
30982            'subdomain': self.subdomain,
30983            'tags': self.tags,
30984            'username': self.username,
30985        }
30986
30987    @classmethod
30988    def from_dict(cls, d):
30989        return cls(
30990            bind_interface=d.get('bind_interface'),
30991            database=d.get('database'),
30992            egress_filter=d.get('egress_filter'),
30993            healthy=d.get('healthy'),
30994            hostname=d.get('hostname'),
30995            id=d.get('id'),
30996            name=d.get('name'),
30997            password=d.get('password'),
30998            port=d.get('port'),
30999            port_override=d.get('port_override'),
31000            proxy_cluster_id=d.get('proxy_cluster_id'),
31001            secret_store_id=d.get('secret_store_id'),
31002            subdomain=d.get('subdomain'),
31003            tags=d.get('tags'),
31004            username=d.get('username'),
31005        )
31006
31007
31008class Workflow:
31009    '''
31010         Workflows are the collection of rules that define the resources to which access can be requested,
31011     the users that can request that access, and the mechanism for approving those requests which can either
31012     but automatic approval or a set of users authorized to approve the requests.
31013    '''
31014    __slots__ = [
31015        'access_request_fixed_duration',
31016        'access_request_max_duration',
31017        'access_rules',
31018        'approval_flow_id',
31019        'auto_grant',
31020        'description',
31021        'enabled',
31022        'id',
31023        'name',
31024        'weight',
31025    ]
31026
31027    def __init__(
31028        self,
31029        access_request_fixed_duration=None,
31030        access_request_max_duration=None,
31031        access_rules=None,
31032        approval_flow_id=None,
31033        auto_grant=None,
31034        description=None,
31035        enabled=None,
31036        id=None,
31037        name=None,
31038        weight=None,
31039    ):
31040        self.access_request_fixed_duration = access_request_fixed_duration if access_request_fixed_duration is not None else None
31041        '''
31042         Fixed Duration of access requests bound to this workflow. If fixed duration is provided, max duration must be empty.
31043         If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.
31044        '''
31045        self.access_request_max_duration = access_request_max_duration if access_request_max_duration is not None else None
31046        '''
31047         Maximum Duration of access requests bound to this workflow. If max duration is provided, fixed duration must be empty.
31048         If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.
31049        '''
31050        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
31051        )
31052        '''
31053         AccessRules is a list of access rules defining the resources this Workflow provides access to.
31054        '''
31055        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
31056        '''
31057         Optional approval flow ID identifies an approval flow that linked to the workflow
31058        '''
31059        self.auto_grant = auto_grant if auto_grant is not None else False
31060        '''
31061         Optional auto grant setting to automatically approve requests or not, defaults to false.
31062        '''
31063        self.description = description if description is not None else ''
31064        '''
31065         Optional description of the Workflow.
31066        '''
31067        self.enabled = enabled if enabled is not None else False
31068        '''
31069         Optional enabled state for workflow. This setting may be overridden by the system if
31070         the workflow doesn't meet the requirements to be enabled or if other conditions prevent
31071         enabling the workflow. The requirements to enable a workflow are that the workflow must be
31072         either set up for with auto grant enabled or have one or more WorkflowApprovers created for
31073         the workflow.
31074        '''
31075        self.id = id if id is not None else ''
31076        '''
31077         Unique identifier of the Workflow.
31078        '''
31079        self.name = name if name is not None else ''
31080        '''
31081         Unique human-readable name of the Workflow.
31082        '''
31083        self.weight = weight if weight is not None else 0
31084        '''
31085         Optional weight for workflow to specify it's priority in matching a request.
31086        '''
31087
31088    def __repr__(self):
31089        return '<sdm.Workflow ' + \
31090            'access_request_fixed_duration: ' + repr(self.access_request_fixed_duration) + ' ' +\
31091            'access_request_max_duration: ' + repr(self.access_request_max_duration) + ' ' +\
31092            'access_rules: ' + repr(self.access_rules) + ' ' +\
31093            'approval_flow_id: ' + repr(self.approval_flow_id) + ' ' +\
31094            'auto_grant: ' + repr(self.auto_grant) + ' ' +\
31095            'description: ' + repr(self.description) + ' ' +\
31096            'enabled: ' + repr(self.enabled) + ' ' +\
31097            'id: ' + repr(self.id) + ' ' +\
31098            'name: ' + repr(self.name) + ' ' +\
31099            'weight: ' + repr(self.weight) + ' ' +\
31100            '>'
31101
31102    def to_dict(self):
31103        return {
31104            'access_request_fixed_duration':
31105            self.access_request_fixed_duration,
31106            'access_request_max_duration': self.access_request_max_duration,
31107            'access_rules': self.access_rules,
31108            'approval_flow_id': self.approval_flow_id,
31109            'auto_grant': self.auto_grant,
31110            'description': self.description,
31111            'enabled': self.enabled,
31112            'id': self.id,
31113            'name': self.name,
31114            'weight': self.weight,
31115        }
31116
31117    @classmethod
31118    def from_dict(cls, d):
31119        return cls(
31120            access_request_fixed_duration=d.get(
31121                'access_request_fixed_duration'),
31122            access_request_max_duration=d.get('access_request_max_duration'),
31123            access_rules=d.get('access_rules'),
31124            approval_flow_id=d.get('approval_flow_id'),
31125            auto_grant=d.get('auto_grant'),
31126            description=d.get('description'),
31127            enabled=d.get('enabled'),
31128            id=d.get('id'),
31129            name=d.get('name'),
31130            weight=d.get('weight'),
31131        )
31132
31133
31134class WorkflowApprover:
31135    '''
31136         WorkflowApprover is an account or a role with the ability to approve requests bound to a workflow.
31137    '''
31138    __slots__ = [
31139        'account_id',
31140        'id',
31141        'role_id',
31142        'workflow_id',
31143    ]
31144
31145    def __init__(
31146        self,
31147        account_id=None,
31148        id=None,
31149        role_id=None,
31150        workflow_id=None,
31151    ):
31152        self.account_id = account_id if account_id is not None else ''
31153        '''
31154         The approver account id.
31155        '''
31156        self.id = id if id is not None else ''
31157        '''
31158         Unique identifier of the WorkflowApprover.
31159        '''
31160        self.role_id = role_id if role_id is not None else ''
31161        '''
31162         The approver role id
31163        '''
31164        self.workflow_id = workflow_id if workflow_id is not None else ''
31165        '''
31166         The workflow id.
31167        '''
31168
31169    def __repr__(self):
31170        return '<sdm.WorkflowApprover ' + \
31171            'account_id: ' + repr(self.account_id) + ' ' +\
31172            'id: ' + repr(self.id) + ' ' +\
31173            'role_id: ' + repr(self.role_id) + ' ' +\
31174            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
31175            '>'
31176
31177    def to_dict(self):
31178        return {
31179            'account_id': self.account_id,
31180            'id': self.id,
31181            'role_id': self.role_id,
31182            'workflow_id': self.workflow_id,
31183        }
31184
31185    @classmethod
31186    def from_dict(cls, d):
31187        return cls(
31188            account_id=d.get('account_id'),
31189            id=d.get('id'),
31190            role_id=d.get('role_id'),
31191            workflow_id=d.get('workflow_id'),
31192        )
31193
31194
31195class WorkflowApproverGetResponse:
31196    '''
31197         WorkflowApproverGetResponse returns a requested WorkflowApprover.
31198    '''
31199    __slots__ = [
31200        'meta',
31201        'rate_limit',
31202        'workflow_approver',
31203    ]
31204
31205    def __init__(
31206        self,
31207        meta=None,
31208        rate_limit=None,
31209        workflow_approver=None,
31210    ):
31211        self.meta = meta if meta is not None else None
31212        '''
31213         Reserved for future use.
31214        '''
31215        self.rate_limit = rate_limit if rate_limit is not None else None
31216        '''
31217         Rate limit information.
31218        '''
31219        self.workflow_approver = workflow_approver if workflow_approver is not None else None
31220        '''
31221         The requested WorkflowApprover.
31222        '''
31223
31224    def __repr__(self):
31225        return '<sdm.WorkflowApproverGetResponse ' + \
31226            'meta: ' + repr(self.meta) + ' ' +\
31227            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31228            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
31229            '>'
31230
31231    def to_dict(self):
31232        return {
31233            'meta': self.meta,
31234            'rate_limit': self.rate_limit,
31235            'workflow_approver': self.workflow_approver,
31236        }
31237
31238    @classmethod
31239    def from_dict(cls, d):
31240        return cls(
31241            meta=d.get('meta'),
31242            rate_limit=d.get('rate_limit'),
31243            workflow_approver=d.get('workflow_approver'),
31244        )
31245
31246
31247class WorkflowApproverHistory:
31248    '''
31249         WorkflowApproverHistory provides records of all changes to the state of a WorkflowApprover.
31250    '''
31251    __slots__ = [
31252        'activity_id',
31253        'deleted_at',
31254        'timestamp',
31255        'workflow_approver',
31256    ]
31257
31258    def __init__(
31259        self,
31260        activity_id=None,
31261        deleted_at=None,
31262        timestamp=None,
31263        workflow_approver=None,
31264    ):
31265        self.activity_id = activity_id if activity_id is not None else ''
31266        '''
31267         The unique identifier of the Activity that produced this change to the WorkflowApprover.
31268         May be empty for some system-initiated updates.
31269        '''
31270        self.deleted_at = deleted_at if deleted_at is not None else None
31271        '''
31272         If this WorkflowApprover was deleted, the time it was deleted.
31273        '''
31274        self.timestamp = timestamp if timestamp is not None else None
31275        '''
31276         The time at which the WorkflowApprover state was recorded.
31277        '''
31278        self.workflow_approver = workflow_approver if workflow_approver is not None else None
31279        '''
31280         The complete WorkflowApprover state at this time.
31281        '''
31282
31283    def __repr__(self):
31284        return '<sdm.WorkflowApproverHistory ' + \
31285            'activity_id: ' + repr(self.activity_id) + ' ' +\
31286            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
31287            'timestamp: ' + repr(self.timestamp) + ' ' +\
31288            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
31289            '>'
31290
31291    def to_dict(self):
31292        return {
31293            'activity_id': self.activity_id,
31294            'deleted_at': self.deleted_at,
31295            'timestamp': self.timestamp,
31296            'workflow_approver': self.workflow_approver,
31297        }
31298
31299    @classmethod
31300    def from_dict(cls, d):
31301        return cls(
31302            activity_id=d.get('activity_id'),
31303            deleted_at=d.get('deleted_at'),
31304            timestamp=d.get('timestamp'),
31305            workflow_approver=d.get('workflow_approver'),
31306        )
31307
31308
31309class WorkflowApproversCreateRequest:
31310    '''
31311         WorkflowApproversCreateRequest specifies the workflowID and approverID of a new
31312     workflow approver to be created.
31313    '''
31314    __slots__ = [
31315        'workflow_approver',
31316    ]
31317
31318    def __init__(
31319        self,
31320        workflow_approver=None,
31321    ):
31322        self.workflow_approver = workflow_approver if workflow_approver is not None else None
31323        '''
31324         Parameters to define the new WorkflowApprover.
31325        '''
31326
31327    def __repr__(self):
31328        return '<sdm.WorkflowApproversCreateRequest ' + \
31329            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
31330            '>'
31331
31332    def to_dict(self):
31333        return {
31334            'workflow_approver': self.workflow_approver,
31335        }
31336
31337    @classmethod
31338    def from_dict(cls, d):
31339        return cls(workflow_approver=d.get('workflow_approver'), )
31340
31341
31342class WorkflowApproversCreateResponse:
31343    '''
31344         WorkflowApproversCreateResponse reports how the WorkflowApprover was created in the system.
31345    '''
31346    __slots__ = [
31347        'rate_limit',
31348        'workflow_approver',
31349    ]
31350
31351    def __init__(
31352        self,
31353        rate_limit=None,
31354        workflow_approver=None,
31355    ):
31356        self.rate_limit = rate_limit if rate_limit is not None else None
31357        '''
31358         Rate limit information.
31359        '''
31360        self.workflow_approver = workflow_approver if workflow_approver is not None else None
31361        '''
31362         The created workflow approver.
31363        '''
31364
31365    def __repr__(self):
31366        return '<sdm.WorkflowApproversCreateResponse ' + \
31367            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31368            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
31369            '>'
31370
31371    def to_dict(self):
31372        return {
31373            'rate_limit': self.rate_limit,
31374            'workflow_approver': self.workflow_approver,
31375        }
31376
31377    @classmethod
31378    def from_dict(cls, d):
31379        return cls(
31380            rate_limit=d.get('rate_limit'),
31381            workflow_approver=d.get('workflow_approver'),
31382        )
31383
31384
31385class WorkflowApproversDeleteRequest:
31386    '''
31387         WorkflowApproversDeleteRequest specifies the ID of a WorkflowApprover to be deleted.
31388    '''
31389    __slots__ = [
31390        'id',
31391    ]
31392
31393    def __init__(
31394        self,
31395        id=None,
31396    ):
31397        self.id = id if id is not None else ''
31398        '''
31399         The unique identifier of the WorkflowApprover to delete.
31400        '''
31401
31402    def __repr__(self):
31403        return '<sdm.WorkflowApproversDeleteRequest ' + \
31404            'id: ' + repr(self.id) + ' ' +\
31405            '>'
31406
31407    def to_dict(self):
31408        return {
31409            'id': self.id,
31410        }
31411
31412    @classmethod
31413    def from_dict(cls, d):
31414        return cls(id=d.get('id'), )
31415
31416
31417class WorkflowApproversDeleteResponse:
31418    '''
31419         WorkflowApproversDeleteResponse reports how the WorkflowApprover was deleted in the system.
31420    '''
31421    __slots__ = [
31422        'rate_limit',
31423    ]
31424
31425    def __init__(
31426        self,
31427        rate_limit=None,
31428    ):
31429        self.rate_limit = rate_limit if rate_limit is not None else None
31430        '''
31431         Rate limit information.
31432        '''
31433
31434    def __repr__(self):
31435        return '<sdm.WorkflowApproversDeleteResponse ' + \
31436            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31437            '>'
31438
31439    def to_dict(self):
31440        return {
31441            'rate_limit': self.rate_limit,
31442        }
31443
31444    @classmethod
31445    def from_dict(cls, d):
31446        return cls(rate_limit=d.get('rate_limit'), )
31447
31448
31449class WorkflowApproversListRequest:
31450    '''
31451         WorkflowApproversListRequest specifies criteria for retrieving a list of
31452     WorkflowApprover records
31453    '''
31454    __slots__ = [
31455        'filter',
31456    ]
31457
31458    def __init__(
31459        self,
31460        filter=None,
31461    ):
31462        self.filter = filter if filter is not None else ''
31463        '''
31464         A human-readable filter query string.
31465        '''
31466
31467    def __repr__(self):
31468        return '<sdm.WorkflowApproversListRequest ' + \
31469            'filter: ' + repr(self.filter) + ' ' +\
31470            '>'
31471
31472    def to_dict(self):
31473        return {
31474            'filter': self.filter,
31475        }
31476
31477    @classmethod
31478    def from_dict(cls, d):
31479        return cls(filter=d.get('filter'), )
31480
31481
31482class WorkflowApproversListResponse:
31483    '''
31484         WorkflowApproversListResponse returns a list of WorkflowApprover records that meet
31485     the criteria of a WorkflowApproversListRequest.
31486    '''
31487    __slots__ = [
31488        'rate_limit',
31489    ]
31490
31491    def __init__(
31492        self,
31493        rate_limit=None,
31494    ):
31495        self.rate_limit = rate_limit if rate_limit is not None else None
31496        '''
31497         Rate limit information.
31498        '''
31499
31500    def __repr__(self):
31501        return '<sdm.WorkflowApproversListResponse ' + \
31502            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31503            '>'
31504
31505    def to_dict(self):
31506        return {
31507            'rate_limit': self.rate_limit,
31508        }
31509
31510    @classmethod
31511    def from_dict(cls, d):
31512        return cls(rate_limit=d.get('rate_limit'), )
31513
31514
31515class WorkflowCreateResponse:
31516    '''
31517         WorkflowCreateResponse reports how the Workflow was created in the system.
31518    '''
31519    __slots__ = [
31520        'rate_limit',
31521        'workflow',
31522    ]
31523
31524    def __init__(
31525        self,
31526        rate_limit=None,
31527        workflow=None,
31528    ):
31529        self.rate_limit = rate_limit if rate_limit is not None else None
31530        '''
31531         Rate limit information.
31532        '''
31533        self.workflow = workflow if workflow is not None else None
31534        '''
31535         The created workflow.
31536        '''
31537
31538    def __repr__(self):
31539        return '<sdm.WorkflowCreateResponse ' + \
31540            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31541            'workflow: ' + repr(self.workflow) + ' ' +\
31542            '>'
31543
31544    def to_dict(self):
31545        return {
31546            'rate_limit': self.rate_limit,
31547            'workflow': self.workflow,
31548        }
31549
31550    @classmethod
31551    def from_dict(cls, d):
31552        return cls(
31553            rate_limit=d.get('rate_limit'),
31554            workflow=d.get('workflow'),
31555        )
31556
31557
31558class WorkflowDeleteResponse:
31559    '''
31560         WorkflowDeleteResponse returns information about a Workflow that was deleted.
31561    '''
31562    __slots__ = [
31563        'id',
31564        'rate_limit',
31565    ]
31566
31567    def __init__(
31568        self,
31569        id=None,
31570        rate_limit=None,
31571    ):
31572        self.id = id if id is not None else ''
31573        '''
31574         The deleted workflow id.
31575        '''
31576        self.rate_limit = rate_limit if rate_limit is not None else None
31577        '''
31578         Rate limit information.
31579        '''
31580
31581    def __repr__(self):
31582        return '<sdm.WorkflowDeleteResponse ' + \
31583            'id: ' + repr(self.id) + ' ' +\
31584            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31585            '>'
31586
31587    def to_dict(self):
31588        return {
31589            'id': self.id,
31590            'rate_limit': self.rate_limit,
31591        }
31592
31593    @classmethod
31594    def from_dict(cls, d):
31595        return cls(
31596            id=d.get('id'),
31597            rate_limit=d.get('rate_limit'),
31598        )
31599
31600
31601class WorkflowGetResponse:
31602    '''
31603         WorkflowGetResponse returns a requested Workflow.
31604    '''
31605    __slots__ = [
31606        'meta',
31607        'rate_limit',
31608        'workflow',
31609    ]
31610
31611    def __init__(
31612        self,
31613        meta=None,
31614        rate_limit=None,
31615        workflow=None,
31616    ):
31617        self.meta = meta if meta is not None else None
31618        '''
31619         Reserved for future use.
31620        '''
31621        self.rate_limit = rate_limit if rate_limit is not None else None
31622        '''
31623         Rate limit information.
31624        '''
31625        self.workflow = workflow if workflow is not None else None
31626        '''
31627         The requested Workflow.
31628        '''
31629
31630    def __repr__(self):
31631        return '<sdm.WorkflowGetResponse ' + \
31632            'meta: ' + repr(self.meta) + ' ' +\
31633            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31634            'workflow: ' + repr(self.workflow) + ' ' +\
31635            '>'
31636
31637    def to_dict(self):
31638        return {
31639            'meta': self.meta,
31640            'rate_limit': self.rate_limit,
31641            'workflow': self.workflow,
31642        }
31643
31644    @classmethod
31645    def from_dict(cls, d):
31646        return cls(
31647            meta=d.get('meta'),
31648            rate_limit=d.get('rate_limit'),
31649            workflow=d.get('workflow'),
31650        )
31651
31652
31653class WorkflowHistory:
31654    '''
31655         WorkflowsHistory provides records of all changes to the state of a Workflow.
31656    '''
31657    __slots__ = [
31658        'activity_id',
31659        'deleted_at',
31660        'timestamp',
31661        'workflow',
31662    ]
31663
31664    def __init__(
31665        self,
31666        activity_id=None,
31667        deleted_at=None,
31668        timestamp=None,
31669        workflow=None,
31670    ):
31671        self.activity_id = activity_id if activity_id is not None else ''
31672        '''
31673         The unique identifier of the Activity that produced this change to the Workflow.
31674         May be empty for some system-initiated updates.
31675        '''
31676        self.deleted_at = deleted_at if deleted_at is not None else None
31677        '''
31678         If this Workflow was deleted, the time it was deleted.
31679        '''
31680        self.timestamp = timestamp if timestamp is not None else None
31681        '''
31682         The time at which the Workflow state was recorded.
31683        '''
31684        self.workflow = workflow if workflow is not None else None
31685        '''
31686         The complete Workflow state at this time.
31687        '''
31688
31689    def __repr__(self):
31690        return '<sdm.WorkflowHistory ' + \
31691            'activity_id: ' + repr(self.activity_id) + ' ' +\
31692            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
31693            'timestamp: ' + repr(self.timestamp) + ' ' +\
31694            'workflow: ' + repr(self.workflow) + ' ' +\
31695            '>'
31696
31697    def to_dict(self):
31698        return {
31699            'activity_id': self.activity_id,
31700            'deleted_at': self.deleted_at,
31701            'timestamp': self.timestamp,
31702            'workflow': self.workflow,
31703        }
31704
31705    @classmethod
31706    def from_dict(cls, d):
31707        return cls(
31708            activity_id=d.get('activity_id'),
31709            deleted_at=d.get('deleted_at'),
31710            timestamp=d.get('timestamp'),
31711            workflow=d.get('workflow'),
31712        )
31713
31714
31715class WorkflowListResponse:
31716    '''
31717         WorkflowListResponse returns a list of Workflow records that meet
31718     the criteria of a WorkflowListRequest.
31719    '''
31720    __slots__ = [
31721        'rate_limit',
31722    ]
31723
31724    def __init__(
31725        self,
31726        rate_limit=None,
31727    ):
31728        self.rate_limit = rate_limit if rate_limit is not None else None
31729        '''
31730         Rate limit information.
31731        '''
31732
31733    def __repr__(self):
31734        return '<sdm.WorkflowListResponse ' + \
31735            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31736            '>'
31737
31738    def to_dict(self):
31739        return {
31740            'rate_limit': self.rate_limit,
31741        }
31742
31743    @classmethod
31744    def from_dict(cls, d):
31745        return cls(rate_limit=d.get('rate_limit'), )
31746
31747
31748class WorkflowRole:
31749    '''
31750         WorkflowRole links a role to a workflow. The linked roles indicate which roles a user must be a part of
31751     to request access to a resource via the workflow.
31752    '''
31753    __slots__ = [
31754        'id',
31755        'role_id',
31756        'workflow_id',
31757    ]
31758
31759    def __init__(
31760        self,
31761        id=None,
31762        role_id=None,
31763        workflow_id=None,
31764    ):
31765        self.id = id if id is not None else ''
31766        '''
31767         Unique identifier of the WorkflowRole.
31768        '''
31769        self.role_id = role_id if role_id is not None else ''
31770        '''
31771         The role id.
31772        '''
31773        self.workflow_id = workflow_id if workflow_id is not None else ''
31774        '''
31775         The workflow id.
31776        '''
31777
31778    def __repr__(self):
31779        return '<sdm.WorkflowRole ' + \
31780            'id: ' + repr(self.id) + ' ' +\
31781            'role_id: ' + repr(self.role_id) + ' ' +\
31782            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
31783            '>'
31784
31785    def to_dict(self):
31786        return {
31787            'id': self.id,
31788            'role_id': self.role_id,
31789            'workflow_id': self.workflow_id,
31790        }
31791
31792    @classmethod
31793    def from_dict(cls, d):
31794        return cls(
31795            id=d.get('id'),
31796            role_id=d.get('role_id'),
31797            workflow_id=d.get('workflow_id'),
31798        )
31799
31800
31801class WorkflowRoleGetResponse:
31802    '''
31803         WorkflowRoleGetResponse returns a requested WorkflowRole.
31804    '''
31805    __slots__ = [
31806        'meta',
31807        'rate_limit',
31808        'workflow_role',
31809    ]
31810
31811    def __init__(
31812        self,
31813        meta=None,
31814        rate_limit=None,
31815        workflow_role=None,
31816    ):
31817        self.meta = meta if meta is not None else None
31818        '''
31819         Reserved for future use.
31820        '''
31821        self.rate_limit = rate_limit if rate_limit is not None else None
31822        '''
31823         Rate limit information.
31824        '''
31825        self.workflow_role = workflow_role if workflow_role is not None else None
31826        '''
31827         The requested WorkflowRole.
31828        '''
31829
31830    def __repr__(self):
31831        return '<sdm.WorkflowRoleGetResponse ' + \
31832            'meta: ' + repr(self.meta) + ' ' +\
31833            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31834            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
31835            '>'
31836
31837    def to_dict(self):
31838        return {
31839            'meta': self.meta,
31840            'rate_limit': self.rate_limit,
31841            'workflow_role': self.workflow_role,
31842        }
31843
31844    @classmethod
31845    def from_dict(cls, d):
31846        return cls(
31847            meta=d.get('meta'),
31848            rate_limit=d.get('rate_limit'),
31849            workflow_role=d.get('workflow_role'),
31850        )
31851
31852
31853class WorkflowRoleHistory:
31854    '''
31855         WorkflowRolesHistory provides records of all changes to the state of a WorkflowRole
31856    '''
31857    __slots__ = [
31858        'activity_id',
31859        'deleted_at',
31860        'timestamp',
31861        'workflow_role',
31862    ]
31863
31864    def __init__(
31865        self,
31866        activity_id=None,
31867        deleted_at=None,
31868        timestamp=None,
31869        workflow_role=None,
31870    ):
31871        self.activity_id = activity_id if activity_id is not None else ''
31872        '''
31873         The unique identifier of the Activity that produced this change to the WorkflowRole.
31874         May be empty for some system-initiated updates.
31875        '''
31876        self.deleted_at = deleted_at if deleted_at is not None else None
31877        '''
31878         If this WorkflowRole was deleted, the time it was deleted.
31879        '''
31880        self.timestamp = timestamp if timestamp is not None else None
31881        '''
31882         The time at which the WorkflowRole state was recorded.
31883        '''
31884        self.workflow_role = workflow_role if workflow_role is not None else None
31885        '''
31886         The complete WorkflowRole state at this time.
31887        '''
31888
31889    def __repr__(self):
31890        return '<sdm.WorkflowRoleHistory ' + \
31891            'activity_id: ' + repr(self.activity_id) + ' ' +\
31892            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
31893            'timestamp: ' + repr(self.timestamp) + ' ' +\
31894            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
31895            '>'
31896
31897    def to_dict(self):
31898        return {
31899            'activity_id': self.activity_id,
31900            'deleted_at': self.deleted_at,
31901            'timestamp': self.timestamp,
31902            'workflow_role': self.workflow_role,
31903        }
31904
31905    @classmethod
31906    def from_dict(cls, d):
31907        return cls(
31908            activity_id=d.get('activity_id'),
31909            deleted_at=d.get('deleted_at'),
31910            timestamp=d.get('timestamp'),
31911            workflow_role=d.get('workflow_role'),
31912        )
31913
31914
31915class WorkflowRolesCreateRequest:
31916    '''
31917         WorkflowRolesCreateRequest specifies the workflowID and roleID of a new
31918     workflow role to be created.
31919    '''
31920    __slots__ = [
31921        'workflow_role',
31922    ]
31923
31924    def __init__(
31925        self,
31926        workflow_role=None,
31927    ):
31928        self.workflow_role = workflow_role if workflow_role is not None else None
31929        '''
31930         Parameters to define the new WorkflowRole.
31931        '''
31932
31933    def __repr__(self):
31934        return '<sdm.WorkflowRolesCreateRequest ' + \
31935            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
31936            '>'
31937
31938    def to_dict(self):
31939        return {
31940            'workflow_role': self.workflow_role,
31941        }
31942
31943    @classmethod
31944    def from_dict(cls, d):
31945        return cls(workflow_role=d.get('workflow_role'), )
31946
31947
31948class WorkflowRolesCreateResponse:
31949    '''
31950         WorkflowRolesCreateResponse reports how the WorkflowRole was created in the system.
31951    '''
31952    __slots__ = [
31953        'rate_limit',
31954        'workflow_role',
31955    ]
31956
31957    def __init__(
31958        self,
31959        rate_limit=None,
31960        workflow_role=None,
31961    ):
31962        self.rate_limit = rate_limit if rate_limit is not None else None
31963        '''
31964         Rate limit information.
31965        '''
31966        self.workflow_role = workflow_role if workflow_role is not None else None
31967        '''
31968         The created workflow role.
31969        '''
31970
31971    def __repr__(self):
31972        return '<sdm.WorkflowRolesCreateResponse ' + \
31973            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31974            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
31975            '>'
31976
31977    def to_dict(self):
31978        return {
31979            'rate_limit': self.rate_limit,
31980            'workflow_role': self.workflow_role,
31981        }
31982
31983    @classmethod
31984    def from_dict(cls, d):
31985        return cls(
31986            rate_limit=d.get('rate_limit'),
31987            workflow_role=d.get('workflow_role'),
31988        )
31989
31990
31991class WorkflowRolesDeleteRequest:
31992    '''
31993         WorkflowRolesDeleteRequest specifies the ID of a WorkflowRole to be deleted.
31994    '''
31995    __slots__ = [
31996        'id',
31997    ]
31998
31999    def __init__(
32000        self,
32001        id=None,
32002    ):
32003        self.id = id if id is not None else ''
32004        '''
32005         The unique identifier of the WorkflowRole to delete.
32006        '''
32007
32008    def __repr__(self):
32009        return '<sdm.WorkflowRolesDeleteRequest ' + \
32010            'id: ' + repr(self.id) + ' ' +\
32011            '>'
32012
32013    def to_dict(self):
32014        return {
32015            'id': self.id,
32016        }
32017
32018    @classmethod
32019    def from_dict(cls, d):
32020        return cls(id=d.get('id'), )
32021
32022
32023class WorkflowRolesDeleteResponse:
32024    '''
32025         WorkflowRolesDeleteResponse reports how the WorkflowRole was deleted in the system.
32026    '''
32027    __slots__ = [
32028        'rate_limit',
32029    ]
32030
32031    def __init__(
32032        self,
32033        rate_limit=None,
32034    ):
32035        self.rate_limit = rate_limit if rate_limit is not None else None
32036        '''
32037         Rate limit information.
32038        '''
32039
32040    def __repr__(self):
32041        return '<sdm.WorkflowRolesDeleteResponse ' + \
32042            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
32043            '>'
32044
32045    def to_dict(self):
32046        return {
32047            'rate_limit': self.rate_limit,
32048        }
32049
32050    @classmethod
32051    def from_dict(cls, d):
32052        return cls(rate_limit=d.get('rate_limit'), )
32053
32054
32055class WorkflowRolesListRequest:
32056    '''
32057         WorkflowRolesListRequest specifies criteria for retrieving a list of
32058     WorkflowRole records
32059    '''
32060    __slots__ = [
32061        'filter',
32062    ]
32063
32064    def __init__(
32065        self,
32066        filter=None,
32067    ):
32068        self.filter = filter if filter is not None else ''
32069        '''
32070         A human-readable filter query string.
32071        '''
32072
32073    def __repr__(self):
32074        return '<sdm.WorkflowRolesListRequest ' + \
32075            'filter: ' + repr(self.filter) + ' ' +\
32076            '>'
32077
32078    def to_dict(self):
32079        return {
32080            'filter': self.filter,
32081        }
32082
32083    @classmethod
32084    def from_dict(cls, d):
32085        return cls(filter=d.get('filter'), )
32086
32087
32088class WorkflowRolesListResponse:
32089    '''
32090         WorkflowRolesListResponse returns a list of WorkflowRole records that meet
32091     the criteria of a WorkflowRolesListRequest.
32092    '''
32093    __slots__ = [
32094        'rate_limit',
32095    ]
32096
32097    def __init__(
32098        self,
32099        rate_limit=None,
32100    ):
32101        self.rate_limit = rate_limit if rate_limit is not None else None
32102        '''
32103         Rate limit information.
32104        '''
32105
32106    def __repr__(self):
32107        return '<sdm.WorkflowRolesListResponse ' + \
32108            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
32109            '>'
32110
32111    def to_dict(self):
32112        return {
32113            'rate_limit': self.rate_limit,
32114        }
32115
32116    @classmethod
32117    def from_dict(cls, d):
32118        return cls(rate_limit=d.get('rate_limit'), )
32119
32120
32121class WorkflowUpdateResponse:
32122    '''
32123         WorkflowUpdateResponse returns the fields of a Workflow after it has been updated by
32124     a WorkflowUpdateRequest.
32125    '''
32126    __slots__ = [
32127        'rate_limit',
32128        'workflow',
32129    ]
32130
32131    def __init__(
32132        self,
32133        rate_limit=None,
32134        workflow=None,
32135    ):
32136        self.rate_limit = rate_limit if rate_limit is not None else None
32137        '''
32138         Rate limit information.
32139        '''
32140        self.workflow = workflow if workflow is not None else None
32141        '''
32142         The updated workflow.
32143        '''
32144
32145    def __repr__(self):
32146        return '<sdm.WorkflowUpdateResponse ' + \
32147            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
32148            'workflow: ' + repr(self.workflow) + ' ' +\
32149            '>'
32150
32151    def to_dict(self):
32152        return {
32153            'rate_limit': self.rate_limit,
32154            'workflow': self.workflow,
32155        }
32156
32157    @classmethod
32158    def from_dict(cls, d):
32159        return cls(
32160            rate_limit=d.get('rate_limit'),
32161            workflow=d.get('workflow'),
32162        )
32163
32164
32165def _porcelain_zero_value_tags():
32166    return {}
32167
32168
32169def _porcelain_zero_value_access_rules():
32170    return []
32171
32172
32173def _porcelain_zero_value_access_rule():
32174    return {}
class AKS:
 22class AKS:
 23    __slots__ = [
 24        'allow_resource_role_bypass',
 25        'bind_interface',
 26        'certificate_authority',
 27        'client_certificate',
 28        'client_key',
 29        'discovery_enabled',
 30        'discovery_username',
 31        'egress_filter',
 32        'healthcheck_namespace',
 33        'healthy',
 34        'hostname',
 35        'id',
 36        'identity_alias_healthcheck_username',
 37        'identity_set_id',
 38        'name',
 39        'port',
 40        'port_override',
 41        'proxy_cluster_id',
 42        'secret_store_id',
 43        'subdomain',
 44        'tags',
 45    ]
 46
 47    def __init__(
 48        self,
 49        allow_resource_role_bypass=None,
 50        bind_interface=None,
 51        certificate_authority=None,
 52        client_certificate=None,
 53        client_key=None,
 54        discovery_enabled=None,
 55        discovery_username=None,
 56        egress_filter=None,
 57        healthcheck_namespace=None,
 58        healthy=None,
 59        hostname=None,
 60        id=None,
 61        identity_alias_healthcheck_username=None,
 62        identity_set_id=None,
 63        name=None,
 64        port=None,
 65        port_override=None,
 66        proxy_cluster_id=None,
 67        secret_store_id=None,
 68        subdomain=None,
 69        tags=None,
 70    ):
 71        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
 72        '''
 73         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
 74         when a resource role is not provided.
 75        '''
 76        self.bind_interface = bind_interface if bind_interface is not None else ''
 77        '''
 78         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 79        '''
 80        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
 81        '''
 82         The CA to authenticate TLS connections with.
 83        '''
 84        self.client_certificate = client_certificate if client_certificate is not None else ''
 85        '''
 86         The certificate to authenticate TLS connections with.
 87        '''
 88        self.client_key = client_key if client_key is not None else ''
 89        '''
 90         The key to authenticate TLS connections with.
 91        '''
 92        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
 93        '''
 94         If true, configures discovery of a cluster to be run from a node.
 95        '''
 96        self.discovery_username = discovery_username if discovery_username is not None else ''
 97        '''
 98         If a cluster is configured for user impersonation, this is the user to impersonate when
 99         running discovery.
100        '''
101        self.egress_filter = egress_filter if egress_filter is not None else ''
102        '''
103         A filter applied to the routing logic to pin datasource to nodes.
104        '''
105        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
106        '''
107         The path used to check the health of your connection.  Defaults to `default`.
108        '''
109        self.healthy = healthy if healthy is not None else False
110        '''
111         True if the datasource is reachable and the credentials are valid.
112        '''
113        self.hostname = hostname if hostname is not None else ''
114        '''
115         The host to dial to initiate a connection from the egress node to this resource.
116        '''
117        self.id = id if id is not None else ''
118        '''
119         Unique identifier of the Resource.
120        '''
121        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
122        '''
123         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
124        '''
125        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
126        '''
127         The ID of the identity set to use for identity connections.
128        '''
129        self.name = name if name is not None else ''
130        '''
131         Unique human-readable name of the Resource.
132        '''
133        self.port = port if port is not None else 0
134        '''
135         The port to dial to initiate a connection from the egress node to this resource.
136        '''
137        self.port_override = port_override if port_override is not None else 0
138        '''
139         The local port used by clients to connect to this resource.
140        '''
141        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
142        '''
143         ID of the proxy cluster for this resource, if any.
144        '''
145        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
146        '''
147         ID of the secret store containing credentials for this resource, if any.
148        '''
149        self.subdomain = subdomain if subdomain is not None else ''
150        '''
151         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
152        '''
153        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
154        '''
155         Tags is a map of key, value pairs.
156        '''
157
158    def __repr__(self):
159        return '<sdm.AKS ' + \
160            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
161            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
162            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
163            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
164            'client_key: ' + repr(self.client_key) + ' ' +\
165            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
166            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
167            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
168            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
169            'healthy: ' + repr(self.healthy) + ' ' +\
170            'hostname: ' + repr(self.hostname) + ' ' +\
171            'id: ' + repr(self.id) + ' ' +\
172            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
173            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
174            'name: ' + repr(self.name) + ' ' +\
175            'port: ' + repr(self.port) + ' ' +\
176            'port_override: ' + repr(self.port_override) + ' ' +\
177            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
178            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
179            'subdomain: ' + repr(self.subdomain) + ' ' +\
180            'tags: ' + repr(self.tags) + ' ' +\
181            '>'
182
183    def to_dict(self):
184        return {
185            'allow_resource_role_bypass': self.allow_resource_role_bypass,
186            'bind_interface': self.bind_interface,
187            'certificate_authority': self.certificate_authority,
188            'client_certificate': self.client_certificate,
189            'client_key': self.client_key,
190            'discovery_enabled': self.discovery_enabled,
191            'discovery_username': self.discovery_username,
192            'egress_filter': self.egress_filter,
193            'healthcheck_namespace': self.healthcheck_namespace,
194            'healthy': self.healthy,
195            'hostname': self.hostname,
196            'id': self.id,
197            'identity_alias_healthcheck_username':
198            self.identity_alias_healthcheck_username,
199            'identity_set_id': self.identity_set_id,
200            'name': self.name,
201            'port': self.port,
202            'port_override': self.port_override,
203            'proxy_cluster_id': self.proxy_cluster_id,
204            'secret_store_id': self.secret_store_id,
205            'subdomain': self.subdomain,
206            'tags': self.tags,
207        }
208
209    @classmethod
210    def from_dict(cls, d):
211        return cls(
212            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
213            bind_interface=d.get('bind_interface'),
214            certificate_authority=d.get('certificate_authority'),
215            client_certificate=d.get('client_certificate'),
216            client_key=d.get('client_key'),
217            discovery_enabled=d.get('discovery_enabled'),
218            discovery_username=d.get('discovery_username'),
219            egress_filter=d.get('egress_filter'),
220            healthcheck_namespace=d.get('healthcheck_namespace'),
221            healthy=d.get('healthy'),
222            hostname=d.get('hostname'),
223            id=d.get('id'),
224            identity_alias_healthcheck_username=d.get(
225                'identity_alias_healthcheck_username'),
226            identity_set_id=d.get('identity_set_id'),
227            name=d.get('name'),
228            port=d.get('port'),
229            port_override=d.get('port_override'),
230            proxy_cluster_id=d.get('proxy_cluster_id'),
231            secret_store_id=d.get('secret_store_id'),
232            subdomain=d.get('subdomain'),
233            tags=d.get('tags'),
234        )
AKS( allow_resource_role_bypass=None, bind_interface=None, certificate_authority=None, client_certificate=None, client_key=None, discovery_enabled=None, discovery_username=None, egress_filter=None, healthcheck_namespace=None, healthy=None, hostname=None, id=None, identity_alias_healthcheck_username=None, identity_set_id=None, name=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None)
 47    def __init__(
 48        self,
 49        allow_resource_role_bypass=None,
 50        bind_interface=None,
 51        certificate_authority=None,
 52        client_certificate=None,
 53        client_key=None,
 54        discovery_enabled=None,
 55        discovery_username=None,
 56        egress_filter=None,
 57        healthcheck_namespace=None,
 58        healthy=None,
 59        hostname=None,
 60        id=None,
 61        identity_alias_healthcheck_username=None,
 62        identity_set_id=None,
 63        name=None,
 64        port=None,
 65        port_override=None,
 66        proxy_cluster_id=None,
 67        secret_store_id=None,
 68        subdomain=None,
 69        tags=None,
 70    ):
 71        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
 72        '''
 73         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
 74         when a resource role is not provided.
 75        '''
 76        self.bind_interface = bind_interface if bind_interface is not None else ''
 77        '''
 78         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 79        '''
 80        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
 81        '''
 82         The CA to authenticate TLS connections with.
 83        '''
 84        self.client_certificate = client_certificate if client_certificate is not None else ''
 85        '''
 86         The certificate to authenticate TLS connections with.
 87        '''
 88        self.client_key = client_key if client_key is not None else ''
 89        '''
 90         The key to authenticate TLS connections with.
 91        '''
 92        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
 93        '''
 94         If true, configures discovery of a cluster to be run from a node.
 95        '''
 96        self.discovery_username = discovery_username if discovery_username is not None else ''
 97        '''
 98         If a cluster is configured for user impersonation, this is the user to impersonate when
 99         running discovery.
100        '''
101        self.egress_filter = egress_filter if egress_filter is not None else ''
102        '''
103         A filter applied to the routing logic to pin datasource to nodes.
104        '''
105        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
106        '''
107         The path used to check the health of your connection.  Defaults to `default`.
108        '''
109        self.healthy = healthy if healthy is not None else False
110        '''
111         True if the datasource is reachable and the credentials are valid.
112        '''
113        self.hostname = hostname if hostname is not None else ''
114        '''
115         The host to dial to initiate a connection from the egress node to this resource.
116        '''
117        self.id = id if id is not None else ''
118        '''
119         Unique identifier of the Resource.
120        '''
121        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
122        '''
123         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
124        '''
125        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
126        '''
127         The ID of the identity set to use for identity connections.
128        '''
129        self.name = name if name is not None else ''
130        '''
131         Unique human-readable name of the Resource.
132        '''
133        self.port = port if port is not None else 0
134        '''
135         The port to dial to initiate a connection from the egress node to this resource.
136        '''
137        self.port_override = port_override if port_override is not None else 0
138        '''
139         The local port used by clients to connect to this resource.
140        '''
141        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
142        '''
143         ID of the proxy cluster for this resource, if any.
144        '''
145        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
146        '''
147         ID of the secret store containing credentials for this resource, if any.
148        '''
149        self.subdomain = subdomain if subdomain is not None else ''
150        '''
151         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
152        '''
153        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
154        '''
155         Tags is a map of key, value pairs.
156        '''
allow_resource_role_bypass

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

bind_interface

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

certificate_authority

The CA to authenticate TLS connections with.

client_certificate

The certificate to authenticate TLS connections with.

client_key

The key to authenticate TLS connections with.

discovery_enabled

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

discovery_username

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

egress_filter

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

healthcheck_namespace

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

identity_alias_healthcheck_username

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

identity_set_id

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

name

Unique human-readable name of the Resource.

port

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

port_override

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

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

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

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

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

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

egress_filter

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

healthcheck_namespace

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

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

port_override

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

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

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

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

bind_interface

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

discovery_enabled

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

discovery_username

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

egress_filter

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

healthcheck_namespace

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

identity_alias_healthcheck_username

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

identity_set_id

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

name

Unique human-readable name of the Resource.

port

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

port_override

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

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

token

The API token to authenticate with.

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

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

egress_filter

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

healthcheck_namespace

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port

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

port_override

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

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

token

The API token to authenticate with.

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

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

certificate_authority

The CA to authenticate TLS connections with.

client_certificate

The certificate to authenticate TLS connections with.

client_key

The key to authenticate TLS connections with.

egress_filter

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

healthcheck_namespace

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port

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

port_override

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

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

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

The Access Key ID to use to authenticate.

bind_interface

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

egress_filter

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

healthcheck_region

The AWS region healthcheck requests should attempt to connect to.

healthy

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port_override

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

proxy_cluster_id

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

role_arn

The role to assume after logging in.

role_external_id

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

secret_access_key

The Secret Access Key to use to authenticate.

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

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

The ARN of the CA in AWS Private CA

certificatetemplatearn

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

id

Unique identifier of the SecretStore.

issuedcertttlminutes

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

name

Unique human-readable name of the SecretStore.

region

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

signingalgo

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

tags

Tags is a map of key, value pairs.

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

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

egress_filter

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

enable_env_variables

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

healthy

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

id

Unique identifier of the Resource.

identity_alias_healthcheck_username

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

identity_set_id

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

name

Unique human-readable name of the Resource.

port_override

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

proxy_cluster_id

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

region

The AWS region to connect to.

role_arn

The role to assume after logging in.

role_external_id

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

secret_store_id

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

session_expiry

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

subdomain

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

tags

Tags is a map of key, value pairs.

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

The Access Key ID to authenticate with.

bind_interface

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

egress_filter

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

healthy

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

id

Unique identifier of the Resource.

identity_alias_healthcheck_username

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

identity_set_id

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

name

Unique human-readable name of the Resource.

port_override

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

proxy_cluster_id

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

region

The AWS region to connect to.

role_arn

The role to assume after logging in.

role_external_id

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

secret_access_key

The Secret Access Key to authenticate with.

secret_store_id

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

session_expiry

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

subdomain

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

tags

Tags is a map of key, value pairs.

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

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

egress_filter

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

enable_env_variables

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

healthy

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port_override

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

proxy_cluster_id

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

region

The AWS region to connect to.

role_arn

The role to assume after logging in.

role_external_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

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

Unique identifier of the SecretStore.

name

Unique human-readable name of the SecretStore.

region

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

tags

Tags is a map of key, value pairs.

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

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

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

The account that initiated the request.

duration

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

grant_id

The account grant created, if it exists.

id

The access request id.

reason

The reason the access was requested.

requestedduration

The duration that access was requested for, if any.

resource_id

The resource id.

resultduration

The duration that results from an approved request.

start_from

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

status

The status of the access request.

status_at

The timestamp when the status changed.

valid_until

The timestamp when the requested access will expire.

workflow_id

The workflow the request bound to.

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

AccessRequestConfig holds the information required to request access to a resource

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

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

reason

The reason for access

resource_id

The resource for which access is being requested

start_from

The time access should start, defaults to now

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

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

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

The account responsible for the event.

id

The access request event id.

metadata

The metadata about the event

request_id

The request that the event is bound to.

type

The type of event.

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

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

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

The complete AccessRequestEvent state at this time.

activity_id

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

deleted_at

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

timestamp

The time at which the AccessRequest state was recorded.

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

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

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

The complete AccessRequest state at this time.

activity_id

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

deleted_at

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

timestamp

The time at which the AccessRequest state was recorded.

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

AccessRequestListRequest specifies criteria for retrieving a list of AccessRequest records

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

A human-readable filter query string.

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

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

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

Rate limit information.

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

AccountAttachments assign an account to a role.

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

The id of the account of this AccountAttachment.

id

Unique identifier of the AccountAttachment.

role_id

The id of the attached role of this AccountAttachment.

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

AccountAttachmentCreateResponse reports how the AccountAttachments were created in the system.

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

The created AccountAttachment.

meta

Reserved for future use.

rate_limit

Rate limit information.

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

AccountAttachmentDeleteResponse returns information about a AccountAttachment that was deleted.

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

Reserved for future use.

rate_limit

Rate limit information.

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

AccountAttachmentGetResponse returns a requested AccountAttachment.

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

The requested AccountAttachment.

meta

Reserved for future use.

rate_limit

Rate limit information.

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

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

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

The complete AccountAttachment state at this time.

activity_id

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

deleted_at

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

timestamp

The time at which the AccountAttachment state was recorded.

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

AccountCreateResponse reports how the Accounts were created in the system.

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

ID part of the API key.

account

The created Account.

meta

Reserved for future use.

rate_limit

Rate limit information.

secret_key

Secret part of the API key.

token

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

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

AccountDeleteResponse returns information about a Account that was deleted.

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

Reserved for future use.

rate_limit

Rate limit information.

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

AccountGetResponse returns a requested Account.

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

The requested Account.

meta

Reserved for future use.

rate_limit

Rate limit information.

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

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

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

The access rule associated with this AccountGrant.

account_id

The account ID of this AccountGrant.

id

Unique identifier of the AccountGrant.

resource_id

The resource ID of this AccountGrant.

start_from

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

valid_until

The timestamp when the resource grant will expire.

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

AccountGrantCreateResponse reports how the AccountGrants were created in the system.

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

The created AccountGrant.

meta

Reserved for future use.

rate_limit

Rate limit information.

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

AccountGrantDeleteResponse returns information about a AccountGrant that was deleted.

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

Reserved for future use.

rate_limit

Rate limit information.

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

AccountGrantGetResponse returns a requested AccountGrant.

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

The requested AccountGrant.

meta

Reserved for future use.

rate_limit

Rate limit information.

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

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

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

The complete AccountGrant state at this time.

activity_id

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

deleted_at

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

timestamp

The time at which the AccountGrant state was recorded.

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

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

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

The complete Account state at this time.

activity_id

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

deleted_at

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

timestamp

The time at which the Account state was recorded.

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

AccountPermission represents an individual API action available to an account.

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

The unique identifier of the Account this permission belongs to.

granted_at

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

permission

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

scope

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

scoped_id

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

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

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

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

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

account_id

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

created_at

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

expires_at

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

granted_at

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

resource_id

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

role_id

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

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

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

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

The complete AccountResource state at this time.

activity_id

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

deleted_at

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

timestamp

The time at which the AccountResource state was recorded.

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

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

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

The updated Account.

meta

Reserved for future use.

rate_limit

Rate limit information.

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

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

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

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

binddn

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

bindpass

Password to use along with binddn when performing user search.

certificate

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

connection_timeout

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

do_not_validate_timestamps

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

id

Unique identifier of the Secret Engine.

insecure_tls

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

key_rotation_interval_days

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

max_backoff_duration

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

name

Unique human-readable name of the Secret Engine.

policy

Policy for password creation

public_key

Public key linked with a secret engine

request_timeout

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

secret_store_id

Backing secret store identifier

secret_store_root_path

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

start_tls

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

tags

Tags is a map of key, value pairs.

ttl

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

upndomain

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

url

The LDAP server to connect to.

userdn

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

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

Unique identifier of the SecretStore.

name

Unique human-readable name of the SecretStore.

server_address

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

tags

Tags is a map of key, value pairs.

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

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

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

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

completed_at

The time this activity took effect.

description

A humanized description of the activity.

entities

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

id

Unique identifier of the Activity.

ip_address

The IP from which this action was taken.

user_agent

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

verb

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

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

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

email

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

first_name

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

id

Unique identifier of the actor. Immutable.

last_name

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

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

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

external_id

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

id

The unique identifier of the entity this activity affected.

name

A display name representing the affected entity.

type

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

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

ActivityGetResponse returns a requested Activity.

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

The requested Activity.

meta

Reserved for future use.

rate_limit

Rate limit information.

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

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

egress_filter

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

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

port_override

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

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

use_services_alternate

If true, uses UseServicesAlternates directive for Aerospike connection

username

The username to authenticate with.

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

The Access Key ID to use to authenticate.

allow_resource_role_bypass

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

bind_interface

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

certificate_authority

The CA to authenticate TLS connections with.

cluster_name

The name of the cluster to connect to.

discovery_enabled

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

discovery_username

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

egress_filter

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

endpoint

The endpoint to dial.

healthcheck_namespace

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

healthy

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

id

Unique identifier of the Resource.

identity_alias_healthcheck_username

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

identity_set_id

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

name

Unique human-readable name of the Resource.

port_override

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

proxy_cluster_id

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

region

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

role_arn

The role to assume after logging in.

role_external_id

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

secret_access_key

The Secret Access Key to use to authenticate.

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

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

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

bind_interface

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

certificate_authority

The CA to authenticate TLS connections with.

cluster_name

The name of the cluster to connect to.

discovery_enabled

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

discovery_username

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

egress_filter

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

endpoint

The endpoint to dial.

healthcheck_namespace

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

healthy

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

id

Unique identifier of the Resource.

identity_alias_healthcheck_username

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

identity_set_id

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

name

Unique human-readable name of the Resource.

port_override

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

proxy_cluster_id

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

region

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

role_arn

The role to assume after logging in.

role_external_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

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

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

certificate_authority

The CA to authenticate TLS connections with.

cluster_name

The name of the cluster to connect to.

egress_filter

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

endpoint

The endpoint to dial.

healthcheck_namespace

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

healthy

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port_override

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

proxy_cluster_id

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

region

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

role_arn

The role to assume after logging in.

role_external_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

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

The Access Key ID to use to authenticate.

bind_interface

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

certificate_authority

The CA to authenticate TLS connections with.

cluster_name

The name of the cluster to connect to.

egress_filter

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

endpoint

The endpoint to dial.

healthcheck_namespace

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

healthy

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port_override

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

proxy_cluster_id

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

region

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

role_arn

The role to assume after logging in.

role_external_id

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

secret_access_key

The Secret Access Key to use to authenticate.

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

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

The Access Key ID to use to authenticate.

bind_interface

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

egress_filter

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

endpoint

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

healthy

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port_override

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

proxy_cluster_id

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

region

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

role_arn

The role to assume after logging in.

role_external_id

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

secret_access_key

The Secret Access Key to use to authenticate.

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

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

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

egress_filter

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

endpoint

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

healthy

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port_override

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

proxy_cluster_id

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

region

The AWS region to connect to.

role_arn

The role to assume after logging in.

role_external_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

tlsrequired

Use TLS to connect to the OpenSearch server

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

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

egress_filter

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

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

port_override

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

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

tls_required

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

username

The username to authenticate with.

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

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

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

The approver account id.

reference

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

role_id

The approver role id

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

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

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

The approvers for this approval step

quantifier

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

skip_after

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

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

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

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

Approval mode of the ApprovalWorkflow

approval_workflow_steps

The approval steps of this approval workflow

description

Optional description of the ApprovalWorkflow.

id

Unique identifier of the ApprovalWorkflow.

name

Unique human-readable name of the ApprovalWorkflow.

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

ApprovalWorkflowApprover links an approval workflow approver to an ApprovalWorkflowStep

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

The approver account id.

approval_flow_id

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

approval_step_id

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

id

Unique identifier of the ApprovalWorkflowApprover.

reference

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

role_id

The approver role id

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

ApprovalWorkflowApproverCreateResponse reports how the ApprovalWorkflowApprover was created in the system.

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

The created approval workflow approver.

rate_limit

Rate limit information.

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

ApprovalWorkflowApproverDeleteResponse returns information about an ApprovalWorkflowApprover that was deleted.

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

The deleted approval workflow approver id.

rate_limit

Rate limit information.

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

ApprovalWorkflowApproverGetResponse returns a requested ApprovalWorkflowApprover.

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

The requested ApprovalWorkflowApprover.

meta

Reserved for future use.

rate_limit

Rate limit information.

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

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

ApprovalWorkflowApproverHistory( activity_id=None, approval_workflow_approver=None, deleted_at=None, timestamp=None)
5729    def __init__(
5730        self,
5731        activity_id=None,
5732        approval_workflow_approver=None,
5733        deleted_at=None,
5734        timestamp=None,
5735    ):
5736        self.activity_id = activity_id if activity_id is not None else ''
5737        '''
5738         The unique identifier of the Activity that produced this change to the ApprovalWorkflowApprover.
5739         May be empty for some system-initiated updates.
5740        '''
5741        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
5742        '''
5743         The complete ApprovalWorkflowApprover state at this time.
5744        '''
5745        self.deleted_at = deleted_at if deleted_at is not None else None
5746        '''
5747         If this ApprovalWorkflowApprover was deleted, the time it was deleted.
5748        '''
5749        self.timestamp = timestamp if timestamp is not None else None
5750        '''
5751         The time at which the ApprovalWorkflowApprover state was recorded.
5752        '''
activity_id

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

approval_workflow_approver

The complete ApprovalWorkflowApprover state at this time.

deleted_at

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

timestamp

The time at which the ApprovalWorkflowApprover state was recorded.

def to_dict(self)
5762    def to_dict(self):
5763        return {
5764            'activity_id': self.activity_id,
5765            'approval_workflow_approver': self.approval_workflow_approver,
5766            'deleted_at': self.deleted_at,
5767            'timestamp': self.timestamp,
5768        }
@classmethod
def from_dict(cls, d)
5770    @classmethod
5771    def from_dict(cls, d):
5772        return cls(
5773            activity_id=d.get('activity_id'),
5774            approval_workflow_approver=d.get('approval_workflow_approver'),
5775            deleted_at=d.get('deleted_at'),
5776            timestamp=d.get('timestamp'),
5777        )
class ApprovalWorkflowApproverListResponse:
5780class ApprovalWorkflowApproverListResponse:
5781    '''
5782         ApprovalWorkflowApproverListResponse returns a list of ApprovalWorkflowApprover records that meet
5783     the criteria of an ApprovalWorkflowApproverListRequest.
5784    '''
5785    __slots__ = [
5786        'rate_limit',
5787    ]
5788
5789    def __init__(
5790        self,
5791        rate_limit=None,
5792    ):
5793        self.rate_limit = rate_limit if rate_limit is not None else None
5794        '''
5795         Rate limit information.
5796        '''
5797
5798    def __repr__(self):
5799        return '<sdm.ApprovalWorkflowApproverListResponse ' + \
5800            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
5801            '>'
5802
5803    def to_dict(self):
5804        return {
5805            'rate_limit': self.rate_limit,
5806        }
5807
5808    @classmethod
5809    def from_dict(cls, d):
5810        return cls(rate_limit=d.get('rate_limit'), )

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

ApprovalWorkflowApproverListResponse(rate_limit=None)
5789    def __init__(
5790        self,
5791        rate_limit=None,
5792    ):
5793        self.rate_limit = rate_limit if rate_limit is not None else None
5794        '''
5795         Rate limit information.
5796        '''
rate_limit

Rate limit information.

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

ApprovalWorkflowCreateResponse reports how the ApprovalWorkflow was created in the system.

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

The created approval workflow.

rate_limit

Rate limit information.

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

ApprovalWorkflowDeleteResponse returns information about an ApprovalWorkflow that was deleted.

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

The deleted approval workflow id.

rate_limit

Rate limit information.

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

ApprovalWorkflowGetResponse returns a requested ApprovalWorkflow.

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

The requested ApprovalWorkflow.

meta

Reserved for future use.

rate_limit

Rate limit information.

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

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

ApprovalWorkflowHistory( activity_id=None, approval_workflow=None, deleted_at=None, timestamp=None)
5964    def __init__(
5965        self,
5966        activity_id=None,
5967        approval_workflow=None,
5968        deleted_at=None,
5969        timestamp=None,
5970    ):
5971        self.activity_id = activity_id if activity_id is not None else ''
5972        '''
5973         The unique identifier of the Activity that produced this change to the ApprovalWorkflow.
5974         May be empty for some system-initiated updates.
5975        '''
5976        self.approval_workflow = approval_workflow if approval_workflow is not None else None
5977        '''
5978         The complete ApprovalWorkflow state at this time.
5979        '''
5980        self.deleted_at = deleted_at if deleted_at is not None else None
5981        '''
5982         If this ApprovalWorkflow was deleted, the time it was deleted.
5983        '''
5984        self.timestamp = timestamp if timestamp is not None else None
5985        '''
5986         The time at which the ApprovalWorkflow state was recorded.
5987        '''
activity_id

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

approval_workflow

The complete ApprovalWorkflow state at this time.

deleted_at

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

timestamp

The time at which the ApprovalWorkflow state was recorded.

def to_dict(self)
5997    def to_dict(self):
5998        return {
5999            'activity_id': self.activity_id,
6000            'approval_workflow': self.approval_workflow,
6001            'deleted_at': self.deleted_at,
6002            'timestamp': self.timestamp,
6003        }
@classmethod
def from_dict(cls, d)
6005    @classmethod
6006    def from_dict(cls, d):
6007        return cls(
6008            activity_id=d.get('activity_id'),
6009            approval_workflow=d.get('approval_workflow'),
6010            deleted_at=d.get('deleted_at'),
6011            timestamp=d.get('timestamp'),
6012        )
class ApprovalWorkflowListResponse:
6015class ApprovalWorkflowListResponse:
6016    '''
6017         ApprovalWorkflowListResponse returns a list of ApprovalWorkflow records that meet
6018     the criteria of an ApprovalWorkflowListRequest.
6019    '''
6020    __slots__ = [
6021        'rate_limit',
6022    ]
6023
6024    def __init__(
6025        self,
6026        rate_limit=None,
6027    ):
6028        self.rate_limit = rate_limit if rate_limit is not None else None
6029        '''
6030         Rate limit information.
6031        '''
6032
6033    def __repr__(self):
6034        return '<sdm.ApprovalWorkflowListResponse ' + \
6035            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
6036            '>'
6037
6038    def to_dict(self):
6039        return {
6040            'rate_limit': self.rate_limit,
6041        }
6042
6043    @classmethod
6044    def from_dict(cls, d):
6045        return cls(rate_limit=d.get('rate_limit'), )

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

ApprovalWorkflowListResponse(rate_limit=None)
6024    def __init__(
6025        self,
6026        rate_limit=None,
6027    ):
6028        self.rate_limit = rate_limit if rate_limit is not None else None
6029        '''
6030         Rate limit information.
6031        '''
rate_limit

Rate limit information.

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

ApprovalWorkflowStep links an approval workflow step to an ApprovalWorkflow

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

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

id

Unique identifier of the ApprovalWorkflowStep.

quantifier

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

skip_after

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

step_order

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

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

ApprovalWorkflowStepCreateResponse reports how the ApprovalWorkflowStep was created in the system.

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

The created approval workflow step.

rate_limit

Rate limit information.

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

ApprovalWorkflowStepDeleteResponse returns information about an ApprovalWorkflowStep that was deleted.

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

The deleted approval workflow step id.

rate_limit

Rate limit information.

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

ApprovalWorkflowStepGetResponse returns a requested ApprovalWorkflowStep.

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

The requested ApprovalWorkflowStep.

meta

Reserved for future use.

rate_limit

Rate limit information.

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

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

ApprovalWorkflowStepHistory( activity_id=None, approval_workflow_step=None, deleted_at=None, timestamp=None)
6269    def __init__(
6270        self,
6271        activity_id=None,
6272        approval_workflow_step=None,
6273        deleted_at=None,
6274        timestamp=None,
6275    ):
6276        self.activity_id = activity_id if activity_id is not None else ''
6277        '''
6278         The unique identifier of the Activity that produced this change to the ApprovalWorkflowStep.
6279         May be empty for some system-initiated updates.
6280        '''
6281        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
6282        '''
6283         The complete ApprovalWorkflowStep state at this time.
6284        '''
6285        self.deleted_at = deleted_at if deleted_at is not None else None
6286        '''
6287         If this ApprovalWorkflowStep was deleted, the time it was deleted.
6288        '''
6289        self.timestamp = timestamp if timestamp is not None else None
6290        '''
6291         The time at which the ApprovalWorkflowStep state was recorded.
6292        '''
activity_id

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

approval_workflow_step

The complete ApprovalWorkflowStep state at this time.

deleted_at

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

timestamp

The time at which the ApprovalWorkflowStep state was recorded.

def to_dict(self)
6302    def to_dict(self):
6303        return {
6304            'activity_id': self.activity_id,
6305            'approval_workflow_step': self.approval_workflow_step,
6306            'deleted_at': self.deleted_at,
6307            'timestamp': self.timestamp,
6308        }
@classmethod
def from_dict(cls, d)
6310    @classmethod
6311    def from_dict(cls, d):
6312        return cls(
6313            activity_id=d.get('activity_id'),
6314            approval_workflow_step=d.get('approval_workflow_step'),
6315            deleted_at=d.get('deleted_at'),
6316            timestamp=d.get('timestamp'),
6317        )
class ApprovalWorkflowStepListResponse:
6320class ApprovalWorkflowStepListResponse:
6321    '''
6322         ApprovalWorkflowStepListResponse returns a list of ApprovalWorkflowStep records that meet
6323     the criteria of an ApprovalWorkflowStepListRequest.
6324    '''
6325    __slots__ = [
6326        'rate_limit',
6327    ]
6328
6329    def __init__(
6330        self,
6331        rate_limit=None,
6332    ):
6333        self.rate_limit = rate_limit if rate_limit is not None else None
6334        '''
6335         Rate limit information.
6336        '''
6337
6338    def __repr__(self):
6339        return '<sdm.ApprovalWorkflowStepListResponse ' + \
6340            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
6341            '>'
6342
6343    def to_dict(self):
6344        return {
6345            'rate_limit': self.rate_limit,
6346        }
6347
6348    @classmethod
6349    def from_dict(cls, d):
6350        return cls(rate_limit=d.get('rate_limit'), )

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

ApprovalWorkflowStepListResponse(rate_limit=None)
6329    def __init__(
6330        self,
6331        rate_limit=None,
6332    ):
6333        self.rate_limit = rate_limit if rate_limit is not None else None
6334        '''
6335         Rate limit information.
6336        '''
rate_limit

Rate limit information.

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

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

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

The updated approval workflow.

rate_limit

Rate limit information.

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

The Access Key ID to use to authenticate.

bind_interface

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

egress_filter

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

healthy

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

output

The AWS S3 output location.

port_override

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

proxy_cluster_id

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

region

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

role_arn

The role to assume after logging in.

role_external_id

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

secret_access_key

The Secret Access Key to use to authenticate.

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

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

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

egress_filter

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

healthy

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

output

The AWS S3 output location.

port_override

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

proxy_cluster_id

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

region

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

role_arn

The role to assume after logging in.

role_external_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

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

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

database

The database for healthchecks. Does not affect client requests

egress_filter

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

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

port_override

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

proxy_cluster_id

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

require_native_auth

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

use_azure_single_server_usernames

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

username

The username to authenticate with.

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

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

database

The database for healthchecks. Does not affect client requests

egress_filter

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port

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

port_override

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

proxy_cluster_id

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

region

The AWS region to connect to.

role_assumption_arn

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

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

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

database

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

egress_filter

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

override_database

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

password

The password to authenticate with.

port

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

port_override

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

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

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

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

database

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

egress_filter

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

override_database

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

port

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

port_override

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

proxy_cluster_id

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

region

The AWS region to connect to.

role_assumption_arn

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

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

The application ID to authenticate with.

bind_interface

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

egress_filter

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

healthy

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port_override

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

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

tenant_id

The tenant ID to authenticate to.

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

The application ID to authenticate with.

bind_interface

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

client_certificate

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

egress_filter

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

healthy

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port_override

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

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

tenant_id

The tenant ID to authenticate to.

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

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

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

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

connector_id

The connector ID to authenticate through.

egress_filter

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

healthy

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

id

Unique identifier of the Resource.

identity_set_id

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

management_group_id

The management group ID to authenticate scope Privileges to.

name

Unique human-readable name of the Resource.

privilege_levels

The privilege levels specify which Groups are managed externally

proxy_cluster_id

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

secret_store_id

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

subdomain

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

subscription_id

The subscription ID to authenticate scope Privileges to.

tags

Tags is a map of key, value pairs.

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

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

database

The database for healthchecks. Does not affect client requests.

egress_filter

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

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

port_override

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

proxy_cluster_id

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

require_native_auth

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

use_azure_single_server_usernames

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

username

The username to authenticate with.

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

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

database

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

egress_filter

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

override_database

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

password

The password to authenticate with.

port

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

port_override

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

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

username

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

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

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

database

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

egress_filter

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

override_database

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

password

The password to authenticate with.

port

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

port_override

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

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

use_azure_single_server_usernames

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

username

The username to authenticate with.

def to_dict(self)
8299    def to_dict(self):
8300        return {
8301            'bind_interface': self.bind_interface,
8302            'database': self.database,
8303            'egress_filter': self.egress_filter,
8304            'healthy': self.healthy,
8305            'hostname': self.hostname,
8306            'id': self.id,
8307            'name': self.name,
8308            'override_database': self.override_database,
8309            'password': self.password,
8310            'port': self.port,
8311            'port_override': self.port_override,
8312            'proxy_cluster_id': self.proxy_cluster_id,
8313            'secret_store_id': self.secret_store_id,
8314            'subdomain': self.subdomain,
8315            'tags': self.tags,
8316            'use_azure_single_server_usernames':
8317            self.use_azure_single_server_usernames,
8318            'username': self.username,
8319        }
@classmethod
def from_dict(cls, d)
8321    @classmethod
8322    def from_dict(cls, d):
8323        return cls(
8324            bind_interface=d.get('bind_interface'),
8325            database=d.get('database'),
8326            egress_filter=d.get('egress_filter'),
8327            healthy=d.get('healthy'),
8328            hostname=d.get('hostname'),
8329            id=d.get('id'),
8330            name=d.get('name'),
8331            override_database=d.get('override_database'),
8332            password=d.get('password'),
8333            port=d.get('port'),
8334            port_override=d.get('port_override'),
8335            proxy_cluster_id=d.get('proxy_cluster_id'),
8336            secret_store_id=d.get('secret_store_id'),
8337            subdomain=d.get('subdomain'),
8338            tags=d.get('tags'),
8339            use_azure_single_server_usernames=d.get(
8340                'use_azure_single_server_usernames'),
8341            username=d.get('username'),
8342        )
class AzureStore:
8345class AzureStore:
8346    __slots__ = [
8347        'id',
8348        'name',
8349        'tags',
8350        'vault_uri',
8351    ]
8352
8353    def __init__(
8354        self,
8355        id=None,
8356        name=None,
8357        tags=None,
8358        vault_uri=None,
8359    ):
8360        self.id = id if id is not None else ''
8361        '''
8362         Unique identifier of the SecretStore.
8363        '''
8364        self.name = name if name is not None else ''
8365        '''
8366         Unique human-readable name of the SecretStore.
8367        '''
8368        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8369        '''
8370         Tags is a map of key, value pairs.
8371        '''
8372        self.vault_uri = vault_uri if vault_uri is not None else ''
8373        '''
8374         The URI of the key vault to target e.g. https://myvault.vault.azure.net
8375        '''
8376
8377    def __repr__(self):
8378        return '<sdm.AzureStore ' + \
8379            'id: ' + repr(self.id) + ' ' +\
8380            'name: ' + repr(self.name) + ' ' +\
8381            'tags: ' + repr(self.tags) + ' ' +\
8382            'vault_uri: ' + repr(self.vault_uri) + ' ' +\
8383            '>'
8384
8385    def to_dict(self):
8386        return {
8387            'id': self.id,
8388            'name': self.name,
8389            'tags': self.tags,
8390            'vault_uri': self.vault_uri,
8391        }
8392
8393    @classmethod
8394    def from_dict(cls, d):
8395        return cls(
8396            id=d.get('id'),
8397            name=d.get('name'),
8398            tags=d.get('tags'),
8399            vault_uri=d.get('vault_uri'),
8400        )
AzureStore(id=None, name=None, tags=None, vault_uri=None)
8353    def __init__(
8354        self,
8355        id=None,
8356        name=None,
8357        tags=None,
8358        vault_uri=None,
8359    ):
8360        self.id = id if id is not None else ''
8361        '''
8362         Unique identifier of the SecretStore.
8363        '''
8364        self.name = name if name is not None else ''
8365        '''
8366         Unique human-readable name of the SecretStore.
8367        '''
8368        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8369        '''
8370         Tags is a map of key, value pairs.
8371        '''
8372        self.vault_uri = vault_uri if vault_uri is not None else ''
8373        '''
8374         The URI of the key vault to target e.g. https://myvault.vault.azure.net
8375        '''
id

Unique identifier of the SecretStore.

name

Unique human-readable name of the SecretStore.

tags

Tags is a map of key, value pairs.

vault_uri

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

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

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

egress_filter

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

endpoint

The endpoint to dial.

healthy

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port_override

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

private_key

The JSON Private key to authenticate with.

project

The project to connect to.

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

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

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

egress_filter

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

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

port_override

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

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

tls_required

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

username

The username to authenticate with.

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

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

database

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

egress_filter

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

override_database

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

password

The password to authenticate with.

port

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

port_override

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

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

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

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

database

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

egress_filter

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

healthy

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port_override

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

proxy_cluster_id

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

secret_store_id

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

tags

Tags is a map of key, value pairs.

url

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

username

The username to authenticate with.

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

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

database

The database for healthchecks. Does not affect client requests.

egress_filter

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

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

port_override

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

proxy_cluster_id

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

require_native_auth

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
9137    def to_dict(self):
9138        return {
9139            'bind_interface': self.bind_interface,
9140            'database': self.database,
9141            'egress_filter': self.egress_filter,
9142            'healthy': self.healthy,
9143            'hostname': self.hostname,
9144            'id': self.id,
9145            'name': self.name,
9146            'password': self.password,
9147            'port': self.port,
9148            'port_override': self.port_override,
9149            'proxy_cluster_id': self.proxy_cluster_id,
9150            'require_native_auth': self.require_native_auth,
9151            'secret_store_id': self.secret_store_id,
9152            'subdomain': self.subdomain,
9153            'tags': self.tags,
9154            'username': self.username,
9155        }
@classmethod
def from_dict(cls, d)
9157    @classmethod
9158    def from_dict(cls, d):
9159        return cls(
9160            bind_interface=d.get('bind_interface'),
9161            database=d.get('database'),
9162            egress_filter=d.get('egress_filter'),
9163            healthy=d.get('healthy'),
9164            hostname=d.get('hostname'),
9165            id=d.get('id'),
9166            name=d.get('name'),
9167            password=d.get('password'),
9168            port=d.get('port'),
9169            port_override=d.get('port_override'),
9170            proxy_cluster_id=d.get('proxy_cluster_id'),
9171            require_native_auth=d.get('require_native_auth'),
9172            secret_store_id=d.get('secret_store_id'),
9173            subdomain=d.get('subdomain'),
9174            tags=d.get('tags'),
9175            username=d.get('username'),
9176        )
class ClickHouseTCP:
9179class ClickHouseTCP:
9180    __slots__ = [
9181        'bind_interface',
9182        'database',
9183        'egress_filter',
9184        'healthy',
9185        'hostname',
9186        'id',
9187        'name',
9188        'password',
9189        'port',
9190        'port_override',
9191        'proxy_cluster_id',
9192        'secret_store_id',
9193        'subdomain',
9194        'tags',
9195        'tls_required',
9196        'username',
9197    ]
9198
9199    def __init__(
9200        self,
9201        bind_interface=None,
9202        database=None,
9203        egress_filter=None,
9204        healthy=None,
9205        hostname=None,
9206        id=None,
9207        name=None,
9208        password=None,
9209        port=None,
9210        port_override=None,
9211        proxy_cluster_id=None,
9212        secret_store_id=None,
9213        subdomain=None,
9214        tags=None,
9215        tls_required=None,
9216        username=None,
9217    ):
9218        self.bind_interface = bind_interface if bind_interface is not None else ''
9219        '''
9220         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
9221        '''
9222        self.database = database if database is not None else ''
9223        '''
9224         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
9225        '''
9226        self.egress_filter = egress_filter if egress_filter is not None else ''
9227        '''
9228         A filter applied to the routing logic to pin datasource to nodes.
9229        '''
9230        self.healthy = healthy if healthy is not None else False
9231        '''
9232         True if the datasource is reachable and the credentials are valid.
9233        '''
9234        self.hostname = hostname if hostname is not None else ''
9235        '''
9236         The host to dial to initiate a connection from the egress node to this resource.
9237        '''
9238        self.id = id if id is not None else ''
9239        '''
9240         Unique identifier of the Resource.
9241        '''
9242        self.name = name if name is not None else ''
9243        '''
9244         Unique human-readable name of the Resource.
9245        '''
9246        self.password = password if password is not None else ''
9247        '''
9248         The password to authenticate with.
9249        '''
9250        self.port = port if port is not None else 0
9251        '''
9252         The port to dial to initiate a connection from the egress node to this resource.
9253        '''
9254        self.port_override = port_override if port_override is not None else 0
9255        '''
9256         The local port used by clients to connect to this resource.
9257        '''
9258        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9259        '''
9260         ID of the proxy cluster for this resource, if any.
9261        '''
9262        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9263        '''
9264         ID of the secret store containing credentials for this resource, if any.
9265        '''
9266        self.subdomain = subdomain if subdomain is not None else ''
9267        '''
9268         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
9269        '''
9270        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9271        '''
9272         Tags is a map of key, value pairs.
9273        '''
9274        self.tls_required = tls_required if tls_required is not None else False
9275        '''
9276         If set, TLS must be used to connect to this resource.
9277        '''
9278        self.username = username if username is not None else ''
9279        '''
9280         The username to authenticate with.
9281        '''
9282
9283    def __repr__(self):
9284        return '<sdm.ClickHouseTCP ' + \
9285            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
9286            'database: ' + repr(self.database) + ' ' +\
9287            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
9288            'healthy: ' + repr(self.healthy) + ' ' +\
9289            'hostname: ' + repr(self.hostname) + ' ' +\
9290            'id: ' + repr(self.id) + ' ' +\
9291            'name: ' + repr(self.name) + ' ' +\
9292            'password: ' + repr(self.password) + ' ' +\
9293            'port: ' + repr(self.port) + ' ' +\
9294            'port_override: ' + repr(self.port_override) + ' ' +\
9295            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
9296            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
9297            'subdomain: ' + repr(self.subdomain) + ' ' +\
9298            'tags: ' + repr(self.tags) + ' ' +\
9299            'tls_required: ' + repr(self.tls_required) + ' ' +\
9300            'username: ' + repr(self.username) + ' ' +\
9301            '>'
9302
9303    def to_dict(self):
9304        return {
9305            'bind_interface': self.bind_interface,
9306            'database': self.database,
9307            'egress_filter': self.egress_filter,
9308            'healthy': self.healthy,
9309            'hostname': self.hostname,
9310            'id': self.id,
9311            'name': self.name,
9312            'password': self.password,
9313            'port': self.port,
9314            'port_override': self.port_override,
9315            'proxy_cluster_id': self.proxy_cluster_id,
9316            'secret_store_id': self.secret_store_id,
9317            'subdomain': self.subdomain,
9318            'tags': self.tags,
9319            'tls_required': self.tls_required,
9320            'username': self.username,
9321        }
9322
9323    @classmethod
9324    def from_dict(cls, d):
9325        return cls(
9326            bind_interface=d.get('bind_interface'),
9327            database=d.get('database'),
9328            egress_filter=d.get('egress_filter'),
9329            healthy=d.get('healthy'),
9330            hostname=d.get('hostname'),
9331            id=d.get('id'),
9332            name=d.get('name'),
9333            password=d.get('password'),
9334            port=d.get('port'),
9335            port_override=d.get('port_override'),
9336            proxy_cluster_id=d.get('proxy_cluster_id'),
9337            secret_store_id=d.get('secret_store_id'),
9338            subdomain=d.get('subdomain'),
9339            tags=d.get('tags'),
9340            tls_required=d.get('tls_required'),
9341            username=d.get('username'),
9342        )
ClickHouseTCP( bind_interface=None, database=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, tls_required=None, username=None)
9199    def __init__(
9200        self,
9201        bind_interface=None,
9202        database=None,
9203        egress_filter=None,
9204        healthy=None,
9205        hostname=None,
9206        id=None,
9207        name=None,
9208        password=None,
9209        port=None,
9210        port_override=None,
9211        proxy_cluster_id=None,
9212        secret_store_id=None,
9213        subdomain=None,
9214        tags=None,
9215        tls_required=None,
9216        username=None,
9217    ):
9218        self.bind_interface = bind_interface if bind_interface is not None else ''
9219        '''
9220         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
9221        '''
9222        self.database = database if database is not None else ''
9223        '''
9224         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
9225        '''
9226        self.egress_filter = egress_filter if egress_filter is not None else ''
9227        '''
9228         A filter applied to the routing logic to pin datasource to nodes.
9229        '''
9230        self.healthy = healthy if healthy is not None else False
9231        '''
9232         True if the datasource is reachable and the credentials are valid.
9233        '''
9234        self.hostname = hostname if hostname is not None else ''
9235        '''
9236         The host to dial to initiate a connection from the egress node to this resource.
9237        '''
9238        self.id = id if id is not None else ''
9239        '''
9240         Unique identifier of the Resource.
9241        '''
9242        self.name = name if name is not None else ''
9243        '''
9244         Unique human-readable name of the Resource.
9245        '''
9246        self.password = password if password is not None else ''
9247        '''
9248         The password to authenticate with.
9249        '''
9250        self.port = port if port is not None else 0
9251        '''
9252         The port to dial to initiate a connection from the egress node to this resource.
9253        '''
9254        self.port_override = port_override if port_override is not None else 0
9255        '''
9256         The local port used by clients to connect to this resource.
9257        '''
9258        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9259        '''
9260         ID of the proxy cluster for this resource, if any.
9261        '''
9262        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9263        '''
9264         ID of the secret store containing credentials for this resource, if any.
9265        '''
9266        self.subdomain = subdomain if subdomain is not None else ''
9267        '''
9268         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
9269        '''
9270        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9271        '''
9272         Tags is a map of key, value pairs.
9273        '''
9274        self.tls_required = tls_required if tls_required is not None else False
9275        '''
9276         If set, TLS must be used to connect to this resource.
9277        '''
9278        self.username = username if username is not None else ''
9279        '''
9280         The username to authenticate with.
9281        '''
bind_interface

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

database

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

egress_filter

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

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

port_override

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

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

tls_required

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

username

The username to authenticate with.

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

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

database

The database for healthchecks. Does not affect client requests.

egress_filter

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

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

port_override

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

proxy_cluster_id

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

require_native_auth

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

use_azure_single_server_usernames

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

username

The username to authenticate with.

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

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

database

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

egress_filter

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

override_database

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

password

The password to authenticate with.

port

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

port_override

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

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

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

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

ControlPanelGetRDPCAPublicKeyResponse(meta=None, public_key=None, rate_limit=None)
9699    def __init__(
9700        self,
9701        meta=None,
9702        public_key=None,
9703        rate_limit=None,
9704    ):
9705        self.meta = meta if meta is not None else None
9706        '''
9707         Reserved for future use.
9708        '''
9709        self.public_key = public_key if public_key is not None else ''
9710        '''
9711         The public key of the SSH Certificate Authority, in OpenSSH RSA public
9712         key format.
9713        '''
9714        self.rate_limit = rate_limit if rate_limit is not None else None
9715        '''
9716         Rate limit information.
9717        '''
meta

Reserved for future use.

public_key

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

rate_limit

Rate limit information.

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

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

ControlPanelGetSSHCAPublicKeyResponse(meta=None, public_key=None, rate_limit=None)
9753    def __init__(
9754        self,
9755        meta=None,
9756        public_key=None,
9757        rate_limit=None,
9758    ):
9759        self.meta = meta if meta is not None else None
9760        '''
9761         Reserved for future use.
9762        '''
9763        self.public_key = public_key if public_key is not None else ''
9764        '''
9765         The public key of the SSH Certificate Authority, in OpenSSH RSA public
9766         key format.
9767        '''
9768        self.rate_limit = rate_limit if rate_limit is not None else None
9769        '''
9770         Rate limit information.
9771        '''
meta

Reserved for future use.

public_key

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

rate_limit

Rate limit information.

def to_dict(self)
9780    def to_dict(self):
9781        return {
9782            'meta': self.meta,
9783            'public_key': self.public_key,
9784            'rate_limit': self.rate_limit,
9785        }
@classmethod
def from_dict(cls, d)
9787    @classmethod
9788    def from_dict(cls, d):
9789        return cls(
9790            meta=d.get('meta'),
9791            public_key=d.get('public_key'),
9792            rate_limit=d.get('rate_limit'),
9793        )
class ControlPanelVerifyJWTResponse:
9796class ControlPanelVerifyJWTResponse:
9797    '''
9798         ControlPanelVerifyJWTResponse reports whether x-sdm-token is valid.
9799    '''
9800    __slots__ = [
9801        'meta',
9802        'rate_limit',
9803        'valid',
9804    ]
9805
9806    def __init__(
9807        self,
9808        meta=None,
9809        rate_limit=None,
9810        valid=None,
9811    ):
9812        self.meta = meta if meta is not None else None
9813        '''
9814         Reserved for future use.
9815        '''
9816        self.rate_limit = rate_limit if rate_limit is not None else None
9817        '''
9818         Rate limit information.
9819        '''
9820        self.valid = valid if valid is not None else False
9821        '''
9822         Reports if the given token is valid.
9823        '''
9824
9825    def __repr__(self):
9826        return '<sdm.ControlPanelVerifyJWTResponse ' + \
9827            'meta: ' + repr(self.meta) + ' ' +\
9828            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
9829            'valid: ' + repr(self.valid) + ' ' +\
9830            '>'
9831
9832    def to_dict(self):
9833        return {
9834            'meta': self.meta,
9835            'rate_limit': self.rate_limit,
9836            'valid': self.valid,
9837        }
9838
9839    @classmethod
9840    def from_dict(cls, d):
9841        return cls(
9842            meta=d.get('meta'),
9843            rate_limit=d.get('rate_limit'),
9844            valid=d.get('valid'),
9845        )

ControlPanelVerifyJWTResponse reports whether x-sdm-token is valid.

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

Reserved for future use.

rate_limit

Rate limit information.

valid

Reports if the given token is valid.

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

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

egress_filter

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

n1ql_port

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

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

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

port_override

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

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

tls_required

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

username

The username to authenticate with.

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

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

egress_filter

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

healthy

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port_override

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

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

url

The base address of your website without the path.

username

The username to authenticate with.

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

CreateResponseMetadata is reserved for future use.

CreateResponseMetadata()
10159    def __init__(self, ):
10160        pass
def to_dict(self)
10166    def to_dict(self):
10167        return {}
@classmethod
def from_dict(cls, d)
10169    @classmethod
10170    def from_dict(cls, d):
10171        return cls()
class CyberarkConjurStore:
10174class CyberarkConjurStore:
10175    __slots__ = [
10176        'appurl',
10177        'id',
10178        'name',
10179        'tags',
10180    ]
10181
10182    def __init__(
10183        self,
10184        appurl=None,
10185        id=None,
10186        name=None,
10187        tags=None,
10188    ):
10189        self.appurl = appurl if appurl is not None else ''
10190        '''
10191         The URL of the Cyberark instance
10192        '''
10193        self.id = id if id is not None else ''
10194        '''
10195         Unique identifier of the SecretStore.
10196        '''
10197        self.name = name if name is not None else ''
10198        '''
10199         Unique human-readable name of the SecretStore.
10200        '''
10201        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10202        '''
10203         Tags is a map of key, value pairs.
10204        '''
10205
10206    def __repr__(self):
10207        return '<sdm.CyberarkConjurStore ' + \
10208            'appurl: ' + repr(self.appurl) + ' ' +\
10209            'id: ' + repr(self.id) + ' ' +\
10210            'name: ' + repr(self.name) + ' ' +\
10211            'tags: ' + repr(self.tags) + ' ' +\
10212            '>'
10213
10214    def to_dict(self):
10215        return {
10216            'appurl': self.appurl,
10217            'id': self.id,
10218            'name': self.name,
10219            'tags': self.tags,
10220        }
10221
10222    @classmethod
10223    def from_dict(cls, d):
10224        return cls(
10225            appurl=d.get('appurl'),
10226            id=d.get('id'),
10227            name=d.get('name'),
10228            tags=d.get('tags'),
10229        )
CyberarkConjurStore(appurl=None, id=None, name=None, tags=None)
10182    def __init__(
10183        self,
10184        appurl=None,
10185        id=None,
10186        name=None,
10187        tags=None,
10188    ):
10189        self.appurl = appurl if appurl is not None else ''
10190        '''
10191         The URL of the Cyberark instance
10192        '''
10193        self.id = id if id is not None else ''
10194        '''
10195         Unique identifier of the SecretStore.
10196        '''
10197        self.name = name if name is not None else ''
10198        '''
10199         Unique human-readable name of the SecretStore.
10200        '''
10201        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10202        '''
10203         Tags is a map of key, value pairs.
10204        '''
appurl

The URL of the Cyberark instance

id

Unique identifier of the SecretStore.

name

Unique human-readable name of the SecretStore.

tags

Tags is a map of key, value pairs.

def to_dict(self)
10214    def to_dict(self):
10215        return {
10216            'appurl': self.appurl,
10217            'id': self.id,
10218            'name': self.name,
10219            'tags': self.tags,
10220        }
@classmethod
def from_dict(cls, d)
10222    @classmethod
10223    def from_dict(cls, d):
10224        return cls(
10225            appurl=d.get('appurl'),
10226            id=d.get('id'),
10227            name=d.get('name'),
10228            tags=d.get('tags'),
10229        )
class CyberarkPAMExperimentalStore:
10232class CyberarkPAMExperimentalStore:
10233    '''
10234    CyberarkPAMExperimentalStore is currently unstable, and its API may change, or it may be removed,
10235    without a major version bump.
10236    '''
10237    __slots__ = [
10238        'appurl',
10239        'id',
10240        'name',
10241        'tags',
10242    ]
10243
10244    def __init__(
10245        self,
10246        appurl=None,
10247        id=None,
10248        name=None,
10249        tags=None,
10250    ):
10251        self.appurl = appurl if appurl is not None else ''
10252        '''
10253         The URL of the Cyberark instance
10254        '''
10255        self.id = id if id is not None else ''
10256        '''
10257         Unique identifier of the SecretStore.
10258        '''
10259        self.name = name if name is not None else ''
10260        '''
10261         Unique human-readable name of the SecretStore.
10262        '''
10263        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10264        '''
10265         Tags is a map of key, value pairs.
10266        '''
10267
10268    def __repr__(self):
10269        return '<sdm.CyberarkPAMExperimentalStore ' + \
10270            'appurl: ' + repr(self.appurl) + ' ' +\
10271            'id: ' + repr(self.id) + ' ' +\
10272            'name: ' + repr(self.name) + ' ' +\
10273            'tags: ' + repr(self.tags) + ' ' +\
10274            '>'
10275
10276    def to_dict(self):
10277        return {
10278            'appurl': self.appurl,
10279            'id': self.id,
10280            'name': self.name,
10281            'tags': self.tags,
10282        }
10283
10284    @classmethod
10285    def from_dict(cls, d):
10286        return cls(
10287            appurl=d.get('appurl'),
10288            id=d.get('id'),
10289            name=d.get('name'),
10290            tags=d.get('tags'),
10291        )

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

CyberarkPAMExperimentalStore(appurl=None, id=None, name=None, tags=None)
10244    def __init__(
10245        self,
10246        appurl=None,
10247        id=None,
10248        name=None,
10249        tags=None,
10250    ):
10251        self.appurl = appurl if appurl is not None else ''
10252        '''
10253         The URL of the Cyberark instance
10254        '''
10255        self.id = id if id is not None else ''
10256        '''
10257         Unique identifier of the SecretStore.
10258        '''
10259        self.name = name if name is not None else ''
10260        '''
10261         Unique human-readable name of the SecretStore.
10262        '''
10263        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10264        '''
10265         Tags is a map of key, value pairs.
10266        '''
appurl

The URL of the Cyberark instance

id

Unique identifier of the SecretStore.

name

Unique human-readable name of the SecretStore.

tags

Tags is a map of key, value pairs.

def to_dict(self)
10276    def to_dict(self):
10277        return {
10278            'appurl': self.appurl,
10279            'id': self.id,
10280            'name': self.name,
10281            'tags': self.tags,
10282        }
@classmethod
def from_dict(cls, d)
10284    @classmethod
10285    def from_dict(cls, d):
10286        return cls(
10287            appurl=d.get('appurl'),
10288            id=d.get('id'),
10289            name=d.get('name'),
10290            tags=d.get('tags'),
10291        )
class CyberarkPAMStore:
10294class CyberarkPAMStore:
10295    __slots__ = [
10296        'appurl',
10297        'id',
10298        'name',
10299        'tags',
10300    ]
10301
10302    def __init__(
10303        self,
10304        appurl=None,
10305        id=None,
10306        name=None,
10307        tags=None,
10308    ):
10309        self.appurl = appurl if appurl is not None else ''
10310        '''
10311         The URL of the Cyberark instance
10312        '''
10313        self.id = id if id is not None else ''
10314        '''
10315         Unique identifier of the SecretStore.
10316        '''
10317        self.name = name if name is not None else ''
10318        '''
10319         Unique human-readable name of the SecretStore.
10320        '''
10321        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10322        '''
10323         Tags is a map of key, value pairs.
10324        '''
10325
10326    def __repr__(self):
10327        return '<sdm.CyberarkPAMStore ' + \
10328            'appurl: ' + repr(self.appurl) + ' ' +\
10329            'id: ' + repr(self.id) + ' ' +\
10330            'name: ' + repr(self.name) + ' ' +\
10331            'tags: ' + repr(self.tags) + ' ' +\
10332            '>'
10333
10334    def to_dict(self):
10335        return {
10336            'appurl': self.appurl,
10337            'id': self.id,
10338            'name': self.name,
10339            'tags': self.tags,
10340        }
10341
10342    @classmethod
10343    def from_dict(cls, d):
10344        return cls(
10345            appurl=d.get('appurl'),
10346            id=d.get('id'),
10347            name=d.get('name'),
10348            tags=d.get('tags'),
10349        )
CyberarkPAMStore(appurl=None, id=None, name=None, tags=None)
10302    def __init__(
10303        self,
10304        appurl=None,
10305        id=None,
10306        name=None,
10307        tags=None,
10308    ):
10309        self.appurl = appurl if appurl is not None else ''
10310        '''
10311         The URL of the Cyberark instance
10312        '''
10313        self.id = id if id is not None else ''
10314        '''
10315         Unique identifier of the SecretStore.
10316        '''
10317        self.name = name if name is not None else ''
10318        '''
10319         Unique human-readable name of the SecretStore.
10320        '''
10321        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10322        '''
10323         Tags is a map of key, value pairs.
10324        '''
appurl

The URL of the Cyberark instance

id

Unique identifier of the SecretStore.

name

Unique human-readable name of the SecretStore.

tags

Tags is a map of key, value pairs.

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

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

egress_filter

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

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

port_override

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

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

tls_required

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

username

The username to authenticate with.

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

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

database

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

egress_filter

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

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

port_override

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

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

tls_required

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

username

The username to authenticate with.

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

DeleteResponseMetadata is reserved for future use.

DeleteResponseMetadata()
10681    def __init__(self, ):
10682        pass
def to_dict(self)
10688    def to_dict(self):
10689        return {}
@classmethod
def from_dict(cls, d)
10691    @classmethod
10692    def from_dict(cls, d):
10693        return cls()
class DelineaStore:
10696class DelineaStore:
10697    __slots__ = [
10698        'id',
10699        'name',
10700        'server_url',
10701        'tags',
10702        'tenant_name',
10703    ]
10704
10705    def __init__(
10706        self,
10707        id=None,
10708        name=None,
10709        server_url=None,
10710        tags=None,
10711        tenant_name=None,
10712    ):
10713        self.id = id if id is not None else ''
10714        '''
10715         Unique identifier of the SecretStore.
10716        '''
10717        self.name = name if name is not None else ''
10718        '''
10719         Unique human-readable name of the SecretStore.
10720        '''
10721        self.server_url = server_url if server_url is not None else ''
10722        '''
10723         The URL of the Delinea instance
10724        '''
10725        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10726        '''
10727         Tags is a map of key, value pairs.
10728        '''
10729        self.tenant_name = tenant_name if tenant_name is not None else ''
10730        '''
10731         The tenant name to target
10732        '''
10733
10734    def __repr__(self):
10735        return '<sdm.DelineaStore ' + \
10736            'id: ' + repr(self.id) + ' ' +\
10737            'name: ' + repr(self.name) + ' ' +\
10738            'server_url: ' + repr(self.server_url) + ' ' +\
10739            'tags: ' + repr(self.tags) + ' ' +\
10740            'tenant_name: ' + repr(self.tenant_name) + ' ' +\
10741            '>'
10742
10743    def to_dict(self):
10744        return {
10745            'id': self.id,
10746            'name': self.name,
10747            'server_url': self.server_url,
10748            'tags': self.tags,
10749            'tenant_name': self.tenant_name,
10750        }
10751
10752    @classmethod
10753    def from_dict(cls, d):
10754        return cls(
10755            id=d.get('id'),
10756            name=d.get('name'),
10757            server_url=d.get('server_url'),
10758            tags=d.get('tags'),
10759            tenant_name=d.get('tenant_name'),
10760        )
DelineaStore(id=None, name=None, server_url=None, tags=None, tenant_name=None)
10705    def __init__(
10706        self,
10707        id=None,
10708        name=None,
10709        server_url=None,
10710        tags=None,
10711        tenant_name=None,
10712    ):
10713        self.id = id if id is not None else ''
10714        '''
10715         Unique identifier of the SecretStore.
10716        '''
10717        self.name = name if name is not None else ''
10718        '''
10719         Unique human-readable name of the SecretStore.
10720        '''
10721        self.server_url = server_url if server_url is not None else ''
10722        '''
10723         The URL of the Delinea instance
10724        '''
10725        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10726        '''
10727         Tags is a map of key, value pairs.
10728        '''
10729        self.tenant_name = tenant_name if tenant_name is not None else ''
10730        '''
10731         The tenant name to target
10732        '''
id

Unique identifier of the SecretStore.

name

Unique human-readable name of the SecretStore.

server_url

The URL of the Delinea instance

tags

Tags is a map of key, value pairs.

tenant_name

The tenant name to target

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

The authentication database to use.

bind_interface

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

egress_filter

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

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

port_override

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

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

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

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

egress_filter

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port

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

port_override

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

proxy_cluster_id

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

region

The AWS region to connect to.

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

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

The authentication database to use.

bind_interface

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

connect_to_replica

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

egress_filter

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port_override

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

proxy_cluster_id

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

replica_set

The name of the mongo replicaset.

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

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

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

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

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

connect_to_replica

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

egress_filter

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port_override

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

proxy_cluster_id

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

region

The region of the document db cluster

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

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

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

egress_filter

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

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

port_override

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

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

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

The Access Key ID to use to authenticate.

bind_interface

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

egress_filter

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

endpoint

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

healthy

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port_override

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

proxy_cluster_id

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

region

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

role_arn

The role to assume after logging in.

role_external_id

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

secret_access_key

The Secret Access Key to use to authenticate.

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

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

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

egress_filter

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

endpoint

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

healthy

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port_override

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

proxy_cluster_id

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

region

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

role_arn

The role to assume after logging in.

role_external_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

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

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

egress_filter

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

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

port_override

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

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

tls_required

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

username

The username to authenticate with.

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

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

egress_filter

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

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

port_override

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

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

tls_required

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

username

The username to authenticate with.

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

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

egress_filter

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

healthy

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

id

Unique identifier of the Resource.

keyfile

The service account keyfile to authenticate with.

name

Unique human-readable name of the Resource.

port_override

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

proxy_cluster_id

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

scopes

Space separated scopes that this login should assume into when authenticating.

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

def to_dict(self)
12240    def to_dict(self):
12241        return {
12242            'bind_interface': self.bind_interface,
12243            'egress_filter': self.egress_filter,
12244            'healthy': self.healthy,
12245            'id': self.id,
12246            'keyfile': self.keyfile,
12247            'name': self.name,
12248            'port_override': self.port_override,
12249            'proxy_cluster_id': self.proxy_cluster_id,
12250            'scopes': self.scopes,
12251            'secret_store_id': self.secret_store_id,
12252            'subdomain': self.subdomain,
12253            'tags': self.tags,
12254        }
@classmethod
def from_dict(cls, d)
12256    @classmethod
12257    def from_dict(cls, d):
12258        return cls(
12259            bind_interface=d.get('bind_interface'),
12260            egress_filter=d.get('egress_filter'),
12261            healthy=d.get('healthy'),
12262            id=d.get('id'),
12263            keyfile=d.get('keyfile'),
12264            name=d.get('name'),
12265            port_override=d.get('port_override'),
12266            proxy_cluster_id=d.get('proxy_cluster_id'),
12267            scopes=d.get('scopes'),
12268            secret_store_id=d.get('secret_store_id'),
12269            subdomain=d.get('subdomain'),
12270            tags=d.get('tags'),
12271        )
class GCPCertX509Store:
12274class GCPCertX509Store:
12275    __slots__ = [
12276        'caid',
12277        'capoolid',
12278        'id',
12279        'issuedcertttlminutes',
12280        'location',
12281        'name',
12282        'projectid',
12283        'tags',
12284    ]
12285
12286    def __init__(
12287        self,
12288        caid=None,
12289        capoolid=None,
12290        id=None,
12291        issuedcertttlminutes=None,
12292        location=None,
12293        name=None,
12294        projectid=None,
12295        tags=None,
12296    ):
12297        self.caid = caid if caid is not None else ''
12298        '''
12299         The ID of the target CA
12300        '''
12301        self.capoolid = capoolid if capoolid is not None else ''
12302        '''
12303         The ID of the target CA pool
12304        '''
12305        self.id = id if id is not None else ''
12306        '''
12307         Unique identifier of the SecretStore.
12308        '''
12309        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
12310        '''
12311         The lifetime of certificates issued by this CA represented in minutes.
12312        '''
12313        self.location = location if location is not None else ''
12314        '''
12315         The Region for the CA in GCP format e.g. us-west1
12316        '''
12317        self.name = name if name is not None else ''
12318        '''
12319         Unique human-readable name of the SecretStore.
12320        '''
12321        self.projectid = projectid if projectid is not None else ''
12322        '''
12323         The GCP project ID to target.
12324        '''
12325        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12326        '''
12327         Tags is a map of key, value pairs.
12328        '''
12329
12330    def __repr__(self):
12331        return '<sdm.GCPCertX509Store ' + \
12332            'caid: ' + repr(self.caid) + ' ' +\
12333            'capoolid: ' + repr(self.capoolid) + ' ' +\
12334            'id: ' + repr(self.id) + ' ' +\
12335            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
12336            'location: ' + repr(self.location) + ' ' +\
12337            'name: ' + repr(self.name) + ' ' +\
12338            'projectid: ' + repr(self.projectid) + ' ' +\
12339            'tags: ' + repr(self.tags) + ' ' +\
12340            '>'
12341
12342    def to_dict(self):
12343        return {
12344            'caid': self.caid,
12345            'capoolid': self.capoolid,
12346            'id': self.id,
12347            'issuedcertttlminutes': self.issuedcertttlminutes,
12348            'location': self.location,
12349            'name': self.name,
12350            'projectid': self.projectid,
12351            'tags': self.tags,
12352        }
12353
12354    @classmethod
12355    def from_dict(cls, d):
12356        return cls(
12357            caid=d.get('caid'),
12358            capoolid=d.get('capoolid'),
12359            id=d.get('id'),
12360            issuedcertttlminutes=d.get('issuedcertttlminutes'),
12361            location=d.get('location'),
12362            name=d.get('name'),
12363            projectid=d.get('projectid'),
12364            tags=d.get('tags'),
12365        )
GCPCertX509Store( caid=None, capoolid=None, id=None, issuedcertttlminutes=None, location=None, name=None, projectid=None, tags=None)
12286    def __init__(
12287        self,
12288        caid=None,
12289        capoolid=None,
12290        id=None,
12291        issuedcertttlminutes=None,
12292        location=None,
12293        name=None,
12294        projectid=None,
12295        tags=None,
12296    ):
12297        self.caid = caid if caid is not None else ''
12298        '''
12299         The ID of the target CA
12300        '''
12301        self.capoolid = capoolid if capoolid is not None else ''
12302        '''
12303         The ID of the target CA pool
12304        '''
12305        self.id = id if id is not None else ''
12306        '''
12307         Unique identifier of the SecretStore.
12308        '''
12309        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
12310        '''
12311         The lifetime of certificates issued by this CA represented in minutes.
12312        '''
12313        self.location = location if location is not None else ''
12314        '''
12315         The Region for the CA in GCP format e.g. us-west1
12316        '''
12317        self.name = name if name is not None else ''
12318        '''
12319         Unique human-readable name of the SecretStore.
12320        '''
12321        self.projectid = projectid if projectid is not None else ''
12322        '''
12323         The GCP project ID to target.
12324        '''
12325        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12326        '''
12327         Tags is a map of key, value pairs.
12328        '''
caid

The ID of the target CA

capoolid

The ID of the target CA pool

id

Unique identifier of the SecretStore.

issuedcertttlminutes

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

location

The Region for the CA in GCP format e.g. us-west1

name

Unique human-readable name of the SecretStore.

projectid

The GCP project ID to target.

tags

Tags is a map of key, value pairs.

def to_dict(self)
12342    def to_dict(self):
12343        return {
12344            'caid': self.caid,
12345            'capoolid': self.capoolid,
12346            'id': self.id,
12347            'issuedcertttlminutes': self.issuedcertttlminutes,
12348            'location': self.location,
12349            'name': self.name,
12350            'projectid': self.projectid,
12351            'tags': self.tags,
12352        }
@classmethod
def from_dict(cls, d)
12354    @classmethod
12355    def from_dict(cls, d):
12356        return cls(
12357            caid=d.get('caid'),
12358            capoolid=d.get('capoolid'),
12359            id=d.get('id'),
12360            issuedcertttlminutes=d.get('issuedcertttlminutes'),
12361            location=d.get('location'),
12362            name=d.get('name'),
12363            projectid=d.get('projectid'),
12364            tags=d.get('tags'),
12365        )
class GCPConsole:
12368class GCPConsole:
12369    __slots__ = [
12370        'bind_interface',
12371        'egress_filter',
12372        'healthy',
12373        'id',
12374        'identity_alias_healthcheck_username',
12375        'identity_set_id',
12376        'name',
12377        'port_override',
12378        'proxy_cluster_id',
12379        'secret_store_id',
12380        'session_expiry',
12381        'subdomain',
12382        'tags',
12383        'workforce_pool_id',
12384        'workforce_provider_id',
12385    ]
12386
12387    def __init__(
12388        self,
12389        bind_interface=None,
12390        egress_filter=None,
12391        healthy=None,
12392        id=None,
12393        identity_alias_healthcheck_username=None,
12394        identity_set_id=None,
12395        name=None,
12396        port_override=None,
12397        proxy_cluster_id=None,
12398        secret_store_id=None,
12399        session_expiry=None,
12400        subdomain=None,
12401        tags=None,
12402        workforce_pool_id=None,
12403        workforce_provider_id=None,
12404    ):
12405        self.bind_interface = bind_interface if bind_interface is not None else ''
12406        '''
12407         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12408        '''
12409        self.egress_filter = egress_filter if egress_filter is not None else ''
12410        '''
12411         A filter applied to the routing logic to pin datasource to nodes.
12412        '''
12413        self.healthy = healthy if healthy is not None else False
12414        '''
12415         True if the datasource is reachable and the credentials are valid.
12416        '''
12417        self.id = id if id is not None else ''
12418        '''
12419         Unique identifier of the Resource.
12420        '''
12421        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
12422        '''
12423         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
12424        '''
12425        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
12426        '''
12427         The ID of the identity set to use for identity connections.
12428        '''
12429        self.name = name if name is not None else ''
12430        '''
12431         Unique human-readable name of the Resource.
12432        '''
12433        self.port_override = port_override if port_override is not None else 0
12434        '''
12435         The local port used by clients to connect to this resource.
12436        '''
12437        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12438        '''
12439         ID of the proxy cluster for this resource, if any.
12440        '''
12441        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12442        '''
12443         ID of the secret store containing credentials for this resource, if any.
12444        '''
12445        self.session_expiry = session_expiry if session_expiry is not None else 0
12446        '''
12447         The length of time in seconds console sessions will live before needing to reauthenticate.
12448        '''
12449        self.subdomain = subdomain if subdomain is not None else ''
12450        '''
12451         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12452        '''
12453        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12454        '''
12455         Tags is a map of key, value pairs.
12456        '''
12457        self.workforce_pool_id = workforce_pool_id if workforce_pool_id is not None else ''
12458        '''
12459         The ID of the Workforce Identity Pool in GCP to use for federated authentication.
12460        '''
12461        self.workforce_provider_id = workforce_provider_id if workforce_provider_id is not None else ''
12462        '''
12463         The ID of the Workforce Identity Provider in GCP to use for federated authentication.
12464        '''
12465
12466    def __repr__(self):
12467        return '<sdm.GCPConsole ' + \
12468            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12469            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12470            'healthy: ' + repr(self.healthy) + ' ' +\
12471            'id: ' + repr(self.id) + ' ' +\
12472            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
12473            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
12474            'name: ' + repr(self.name) + ' ' +\
12475            'port_override: ' + repr(self.port_override) + ' ' +\
12476            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12477            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12478            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
12479            'subdomain: ' + repr(self.subdomain) + ' ' +\
12480            'tags: ' + repr(self.tags) + ' ' +\
12481            'workforce_pool_id: ' + repr(self.workforce_pool_id) + ' ' +\
12482            'workforce_provider_id: ' + repr(self.workforce_provider_id) + ' ' +\
12483            '>'
12484
12485    def to_dict(self):
12486        return {
12487            'bind_interface': self.bind_interface,
12488            'egress_filter': self.egress_filter,
12489            'healthy': self.healthy,
12490            'id': self.id,
12491            'identity_alias_healthcheck_username':
12492            self.identity_alias_healthcheck_username,
12493            'identity_set_id': self.identity_set_id,
12494            'name': self.name,
12495            'port_override': self.port_override,
12496            'proxy_cluster_id': self.proxy_cluster_id,
12497            'secret_store_id': self.secret_store_id,
12498            'session_expiry': self.session_expiry,
12499            'subdomain': self.subdomain,
12500            'tags': self.tags,
12501            'workforce_pool_id': self.workforce_pool_id,
12502            'workforce_provider_id': self.workforce_provider_id,
12503        }
12504
12505    @classmethod
12506    def from_dict(cls, d):
12507        return cls(
12508            bind_interface=d.get('bind_interface'),
12509            egress_filter=d.get('egress_filter'),
12510            healthy=d.get('healthy'),
12511            id=d.get('id'),
12512            identity_alias_healthcheck_username=d.get(
12513                'identity_alias_healthcheck_username'),
12514            identity_set_id=d.get('identity_set_id'),
12515            name=d.get('name'),
12516            port_override=d.get('port_override'),
12517            proxy_cluster_id=d.get('proxy_cluster_id'),
12518            secret_store_id=d.get('secret_store_id'),
12519            session_expiry=d.get('session_expiry'),
12520            subdomain=d.get('subdomain'),
12521            tags=d.get('tags'),
12522            workforce_pool_id=d.get('workforce_pool_id'),
12523            workforce_provider_id=d.get('workforce_provider_id'),
12524        )
GCPConsole( bind_interface=None, egress_filter=None, healthy=None, id=None, identity_alias_healthcheck_username=None, identity_set_id=None, name=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, session_expiry=None, subdomain=None, tags=None, workforce_pool_id=None, workforce_provider_id=None)
12387    def __init__(
12388        self,
12389        bind_interface=None,
12390        egress_filter=None,
12391        healthy=None,
12392        id=None,
12393        identity_alias_healthcheck_username=None,
12394        identity_set_id=None,
12395        name=None,
12396        port_override=None,
12397        proxy_cluster_id=None,
12398        secret_store_id=None,
12399        session_expiry=None,
12400        subdomain=None,
12401        tags=None,
12402        workforce_pool_id=None,
12403        workforce_provider_id=None,
12404    ):
12405        self.bind_interface = bind_interface if bind_interface is not None else ''
12406        '''
12407         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12408        '''
12409        self.egress_filter = egress_filter if egress_filter is not None else ''
12410        '''
12411         A filter applied to the routing logic to pin datasource to nodes.
12412        '''
12413        self.healthy = healthy if healthy is not None else False
12414        '''
12415         True if the datasource is reachable and the credentials are valid.
12416        '''
12417        self.id = id if id is not None else ''
12418        '''
12419         Unique identifier of the Resource.
12420        '''
12421        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
12422        '''
12423         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
12424        '''
12425        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
12426        '''
12427         The ID of the identity set to use for identity connections.
12428        '''
12429        self.name = name if name is not None else ''
12430        '''
12431         Unique human-readable name of the Resource.
12432        '''
12433        self.port_override = port_override if port_override is not None else 0
12434        '''
12435         The local port used by clients to connect to this resource.
12436        '''
12437        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12438        '''
12439         ID of the proxy cluster for this resource, if any.
12440        '''
12441        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12442        '''
12443         ID of the secret store containing credentials for this resource, if any.
12444        '''
12445        self.session_expiry = session_expiry if session_expiry is not None else 0
12446        '''
12447         The length of time in seconds console sessions will live before needing to reauthenticate.
12448        '''
12449        self.subdomain = subdomain if subdomain is not None else ''
12450        '''
12451         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12452        '''
12453        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12454        '''
12455         Tags is a map of key, value pairs.
12456        '''
12457        self.workforce_pool_id = workforce_pool_id if workforce_pool_id is not None else ''
12458        '''
12459         The ID of the Workforce Identity Pool in GCP to use for federated authentication.
12460        '''
12461        self.workforce_provider_id = workforce_provider_id if workforce_provider_id is not None else ''
12462        '''
12463         The ID of the Workforce Identity Provider in GCP to use for federated authentication.
12464        '''
bind_interface

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

egress_filter

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

healthy

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

id

Unique identifier of the Resource.

identity_alias_healthcheck_username

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

identity_set_id

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

name

Unique human-readable name of the Resource.

port_override

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

proxy_cluster_id

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

secret_store_id

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

session_expiry

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

subdomain

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

tags

Tags is a map of key, value pairs.

workforce_pool_id

The ID of the Workforce Identity Pool in GCP to use for federated authentication.

workforce_provider_id

The ID of the Workforce Identity Provider in GCP to use for federated authentication.

def to_dict(self)
12485    def to_dict(self):
12486        return {
12487            'bind_interface': self.bind_interface,
12488            'egress_filter': self.egress_filter,
12489            'healthy': self.healthy,
12490            'id': self.id,
12491            'identity_alias_healthcheck_username':
12492            self.identity_alias_healthcheck_username,
12493            'identity_set_id': self.identity_set_id,
12494            'name': self.name,
12495            'port_override': self.port_override,
12496            'proxy_cluster_id': self.proxy_cluster_id,
12497            'secret_store_id': self.secret_store_id,
12498            'session_expiry': self.session_expiry,
12499            'subdomain': self.subdomain,
12500            'tags': self.tags,
12501            'workforce_pool_id': self.workforce_pool_id,
12502            'workforce_provider_id': self.workforce_provider_id,
12503        }
@classmethod
def from_dict(cls, d)
12505    @classmethod
12506    def from_dict(cls, d):
12507        return cls(
12508            bind_interface=d.get('bind_interface'),
12509            egress_filter=d.get('egress_filter'),
12510            healthy=d.get('healthy'),
12511            id=d.get('id'),
12512            identity_alias_healthcheck_username=d.get(
12513                'identity_alias_healthcheck_username'),
12514            identity_set_id=d.get('identity_set_id'),
12515            name=d.get('name'),
12516            port_override=d.get('port_override'),
12517            proxy_cluster_id=d.get('proxy_cluster_id'),
12518            secret_store_id=d.get('secret_store_id'),
12519            session_expiry=d.get('session_expiry'),
12520            subdomain=d.get('subdomain'),
12521            tags=d.get('tags'),
12522            workforce_pool_id=d.get('workforce_pool_id'),
12523            workforce_provider_id=d.get('workforce_provider_id'),
12524        )
class GCPStore:
12527class GCPStore:
12528    __slots__ = [
12529        'id',
12530        'name',
12531        'projectid',
12532        'tags',
12533    ]
12534
12535    def __init__(
12536        self,
12537        id=None,
12538        name=None,
12539        projectid=None,
12540        tags=None,
12541    ):
12542        self.id = id if id is not None else ''
12543        '''
12544         Unique identifier of the SecretStore.
12545        '''
12546        self.name = name if name is not None else ''
12547        '''
12548         Unique human-readable name of the SecretStore.
12549        '''
12550        self.projectid = projectid if projectid is not None else ''
12551        '''
12552         The GCP project ID to target.
12553        '''
12554        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12555        '''
12556         Tags is a map of key, value pairs.
12557        '''
12558
12559    def __repr__(self):
12560        return '<sdm.GCPStore ' + \
12561            'id: ' + repr(self.id) + ' ' +\
12562            'name: ' + repr(self.name) + ' ' +\
12563            'projectid: ' + repr(self.projectid) + ' ' +\
12564            'tags: ' + repr(self.tags) + ' ' +\
12565            '>'
12566
12567    def to_dict(self):
12568        return {
12569            'id': self.id,
12570            'name': self.name,
12571            'projectid': self.projectid,
12572            'tags': self.tags,
12573        }
12574
12575    @classmethod
12576    def from_dict(cls, d):
12577        return cls(
12578            id=d.get('id'),
12579            name=d.get('name'),
12580            projectid=d.get('projectid'),
12581            tags=d.get('tags'),
12582        )
GCPStore(id=None, name=None, projectid=None, tags=None)
12535    def __init__(
12536        self,
12537        id=None,
12538        name=None,
12539        projectid=None,
12540        tags=None,
12541    ):
12542        self.id = id if id is not None else ''
12543        '''
12544         Unique identifier of the SecretStore.
12545        '''
12546        self.name = name if name is not None else ''
12547        '''
12548         Unique human-readable name of the SecretStore.
12549        '''
12550        self.projectid = projectid if projectid is not None else ''
12551        '''
12552         The GCP project ID to target.
12553        '''
12554        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12555        '''
12556         Tags is a map of key, value pairs.
12557        '''
id

Unique identifier of the SecretStore.

name

Unique human-readable name of the SecretStore.

projectid

The GCP project ID to target.

tags

Tags is a map of key, value pairs.

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

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

egress_filter

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

healthy

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

id

Unique identifier of the Resource.

identity_alias_healthcheck_username

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

identity_set_id

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

name

Unique human-readable name of the Resource.

port_override

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

project_id

When specified, all project scoped requests will use this Project ID, overriding the project ID specified by clients

proxy_cluster_id

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

scopes

Space separated scopes that this login should assume into when authenticating.

secret_store_id

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

session_expiry

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

subdomain

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

tags

Tags is a map of key, value pairs.

workforce_pool_id

The ID of the Workforce Identity Pool in GCP to use for federated authentication.

workforce_provider_id

The ID of the Workforce Identity Provider in GCP to use for federated authentication.

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

Gateway represents a StrongDM CLI installation running in gateway mode.

Gateway( bind_address=None, device=None, gateway_filter=None, id=None, listen_address=None, location=None, maintenance_windows=None, name=None, state=None, tags=None, version=None)
12780    def __init__(
12781        self,
12782        bind_address=None,
12783        device=None,
12784        gateway_filter=None,
12785        id=None,
12786        listen_address=None,
12787        location=None,
12788        maintenance_windows=None,
12789        name=None,
12790        state=None,
12791        tags=None,
12792        version=None,
12793    ):
12794        self.bind_address = bind_address if bind_address is not None else ''
12795        '''
12796         The hostname/port tuple which the gateway daemon will bind to.
12797         If not provided on create, set to "0.0.0.0:listen_address_port".
12798        '''
12799        self.device = device if device is not None else ''
12800        '''
12801         Device is a read only device name uploaded by the gateway process when
12802         it comes online.
12803        '''
12804        self.gateway_filter = gateway_filter if gateway_filter is not None else ''
12805        '''
12806         GatewayFilter can be used to restrict the peering between relays and
12807         gateways. Deprecated.
12808        '''
12809        self.id = id if id is not None else ''
12810        '''
12811         Unique identifier of the Gateway.
12812        '''
12813        self.listen_address = listen_address if listen_address is not None else ''
12814        '''
12815         The public hostname/port tuple at which the gateway will be accessible to clients.
12816        '''
12817        self.location = location if location is not None else ''
12818        '''
12819         Location is a read only network location uploaded by the gateway process
12820         when it comes online.
12821        '''
12822        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
12823        '''
12824         Maintenance Windows define when this node is allowed to restart. If a node
12825         is requested to restart, it will check each window to determine if any of
12826         them permit it to restart, and if any do, it will. This check is repeated
12827         per window until the restart is successfully completed.
12828         
12829         If not set here, may be set on the command line or via an environment variable
12830         on the process itself; any server setting will take precedence over local
12831         settings. This setting is ineffective for nodes below version 38.44.0.
12832         
12833         If this setting is not applied via this remote configuration or via local
12834         configuration, the default setting is used: always allow restarts if serving
12835         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
12836        '''
12837        self.name = name if name is not None else ''
12838        '''
12839         Unique human-readable name of the Gateway. Node names must include only letters, numbers, and hyphens (no spaces, underscores, or other special characters). Generated if not provided on create.
12840        '''
12841        self.state = state if state is not None else ''
12842        '''
12843         The current state of the gateway. One of: "new", "verifying_restart",
12844         "restarting", "started", "stopped", "dead", "unknown"
12845        '''
12846        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12847        '''
12848         Tags is a map of key, value pairs.
12849        '''
12850        self.version = version if version is not None else ''
12851        '''
12852         Version is a read only sdm binary version uploaded by the gateway process
12853         when it comes online.
12854        '''
bind_address

The hostname/port tuple which the gateway daemon will bind to. If not provided on create, set to "0.0.0.0:listen_address_port".

device

Device is a read only device name uploaded by the gateway process when it comes online.

gateway_filter

GatewayFilter can be used to restrict the peering between relays and gateways. Deprecated.

id

Unique identifier of the Gateway.

listen_address

The public hostname/port tuple at which the gateway will be accessible to clients.

location

Location is a read only network location uploaded by the gateway process when it comes online.

maintenance_windows

Maintenance Windows define when this node is allowed to restart. If a node is requested to restart, it will check each window to determine if any of them permit it to restart, and if any do, it will. This check is repeated per window until the restart is successfully completed.

If not set here, may be set on the command line or via an environment variable on the process itself; any server setting will take precedence over local settings. This setting is ineffective for nodes below version 38.44.0.

If this setting is not applied via this remote configuration or via local configuration, the default setting is used: always allow restarts if serving no connections, and allow a restart even if serving connections between 7-8 UTC, any day.

name

Unique human-readable name of the Gateway. Node names must include only letters, numbers, and hyphens (no spaces, underscores, or other special characters). Generated if not provided on create.

state

The current state of the gateway. One of: "new", "verifying_restart", "restarting", "started", "stopped", "dead", "unknown"

tags

Tags is a map of key, value pairs.

version

Version is a read only sdm binary version uploaded by the gateway process when it comes online.

def to_dict(self)
12871    def to_dict(self):
12872        return {
12873            'bind_address': self.bind_address,
12874            'device': self.device,
12875            'gateway_filter': self.gateway_filter,
12876            'id': self.id,
12877            'listen_address': self.listen_address,
12878            'location': self.location,
12879            'maintenance_windows': self.maintenance_windows,
12880            'name': self.name,
12881            'state': self.state,
12882            'tags': self.tags,
12883            'version': self.version,
12884        }
@classmethod
def from_dict(cls, d)
12886    @classmethod
12887    def from_dict(cls, d):
12888        return cls(
12889            bind_address=d.get('bind_address'),
12890            device=d.get('device'),
12891            gateway_filter=d.get('gateway_filter'),
12892            id=d.get('id'),
12893            listen_address=d.get('listen_address'),
12894            location=d.get('location'),
12895            maintenance_windows=d.get('maintenance_windows'),
12896            name=d.get('name'),
12897            state=d.get('state'),
12898            tags=d.get('tags'),
12899            version=d.get('version'),
12900        )
class GenerateKeysRequest:
12903class GenerateKeysRequest:
12904    __slots__ = [
12905        'secret_engine_id',
12906    ]
12907
12908    def __init__(
12909        self,
12910        secret_engine_id=None,
12911    ):
12912        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
12913        '''
12914         required
12915        '''
12916
12917    def __repr__(self):
12918        return '<sdm.GenerateKeysRequest ' + \
12919            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
12920            '>'
12921
12922    def to_dict(self):
12923        return {
12924            'secret_engine_id': self.secret_engine_id,
12925        }
12926
12927    @classmethod
12928    def from_dict(cls, d):
12929        return cls(secret_engine_id=d.get('secret_engine_id'), )
GenerateKeysRequest(secret_engine_id=None)
12908    def __init__(
12909        self,
12910        secret_engine_id=None,
12911    ):
12912        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
12913        '''
12914         required
12915        '''
secret_engine_id

required

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

Rate limit information.

def to_dict(self)
12951    def to_dict(self):
12952        return {
12953            'rate_limit': self.rate_limit,
12954        }
@classmethod
def from_dict(cls, d)
12956    @classmethod
12957    def from_dict(cls, d):
12958        return cls(rate_limit=d.get('rate_limit'), )
class GenericResponseMetadata:
12961class GenericResponseMetadata:
12962    '''
12963         GenericResponseMetadata contains common headers for generic request
12964     responses.
12965    '''
12966    __slots__ = []
12967
12968    def __init__(self, ):
12969        pass
12970
12971    def __repr__(self):
12972        return '<sdm.GenericResponseMetadata ' + \
12973            '>'
12974
12975    def to_dict(self):
12976        return {}
12977
12978    @classmethod
12979    def from_dict(cls, d):
12980        return cls()

GenericResponseMetadata contains common headers for generic request responses.

GenericResponseMetadata()
12968    def __init__(self, ):
12969        pass
def to_dict(self)
12975    def to_dict(self):
12976        return {}
@classmethod
def from_dict(cls, d)
12978    @classmethod
12979    def from_dict(cls, d):
12980        return cls()
class GetResponseMetadata:
12983class GetResponseMetadata:
12984    '''
12985         GetResponseMetadata is reserved for future use.
12986    '''
12987    __slots__ = []
12988
12989    def __init__(self, ):
12990        pass
12991
12992    def __repr__(self):
12993        return '<sdm.GetResponseMetadata ' + \
12994            '>'
12995
12996    def to_dict(self):
12997        return {}
12998
12999    @classmethod
13000    def from_dict(cls, d):
13001        return cls()

GetResponseMetadata is reserved for future use.

GetResponseMetadata()
12989    def __init__(self, ):
12990        pass
def to_dict(self)
12996    def to_dict(self):
12997        return {}
@classmethod
def from_dict(cls, d)
12999    @classmethod
13000    def from_dict(cls, d):
13001        return cls()
class GoogleGKE:
13004class GoogleGKE:
13005    __slots__ = [
13006        'allow_resource_role_bypass',
13007        'bind_interface',
13008        'certificate_authority',
13009        'discovery_enabled',
13010        'discovery_username',
13011        'egress_filter',
13012        'endpoint',
13013        'healthcheck_namespace',
13014        'healthy',
13015        'id',
13016        'identity_alias_healthcheck_username',
13017        'identity_set_id',
13018        'name',
13019        'port_override',
13020        'proxy_cluster_id',
13021        'secret_store_id',
13022        'service_account_key',
13023        'subdomain',
13024        'tags',
13025    ]
13026
13027    def __init__(
13028        self,
13029        allow_resource_role_bypass=None,
13030        bind_interface=None,
13031        certificate_authority=None,
13032        discovery_enabled=None,
13033        discovery_username=None,
13034        egress_filter=None,
13035        endpoint=None,
13036        healthcheck_namespace=None,
13037        healthy=None,
13038        id=None,
13039        identity_alias_healthcheck_username=None,
13040        identity_set_id=None,
13041        name=None,
13042        port_override=None,
13043        proxy_cluster_id=None,
13044        secret_store_id=None,
13045        service_account_key=None,
13046        subdomain=None,
13047        tags=None,
13048    ):
13049        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
13050        '''
13051         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
13052         when a resource role is not provided.
13053        '''
13054        self.bind_interface = bind_interface if bind_interface is not None else ''
13055        '''
13056         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13057        '''
13058        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
13059        '''
13060         The CA to authenticate TLS connections with.
13061        '''
13062        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
13063        '''
13064         If true, configures discovery of a cluster to be run from a node.
13065        '''
13066        self.discovery_username = discovery_username if discovery_username is not None else ''
13067        '''
13068         If a cluster is configured for user impersonation, this is the user to impersonate when
13069         running discovery.
13070        '''
13071        self.egress_filter = egress_filter if egress_filter is not None else ''
13072        '''
13073         A filter applied to the routing logic to pin datasource to nodes.
13074        '''
13075        self.endpoint = endpoint if endpoint is not None else ''
13076        '''
13077         The endpoint to dial.
13078        '''
13079        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
13080        '''
13081         The path used to check the health of your connection.  Defaults to `default`.
13082        '''
13083        self.healthy = healthy if healthy is not None else False
13084        '''
13085         True if the datasource is reachable and the credentials are valid.
13086        '''
13087        self.id = id if id is not None else ''
13088        '''
13089         Unique identifier of the Resource.
13090        '''
13091        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
13092        '''
13093         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
13094        '''
13095        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
13096        '''
13097         The ID of the identity set to use for identity connections.
13098        '''
13099        self.name = name if name is not None else ''
13100        '''
13101         Unique human-readable name of the Resource.
13102        '''
13103        self.port_override = port_override if port_override is not None else 0
13104        '''
13105         The local port used by clients to connect to this resource.
13106        '''
13107        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13108        '''
13109         ID of the proxy cluster for this resource, if any.
13110        '''
13111        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13112        '''
13113         ID of the secret store containing credentials for this resource, if any.
13114        '''
13115        self.service_account_key = service_account_key if service_account_key is not None else ''
13116        '''
13117         The service account key to authenticate with.
13118        '''
13119        self.subdomain = subdomain if subdomain is not None else ''
13120        '''
13121         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13122        '''
13123        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13124        '''
13125         Tags is a map of key, value pairs.
13126        '''
13127
13128    def __repr__(self):
13129        return '<sdm.GoogleGKE ' + \
13130            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
13131            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13132            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
13133            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
13134            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
13135            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13136            'endpoint: ' + repr(self.endpoint) + ' ' +\
13137            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
13138            'healthy: ' + repr(self.healthy) + ' ' +\
13139            'id: ' + repr(self.id) + ' ' +\
13140            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
13141            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
13142            'name: ' + repr(self.name) + ' ' +\
13143            'port_override: ' + repr(self.port_override) + ' ' +\
13144            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13145            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13146            'service_account_key: ' + repr(self.service_account_key) + ' ' +\
13147            'subdomain: ' + repr(self.subdomain) + ' ' +\
13148            'tags: ' + repr(self.tags) + ' ' +\
13149            '>'
13150
13151    def to_dict(self):
13152        return {
13153            'allow_resource_role_bypass': self.allow_resource_role_bypass,
13154            'bind_interface': self.bind_interface,
13155            'certificate_authority': self.certificate_authority,
13156            'discovery_enabled': self.discovery_enabled,
13157            'discovery_username': self.discovery_username,
13158            'egress_filter': self.egress_filter,
13159            'endpoint': self.endpoint,
13160            'healthcheck_namespace': self.healthcheck_namespace,
13161            'healthy': self.healthy,
13162            'id': self.id,
13163            'identity_alias_healthcheck_username':
13164            self.identity_alias_healthcheck_username,
13165            'identity_set_id': self.identity_set_id,
13166            'name': self.name,
13167            'port_override': self.port_override,
13168            'proxy_cluster_id': self.proxy_cluster_id,
13169            'secret_store_id': self.secret_store_id,
13170            'service_account_key': self.service_account_key,
13171            'subdomain': self.subdomain,
13172            'tags': self.tags,
13173        }
13174
13175    @classmethod
13176    def from_dict(cls, d):
13177        return cls(
13178            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
13179            bind_interface=d.get('bind_interface'),
13180            certificate_authority=d.get('certificate_authority'),
13181            discovery_enabled=d.get('discovery_enabled'),
13182            discovery_username=d.get('discovery_username'),
13183            egress_filter=d.get('egress_filter'),
13184            endpoint=d.get('endpoint'),
13185            healthcheck_namespace=d.get('healthcheck_namespace'),
13186            healthy=d.get('healthy'),
13187            id=d.get('id'),
13188            identity_alias_healthcheck_username=d.get(
13189                'identity_alias_healthcheck_username'),
13190            identity_set_id=d.get('identity_set_id'),
13191            name=d.get('name'),
13192            port_override=d.get('port_override'),
13193            proxy_cluster_id=d.get('proxy_cluster_id'),
13194            secret_store_id=d.get('secret_store_id'),
13195            service_account_key=d.get('service_account_key'),
13196            subdomain=d.get('subdomain'),
13197            tags=d.get('tags'),
13198        )
GoogleGKE( allow_resource_role_bypass=None, bind_interface=None, certificate_authority=None, discovery_enabled=None, discovery_username=None, egress_filter=None, endpoint=None, healthcheck_namespace=None, healthy=None, id=None, identity_alias_healthcheck_username=None, identity_set_id=None, name=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, service_account_key=None, subdomain=None, tags=None)
13027    def __init__(
13028        self,
13029        allow_resource_role_bypass=None,
13030        bind_interface=None,
13031        certificate_authority=None,
13032        discovery_enabled=None,
13033        discovery_username=None,
13034        egress_filter=None,
13035        endpoint=None,
13036        healthcheck_namespace=None,
13037        healthy=None,
13038        id=None,
13039        identity_alias_healthcheck_username=None,
13040        identity_set_id=None,
13041        name=None,
13042        port_override=None,
13043        proxy_cluster_id=None,
13044        secret_store_id=None,
13045        service_account_key=None,
13046        subdomain=None,
13047        tags=None,
13048    ):
13049        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
13050        '''
13051         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
13052         when a resource role is not provided.
13053        '''
13054        self.bind_interface = bind_interface if bind_interface is not None else ''
13055        '''
13056         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13057        '''
13058        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
13059        '''
13060         The CA to authenticate TLS connections with.
13061        '''
13062        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
13063        '''
13064         If true, configures discovery of a cluster to be run from a node.
13065        '''
13066        self.discovery_username = discovery_username if discovery_username is not None else ''
13067        '''
13068         If a cluster is configured for user impersonation, this is the user to impersonate when
13069         running discovery.
13070        '''
13071        self.egress_filter = egress_filter if egress_filter is not None else ''
13072        '''
13073         A filter applied to the routing logic to pin datasource to nodes.
13074        '''
13075        self.endpoint = endpoint if endpoint is not None else ''
13076        '''
13077         The endpoint to dial.
13078        '''
13079        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
13080        '''
13081         The path used to check the health of your connection.  Defaults to `default`.
13082        '''
13083        self.healthy = healthy if healthy is not None else False
13084        '''
13085         True if the datasource is reachable and the credentials are valid.
13086        '''
13087        self.id = id if id is not None else ''
13088        '''
13089         Unique identifier of the Resource.
13090        '''
13091        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
13092        '''
13093         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
13094        '''
13095        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
13096        '''
13097         The ID of the identity set to use for identity connections.
13098        '''
13099        self.name = name if name is not None else ''
13100        '''
13101         Unique human-readable name of the Resource.
13102        '''
13103        self.port_override = port_override if port_override is not None else 0
13104        '''
13105         The local port used by clients to connect to this resource.
13106        '''
13107        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13108        '''
13109         ID of the proxy cluster for this resource, if any.
13110        '''
13111        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13112        '''
13113         ID of the secret store containing credentials for this resource, if any.
13114        '''
13115        self.service_account_key = service_account_key if service_account_key is not None else ''
13116        '''
13117         The service account key to authenticate with.
13118        '''
13119        self.subdomain = subdomain if subdomain is not None else ''
13120        '''
13121         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13122        '''
13123        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13124        '''
13125         Tags is a map of key, value pairs.
13126        '''
allow_resource_role_bypass

If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set) when a resource role is not provided.

bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.

certificate_authority

The CA to authenticate TLS connections with.

discovery_enabled

If true, configures discovery of a cluster to be run from a node.

discovery_username

If a cluster is configured for user impersonation, this is the user to impersonate when running discovery.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

endpoint

The endpoint to dial.

healthcheck_namespace

The path used to check the health of your connection. Defaults to default.

healthy

True if the datasource is reachable and the credentials are valid.

id

Unique identifier of the Resource.

identity_alias_healthcheck_username

The username to use for healthchecks, when clients otherwise connect with their own identity alias username.

identity_set_id

The ID of the identity set to use for identity connections.

name

Unique human-readable name of the Resource.

port_override

The local port used by clients to connect to this resource.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

service_account_key

The service account key to authenticate with.

subdomain

Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)

tags

Tags is a map of key, value pairs.

def to_dict(self)
13151    def to_dict(self):
13152        return {
13153            'allow_resource_role_bypass': self.allow_resource_role_bypass,
13154            'bind_interface': self.bind_interface,
13155            'certificate_authority': self.certificate_authority,
13156            'discovery_enabled': self.discovery_enabled,
13157            'discovery_username': self.discovery_username,
13158            'egress_filter': self.egress_filter,
13159            'endpoint': self.endpoint,
13160            'healthcheck_namespace': self.healthcheck_namespace,
13161            'healthy': self.healthy,
13162            'id': self.id,
13163            'identity_alias_healthcheck_username':
13164            self.identity_alias_healthcheck_username,
13165            'identity_set_id': self.identity_set_id,
13166            'name': self.name,
13167            'port_override': self.port_override,
13168            'proxy_cluster_id': self.proxy_cluster_id,
13169            'secret_store_id': self.secret_store_id,
13170            'service_account_key': self.service_account_key,
13171            'subdomain': self.subdomain,
13172            'tags': self.tags,
13173        }
@classmethod
def from_dict(cls, d)
13175    @classmethod
13176    def from_dict(cls, d):
13177        return cls(
13178            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
13179            bind_interface=d.get('bind_interface'),
13180            certificate_authority=d.get('certificate_authority'),
13181            discovery_enabled=d.get('discovery_enabled'),
13182            discovery_username=d.get('discovery_username'),
13183            egress_filter=d.get('egress_filter'),
13184            endpoint=d.get('endpoint'),
13185            healthcheck_namespace=d.get('healthcheck_namespace'),
13186            healthy=d.get('healthy'),
13187            id=d.get('id'),
13188            identity_alias_healthcheck_username=d.get(
13189                'identity_alias_healthcheck_username'),
13190            identity_set_id=d.get('identity_set_id'),
13191            name=d.get('name'),
13192            port_override=d.get('port_override'),
13193            proxy_cluster_id=d.get('proxy_cluster_id'),
13194            secret_store_id=d.get('secret_store_id'),
13195            service_account_key=d.get('service_account_key'),
13196            subdomain=d.get('subdomain'),
13197            tags=d.get('tags'),
13198        )
class GoogleGKEUserImpersonation:
13201class GoogleGKEUserImpersonation:
13202    __slots__ = [
13203        'bind_interface',
13204        'certificate_authority',
13205        'egress_filter',
13206        'endpoint',
13207        'healthcheck_namespace',
13208        'healthy',
13209        'id',
13210        'name',
13211        'port_override',
13212        'proxy_cluster_id',
13213        'secret_store_id',
13214        'service_account_key',
13215        'subdomain',
13216        'tags',
13217    ]
13218
13219    def __init__(
13220        self,
13221        bind_interface=None,
13222        certificate_authority=None,
13223        egress_filter=None,
13224        endpoint=None,
13225        healthcheck_namespace=None,
13226        healthy=None,
13227        id=None,
13228        name=None,
13229        port_override=None,
13230        proxy_cluster_id=None,
13231        secret_store_id=None,
13232        service_account_key=None,
13233        subdomain=None,
13234        tags=None,
13235    ):
13236        self.bind_interface = bind_interface if bind_interface is not None else ''
13237        '''
13238         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13239        '''
13240        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
13241        '''
13242         The CA to authenticate TLS connections with.
13243        '''
13244        self.egress_filter = egress_filter if egress_filter is not None else ''
13245        '''
13246         A filter applied to the routing logic to pin datasource to nodes.
13247        '''
13248        self.endpoint = endpoint if endpoint is not None else ''
13249        '''
13250         The endpoint to dial.
13251        '''
13252        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
13253        '''
13254         The path used to check the health of your connection.  Defaults to `default`.
13255        '''
13256        self.healthy = healthy if healthy is not None else False
13257        '''
13258         True if the datasource is reachable and the credentials are valid.
13259        '''
13260        self.id = id if id is not None else ''
13261        '''
13262         Unique identifier of the Resource.
13263        '''
13264        self.name = name if name is not None else ''
13265        '''
13266         Unique human-readable name of the Resource.
13267        '''
13268        self.port_override = port_override if port_override is not None else 0
13269        '''
13270         The local port used by clients to connect to this resource.
13271        '''
13272        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13273        '''
13274         ID of the proxy cluster for this resource, if any.
13275        '''
13276        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13277        '''
13278         ID of the secret store containing credentials for this resource, if any.
13279        '''
13280        self.service_account_key = service_account_key if service_account_key is not None else ''
13281        '''
13282         The service account key to authenticate with.
13283        '''
13284        self.subdomain = subdomain if subdomain is not None else ''
13285        '''
13286         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13287        '''
13288        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13289        '''
13290         Tags is a map of key, value pairs.
13291        '''
13292
13293    def __repr__(self):
13294        return '<sdm.GoogleGKEUserImpersonation ' + \
13295            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13296            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
13297            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13298            'endpoint: ' + repr(self.endpoint) + ' ' +\
13299            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
13300            'healthy: ' + repr(self.healthy) + ' ' +\
13301            'id: ' + repr(self.id) + ' ' +\
13302            'name: ' + repr(self.name) + ' ' +\
13303            'port_override: ' + repr(self.port_override) + ' ' +\
13304            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13305            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13306            'service_account_key: ' + repr(self.service_account_key) + ' ' +\
13307            'subdomain: ' + repr(self.subdomain) + ' ' +\
13308            'tags: ' + repr(self.tags) + ' ' +\
13309            '>'
13310
13311    def to_dict(self):
13312        return {
13313            'bind_interface': self.bind_interface,
13314            'certificate_authority': self.certificate_authority,
13315            'egress_filter': self.egress_filter,
13316            'endpoint': self.endpoint,
13317            'healthcheck_namespace': self.healthcheck_namespace,
13318            'healthy': self.healthy,
13319            'id': self.id,
13320            'name': self.name,
13321            'port_override': self.port_override,
13322            'proxy_cluster_id': self.proxy_cluster_id,
13323            'secret_store_id': self.secret_store_id,
13324            'service_account_key': self.service_account_key,
13325            'subdomain': self.subdomain,
13326            'tags': self.tags,
13327        }
13328
13329    @classmethod
13330    def from_dict(cls, d):
13331        return cls(
13332            bind_interface=d.get('bind_interface'),
13333            certificate_authority=d.get('certificate_authority'),
13334            egress_filter=d.get('egress_filter'),
13335            endpoint=d.get('endpoint'),
13336            healthcheck_namespace=d.get('healthcheck_namespace'),
13337            healthy=d.get('healthy'),
13338            id=d.get('id'),
13339            name=d.get('name'),
13340            port_override=d.get('port_override'),
13341            proxy_cluster_id=d.get('proxy_cluster_id'),
13342            secret_store_id=d.get('secret_store_id'),
13343            service_account_key=d.get('service_account_key'),
13344            subdomain=d.get('subdomain'),
13345            tags=d.get('tags'),
13346        )
GoogleGKEUserImpersonation( bind_interface=None, certificate_authority=None, egress_filter=None, endpoint=None, healthcheck_namespace=None, healthy=None, id=None, name=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, service_account_key=None, subdomain=None, tags=None)
13219    def __init__(
13220        self,
13221        bind_interface=None,
13222        certificate_authority=None,
13223        egress_filter=None,
13224        endpoint=None,
13225        healthcheck_namespace=None,
13226        healthy=None,
13227        id=None,
13228        name=None,
13229        port_override=None,
13230        proxy_cluster_id=None,
13231        secret_store_id=None,
13232        service_account_key=None,
13233        subdomain=None,
13234        tags=None,
13235    ):
13236        self.bind_interface = bind_interface if bind_interface is not None else ''
13237        '''
13238         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13239        '''
13240        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
13241        '''
13242         The CA to authenticate TLS connections with.
13243        '''
13244        self.egress_filter = egress_filter if egress_filter is not None else ''
13245        '''
13246         A filter applied to the routing logic to pin datasource to nodes.
13247        '''
13248        self.endpoint = endpoint if endpoint is not None else ''
13249        '''
13250         The endpoint to dial.
13251        '''
13252        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
13253        '''
13254         The path used to check the health of your connection.  Defaults to `default`.
13255        '''
13256        self.healthy = healthy if healthy is not None else False
13257        '''
13258         True if the datasource is reachable and the credentials are valid.
13259        '''
13260        self.id = id if id is not None else ''
13261        '''
13262         Unique identifier of the Resource.
13263        '''
13264        self.name = name if name is not None else ''
13265        '''
13266         Unique human-readable name of the Resource.
13267        '''
13268        self.port_override = port_override if port_override is not None else 0
13269        '''
13270         The local port used by clients to connect to this resource.
13271        '''
13272        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13273        '''
13274         ID of the proxy cluster for this resource, if any.
13275        '''
13276        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13277        '''
13278         ID of the secret store containing credentials for this resource, if any.
13279        '''
13280        self.service_account_key = service_account_key if service_account_key is not None else ''
13281        '''
13282         The service account key to authenticate with.
13283        '''
13284        self.subdomain = subdomain if subdomain is not None else ''
13285        '''
13286         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13287        '''
13288        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13289        '''
13290         Tags is a map of key, value pairs.
13291        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.

certificate_authority

The CA to authenticate TLS connections with.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

endpoint

The endpoint to dial.

healthcheck_namespace

The path used to check the health of your connection. Defaults to default.

healthy

True if the datasource is reachable and the credentials are valid.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port_override

The local port used by clients to connect to this resource.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

service_account_key

The service account key to authenticate with.

subdomain

Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)

tags

Tags is a map of key, value pairs.

def to_dict(self)
13311    def to_dict(self):
13312        return {
13313            'bind_interface': self.bind_interface,
13314            'certificate_authority': self.certificate_authority,
13315            'egress_filter': self.egress_filter,
13316            'endpoint': self.endpoint,
13317            'healthcheck_namespace': self.healthcheck_namespace,
13318            'healthy': self.healthy,
13319            'id': self.id,
13320            'name': self.name,
13321            'port_override': self.port_override,
13322            'proxy_cluster_id': self.proxy_cluster_id,
13323            'secret_store_id': self.secret_store_id,
13324            'service_account_key': self.service_account_key,
13325            'subdomain': self.subdomain,
13326            'tags': self.tags,
13327        }
@classmethod
def from_dict(cls, d)
13329    @classmethod
13330    def from_dict(cls, d):
13331        return cls(
13332            bind_interface=d.get('bind_interface'),
13333            certificate_authority=d.get('certificate_authority'),
13334            egress_filter=d.get('egress_filter'),
13335            endpoint=d.get('endpoint'),
13336            healthcheck_namespace=d.get('healthcheck_namespace'),
13337            healthy=d.get('healthy'),
13338            id=d.get('id'),
13339            name=d.get('name'),
13340            port_override=d.get('port_override'),
13341            proxy_cluster_id=d.get('proxy_cluster_id'),
13342            secret_store_id=d.get('secret_store_id'),
13343            service_account_key=d.get('service_account_key'),
13344            subdomain=d.get('subdomain'),
13345            tags=d.get('tags'),
13346        )
class Greenplum:
13349class Greenplum:
13350    __slots__ = [
13351        'bind_interface',
13352        'database',
13353        'egress_filter',
13354        'healthy',
13355        'hostname',
13356        'id',
13357        'name',
13358        'override_database',
13359        'password',
13360        'port',
13361        'port_override',
13362        'proxy_cluster_id',
13363        'secret_store_id',
13364        'subdomain',
13365        'tags',
13366        'username',
13367    ]
13368
13369    def __init__(
13370        self,
13371        bind_interface=None,
13372        database=None,
13373        egress_filter=None,
13374        healthy=None,
13375        hostname=None,
13376        id=None,
13377        name=None,
13378        override_database=None,
13379        password=None,
13380        port=None,
13381        port_override=None,
13382        proxy_cluster_id=None,
13383        secret_store_id=None,
13384        subdomain=None,
13385        tags=None,
13386        username=None,
13387    ):
13388        self.bind_interface = bind_interface if bind_interface is not None else ''
13389        '''
13390         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13391        '''
13392        self.database = database if database is not None else ''
13393        '''
13394         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
13395        '''
13396        self.egress_filter = egress_filter if egress_filter is not None else ''
13397        '''
13398         A filter applied to the routing logic to pin datasource to nodes.
13399        '''
13400        self.healthy = healthy if healthy is not None else False
13401        '''
13402         True if the datasource is reachable and the credentials are valid.
13403        '''
13404        self.hostname = hostname if hostname is not None else ''
13405        '''
13406         The host to dial to initiate a connection from the egress node to this resource.
13407        '''
13408        self.id = id if id is not None else ''
13409        '''
13410         Unique identifier of the Resource.
13411        '''
13412        self.name = name if name is not None else ''
13413        '''
13414         Unique human-readable name of the Resource.
13415        '''
13416        self.override_database = override_database if override_database is not None else False
13417        '''
13418         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
13419        '''
13420        self.password = password if password is not None else ''
13421        '''
13422         The password to authenticate with.
13423        '''
13424        self.port = port if port is not None else 0
13425        '''
13426         The port to dial to initiate a connection from the egress node to this resource.
13427        '''
13428        self.port_override = port_override if port_override is not None else 0
13429        '''
13430         The local port used by clients to connect to this resource.
13431        '''
13432        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13433        '''
13434         ID of the proxy cluster for this resource, if any.
13435        '''
13436        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13437        '''
13438         ID of the secret store containing credentials for this resource, if any.
13439        '''
13440        self.subdomain = subdomain if subdomain is not None else ''
13441        '''
13442         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13443        '''
13444        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13445        '''
13446         Tags is a map of key, value pairs.
13447        '''
13448        self.username = username if username is not None else ''
13449        '''
13450         The username to authenticate with.
13451        '''
13452
13453    def __repr__(self):
13454        return '<sdm.Greenplum ' + \
13455            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13456            'database: ' + repr(self.database) + ' ' +\
13457            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13458            'healthy: ' + repr(self.healthy) + ' ' +\
13459            'hostname: ' + repr(self.hostname) + ' ' +\
13460            'id: ' + repr(self.id) + ' ' +\
13461            'name: ' + repr(self.name) + ' ' +\
13462            'override_database: ' + repr(self.override_database) + ' ' +\
13463            'password: ' + repr(self.password) + ' ' +\
13464            'port: ' + repr(self.port) + ' ' +\
13465            'port_override: ' + repr(self.port_override) + ' ' +\
13466            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13467            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13468            'subdomain: ' + repr(self.subdomain) + ' ' +\
13469            'tags: ' + repr(self.tags) + ' ' +\
13470            'username: ' + repr(self.username) + ' ' +\
13471            '>'
13472
13473    def to_dict(self):
13474        return {
13475            'bind_interface': self.bind_interface,
13476            'database': self.database,
13477            'egress_filter': self.egress_filter,
13478            'healthy': self.healthy,
13479            'hostname': self.hostname,
13480            'id': self.id,
13481            'name': self.name,
13482            'override_database': self.override_database,
13483            'password': self.password,
13484            'port': self.port,
13485            'port_override': self.port_override,
13486            'proxy_cluster_id': self.proxy_cluster_id,
13487            'secret_store_id': self.secret_store_id,
13488            'subdomain': self.subdomain,
13489            'tags': self.tags,
13490            'username': self.username,
13491        }
13492
13493    @classmethod
13494    def from_dict(cls, d):
13495        return cls(
13496            bind_interface=d.get('bind_interface'),
13497            database=d.get('database'),
13498            egress_filter=d.get('egress_filter'),
13499            healthy=d.get('healthy'),
13500            hostname=d.get('hostname'),
13501            id=d.get('id'),
13502            name=d.get('name'),
13503            override_database=d.get('override_database'),
13504            password=d.get('password'),
13505            port=d.get('port'),
13506            port_override=d.get('port_override'),
13507            proxy_cluster_id=d.get('proxy_cluster_id'),
13508            secret_store_id=d.get('secret_store_id'),
13509            subdomain=d.get('subdomain'),
13510            tags=d.get('tags'),
13511            username=d.get('username'),
13512        )
Greenplum( bind_interface=None, database=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, override_database=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, username=None)
13369    def __init__(
13370        self,
13371        bind_interface=None,
13372        database=None,
13373        egress_filter=None,
13374        healthy=None,
13375        hostname=None,
13376        id=None,
13377        name=None,
13378        override_database=None,
13379        password=None,
13380        port=None,
13381        port_override=None,
13382        proxy_cluster_id=None,
13383        secret_store_id=None,
13384        subdomain=None,
13385        tags=None,
13386        username=None,
13387    ):
13388        self.bind_interface = bind_interface if bind_interface is not None else ''
13389        '''
13390         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13391        '''
13392        self.database = database if database is not None else ''
13393        '''
13394         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
13395        '''
13396        self.egress_filter = egress_filter if egress_filter is not None else ''
13397        '''
13398         A filter applied to the routing logic to pin datasource to nodes.
13399        '''
13400        self.healthy = healthy if healthy is not None else False
13401        '''
13402         True if the datasource is reachable and the credentials are valid.
13403        '''
13404        self.hostname = hostname if hostname is not None else ''
13405        '''
13406         The host to dial to initiate a connection from the egress node to this resource.
13407        '''
13408        self.id = id if id is not None else ''
13409        '''
13410         Unique identifier of the Resource.
13411        '''
13412        self.name = name if name is not None else ''
13413        '''
13414         Unique human-readable name of the Resource.
13415        '''
13416        self.override_database = override_database if override_database is not None else False
13417        '''
13418         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
13419        '''
13420        self.password = password if password is not None else ''
13421        '''
13422         The password to authenticate with.
13423        '''
13424        self.port = port if port is not None else 0
13425        '''
13426         The port to dial to initiate a connection from the egress node to this resource.
13427        '''
13428        self.port_override = port_override if port_override is not None else 0
13429        '''
13430         The local port used by clients to connect to this resource.
13431        '''
13432        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13433        '''
13434         ID of the proxy cluster for this resource, if any.
13435        '''
13436        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13437        '''
13438         ID of the secret store containing credentials for this resource, if any.
13439        '''
13440        self.subdomain = subdomain if subdomain is not None else ''
13441        '''
13442         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13443        '''
13444        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13445        '''
13446         Tags is a map of key, value pairs.
13447        '''
13448        self.username = username if username is not None else ''
13449        '''
13450         The username to authenticate with.
13451        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.

database

The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

override_database

If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
13473    def to_dict(self):
13474        return {
13475            'bind_interface': self.bind_interface,
13476            'database': self.database,
13477            'egress_filter': self.egress_filter,
13478            'healthy': self.healthy,
13479            'hostname': self.hostname,
13480            'id': self.id,
13481            'name': self.name,
13482            'override_database': self.override_database,
13483            'password': self.password,
13484            'port': self.port,
13485            'port_override': self.port_override,
13486            'proxy_cluster_id': self.proxy_cluster_id,
13487            'secret_store_id': self.secret_store_id,
13488            'subdomain': self.subdomain,
13489            'tags': self.tags,
13490            'username': self.username,
13491        }
@classmethod
def from_dict(cls, d)
13493    @classmethod
13494    def from_dict(cls, d):
13495        return cls(
13496            bind_interface=d.get('bind_interface'),
13497            database=d.get('database'),
13498            egress_filter=d.get('egress_filter'),
13499            healthy=d.get('healthy'),
13500            hostname=d.get('hostname'),
13501            id=d.get('id'),
13502            name=d.get('name'),
13503            override_database=d.get('override_database'),
13504            password=d.get('password'),
13505            port=d.get('port'),
13506            port_override=d.get('port_override'),
13507            proxy_cluster_id=d.get('proxy_cluster_id'),
13508            secret_store_id=d.get('secret_store_id'),
13509            subdomain=d.get('subdomain'),
13510            tags=d.get('tags'),
13511            username=d.get('username'),
13512        )
class HTTPAuth:
13515class HTTPAuth:
13516    __slots__ = [
13517        'auth_header',
13518        'bind_interface',
13519        'default_path',
13520        'egress_filter',
13521        'headers_blacklist',
13522        'healthcheck_path',
13523        'healthy',
13524        'host_override',
13525        'id',
13526        'name',
13527        'port_override',
13528        'proxy_cluster_id',
13529        'secret_store_id',
13530        'subdomain',
13531        'tags',
13532        'url',
13533    ]
13534
13535    def __init__(
13536        self,
13537        auth_header=None,
13538        bind_interface=None,
13539        default_path=None,
13540        egress_filter=None,
13541        headers_blacklist=None,
13542        healthcheck_path=None,
13543        healthy=None,
13544        host_override=None,
13545        id=None,
13546        name=None,
13547        port_override=None,
13548        proxy_cluster_id=None,
13549        secret_store_id=None,
13550        subdomain=None,
13551        tags=None,
13552        url=None,
13553    ):
13554        self.auth_header = auth_header if auth_header is not None else ''
13555        '''
13556         The content to set as the authorization header.
13557        '''
13558        self.bind_interface = bind_interface if bind_interface is not None else ''
13559        '''
13560         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13561        '''
13562        self.default_path = default_path if default_path is not None else ''
13563        '''
13564         Automatically redirect to this path upon connecting.
13565        '''
13566        self.egress_filter = egress_filter if egress_filter is not None else ''
13567        '''
13568         A filter applied to the routing logic to pin datasource to nodes.
13569        '''
13570        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
13571        '''
13572         Header names (e.g. Authorization), to omit from logs.
13573        '''
13574        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
13575        '''
13576         This path will be used to check the health of your site.
13577        '''
13578        self.healthy = healthy if healthy is not None else False
13579        '''
13580         True if the datasource is reachable and the credentials are valid.
13581        '''
13582        self.host_override = host_override if host_override is not None else ''
13583        '''
13584         The host header will be overwritten with this field if provided.
13585        '''
13586        self.id = id if id is not None else ''
13587        '''
13588         Unique identifier of the Resource.
13589        '''
13590        self.name = name if name is not None else ''
13591        '''
13592         Unique human-readable name of the Resource.
13593        '''
13594        self.port_override = port_override if port_override is not None else 0
13595        '''
13596         The local port used by clients to connect to this resource.
13597        '''
13598        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13599        '''
13600         ID of the proxy cluster for this resource, if any.
13601        '''
13602        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13603        '''
13604         ID of the secret store containing credentials for this resource, if any.
13605        '''
13606        self.subdomain = subdomain if subdomain is not None else ''
13607        '''
13608         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13609        '''
13610        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13611        '''
13612         Tags is a map of key, value pairs.
13613        '''
13614        self.url = url if url is not None else ''
13615        '''
13616         The base address of your website without the path.
13617        '''
13618
13619    def __repr__(self):
13620        return '<sdm.HTTPAuth ' + \
13621            'auth_header: ' + repr(self.auth_header) + ' ' +\
13622            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13623            'default_path: ' + repr(self.default_path) + ' ' +\
13624            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13625            'headers_blacklist: ' + repr(self.headers_blacklist) + ' ' +\
13626            'healthcheck_path: ' + repr(self.healthcheck_path) + ' ' +\
13627            'healthy: ' + repr(self.healthy) + ' ' +\
13628            'host_override: ' + repr(self.host_override) + ' ' +\
13629            'id: ' + repr(self.id) + ' ' +\
13630            'name: ' + repr(self.name) + ' ' +\
13631            'port_override: ' + repr(self.port_override) + ' ' +\
13632            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13633            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13634            'subdomain: ' + repr(self.subdomain) + ' ' +\
13635            'tags: ' + repr(self.tags) + ' ' +\
13636            'url: ' + repr(self.url) + ' ' +\
13637            '>'
13638
13639    def to_dict(self):
13640        return {
13641            'auth_header': self.auth_header,
13642            'bind_interface': self.bind_interface,
13643            'default_path': self.default_path,
13644            'egress_filter': self.egress_filter,
13645            'headers_blacklist': self.headers_blacklist,
13646            'healthcheck_path': self.healthcheck_path,
13647            'healthy': self.healthy,
13648            'host_override': self.host_override,
13649            'id': self.id,
13650            'name': self.name,
13651            'port_override': self.port_override,
13652            'proxy_cluster_id': self.proxy_cluster_id,
13653            'secret_store_id': self.secret_store_id,
13654            'subdomain': self.subdomain,
13655            'tags': self.tags,
13656            'url': self.url,
13657        }
13658
13659    @classmethod
13660    def from_dict(cls, d):
13661        return cls(
13662            auth_header=d.get('auth_header'),
13663            bind_interface=d.get('bind_interface'),
13664            default_path=d.get('default_path'),
13665            egress_filter=d.get('egress_filter'),
13666            headers_blacklist=d.get('headers_blacklist'),
13667            healthcheck_path=d.get('healthcheck_path'),
13668            healthy=d.get('healthy'),
13669            host_override=d.get('host_override'),
13670            id=d.get('id'),
13671            name=d.get('name'),
13672            port_override=d.get('port_override'),
13673            proxy_cluster_id=d.get('proxy_cluster_id'),
13674            secret_store_id=d.get('secret_store_id'),
13675            subdomain=d.get('subdomain'),
13676            tags=d.get('tags'),
13677            url=d.get('url'),
13678        )
HTTPAuth( auth_header=None, bind_interface=None, default_path=None, egress_filter=None, headers_blacklist=None, healthcheck_path=None, healthy=None, host_override=None, id=None, name=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, url=None)
13535    def __init__(
13536        self,
13537        auth_header=None,
13538        bind_interface=None,
13539        default_path=None,
13540        egress_filter=None,
13541        headers_blacklist=None,
13542        healthcheck_path=None,
13543        healthy=None,
13544        host_override=None,
13545        id=None,
13546        name=None,
13547        port_override=None,
13548        proxy_cluster_id=None,
13549        secret_store_id=None,
13550        subdomain=None,
13551        tags=None,
13552        url=None,
13553    ):
13554        self.auth_header = auth_header if auth_header is not None else ''
13555        '''
13556         The content to set as the authorization header.
13557        '''
13558        self.bind_interface = bind_interface if bind_interface is not None else ''
13559        '''
13560         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13561        '''
13562        self.default_path = default_path if default_path is not None else ''
13563        '''
13564         Automatically redirect to this path upon connecting.
13565        '''
13566        self.egress_filter = egress_filter if egress_filter is not None else ''
13567        '''
13568         A filter applied to the routing logic to pin datasource to nodes.
13569        '''
13570        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
13571        '''
13572         Header names (e.g. Authorization), to omit from logs.
13573        '''
13574        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
13575        '''
13576         This path will be used to check the health of your site.
13577        '''
13578        self.healthy = healthy if healthy is not None else False
13579        '''
13580         True if the datasource is reachable and the credentials are valid.
13581        '''
13582        self.host_override = host_override if host_override is not None else ''
13583        '''
13584         The host header will be overwritten with this field if provided.
13585        '''
13586        self.id = id if id is not None else ''
13587        '''
13588         Unique identifier of the Resource.
13589        '''
13590        self.name = name if name is not None else ''
13591        '''
13592         Unique human-readable name of the Resource.
13593        '''
13594        self.port_override = port_override if port_override is not None else 0
13595        '''
13596         The local port used by clients to connect to this resource.
13597        '''
13598        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13599        '''
13600         ID of the proxy cluster for this resource, if any.
13601        '''
13602        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13603        '''
13604         ID of the secret store containing credentials for this resource, if any.
13605        '''
13606        self.subdomain = subdomain if subdomain is not None else ''
13607        '''
13608         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13609        '''
13610        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13611        '''
13612         Tags is a map of key, value pairs.
13613        '''
13614        self.url = url if url is not None else ''
13615        '''
13616         The base address of your website without the path.
13617        '''
auth_header

The content to set as the authorization header.

bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.

default_path

Automatically redirect to this path upon connecting.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

headers_blacklist

Header names (e.g. Authorization), to omit from logs.

healthcheck_path

This path will be used to check the health of your site.

healthy

True if the datasource is reachable and the credentials are valid.

host_override

The host header will be overwritten with this field if provided.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port_override

The local port used by clients to connect to this resource.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)

tags

Tags is a map of key, value pairs.

url

The base address of your website without the path.

def to_dict(self)
13639    def to_dict(self):
13640        return {
13641            'auth_header': self.auth_header,
13642            'bind_interface': self.bind_interface,
13643            'default_path': self.default_path,
13644            'egress_filter': self.egress_filter,
13645            'headers_blacklist': self.headers_blacklist,
13646            'healthcheck_path': self.healthcheck_path,
13647            'healthy': self.healthy,
13648            'host_override': self.host_override,
13649            'id': self.id,
13650            'name': self.name,
13651            'port_override': self.port_override,
13652            'proxy_cluster_id': self.proxy_cluster_id,
13653            'secret_store_id': self.secret_store_id,
13654            'subdomain': self.subdomain,
13655            'tags': self.tags,
13656            'url': self.url,
13657        }
@classmethod
def from_dict(cls, d)
13659    @classmethod
13660    def from_dict(cls, d):
13661        return cls(
13662            auth_header=d.get('auth_header'),
13663            bind_interface=d.get('bind_interface'),
13664            default_path=d.get('default_path'),
13665            egress_filter=d.get('egress_filter'),
13666            headers_blacklist=d.get('headers_blacklist'),
13667            healthcheck_path=d.get('healthcheck_path'),
13668            healthy=d.get('healthy'),
13669            host_override=d.get('host_override'),
13670            id=d.get('id'),
13671            name=d.get('name'),
13672            port_override=d.get('port_override'),
13673            proxy_cluster_id=d.get('proxy_cluster_id'),
13674            secret_store_id=d.get('secret_store_id'),
13675            subdomain=d.get('subdomain'),
13676            tags=d.get('tags'),
13677            url=d.get('url'),
13678        )
class HTTPBasicAuth:
13681class HTTPBasicAuth:
13682    __slots__ = [
13683        'bind_interface',
13684        'default_path',
13685        'egress_filter',
13686        'headers_blacklist',
13687        'healthcheck_path',
13688        'healthy',
13689        'host_override',
13690        'id',
13691        'name',
13692        'password',
13693        'port_override',
13694        'proxy_cluster_id',
13695        'secret_store_id',
13696        'subdomain',
13697        'tags',
13698        'url',
13699        'username',
13700    ]
13701
13702    def __init__(
13703        self,
13704        bind_interface=None,
13705        default_path=None,
13706        egress_filter=None,
13707        headers_blacklist=None,
13708        healthcheck_path=None,
13709        healthy=None,
13710        host_override=None,
13711        id=None,
13712        name=None,
13713        password=None,
13714        port_override=None,
13715        proxy_cluster_id=None,
13716        secret_store_id=None,
13717        subdomain=None,
13718        tags=None,
13719        url=None,
13720        username=None,
13721    ):
13722        self.bind_interface = bind_interface if bind_interface is not None else ''
13723        '''
13724         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13725        '''
13726        self.default_path = default_path if default_path is not None else ''
13727        '''
13728         Automatically redirect to this path upon connecting.
13729        '''
13730        self.egress_filter = egress_filter if egress_filter is not None else ''
13731        '''
13732         A filter applied to the routing logic to pin datasource to nodes.
13733        '''
13734        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
13735        '''
13736         Header names (e.g. Authorization), to omit from logs.
13737        '''
13738        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
13739        '''
13740         This path will be used to check the health of your site.
13741        '''
13742        self.healthy = healthy if healthy is not None else False
13743        '''
13744         True if the datasource is reachable and the credentials are valid.
13745        '''
13746        self.host_override = host_override if host_override is not None else ''
13747        '''
13748         The host header will be overwritten with this field if provided.
13749        '''
13750        self.id = id if id is not None else ''
13751        '''
13752         Unique identifier of the Resource.
13753        '''
13754        self.name = name if name is not None else ''
13755        '''
13756         Unique human-readable name of the Resource.
13757        '''
13758        self.password = password if password is not None else ''
13759        '''
13760         The password to authenticate with.
13761        '''
13762        self.port_override = port_override if port_override is not None else 0
13763        '''
13764         The local port used by clients to connect to this resource.
13765        '''
13766        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13767        '''
13768         ID of the proxy cluster for this resource, if any.
13769        '''
13770        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13771        '''
13772         ID of the secret store containing credentials for this resource, if any.
13773        '''
13774        self.subdomain = subdomain if subdomain is not None else ''
13775        '''
13776         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13777        '''
13778        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13779        '''
13780         Tags is a map of key, value pairs.
13781        '''
13782        self.url = url if url is not None else ''
13783        '''
13784         The base address of your website without the path.
13785        '''
13786        self.username = username if username is not None else ''
13787        '''
13788         The username to authenticate with.
13789        '''
13790
13791    def __repr__(self):
13792        return '<sdm.HTTPBasicAuth ' + \
13793            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13794            'default_path: ' + repr(self.default_path) + ' ' +\
13795            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13796            'headers_blacklist: ' + repr(self.headers_blacklist) + ' ' +\
13797            'healthcheck_path: ' + repr(self.healthcheck_path) + ' ' +\
13798            'healthy: ' + repr(self.healthy) + ' ' +\
13799            'host_override: ' + repr(self.host_override) + ' ' +\
13800            'id: ' + repr(self.id) + ' ' +\
13801            'name: ' + repr(self.name) + ' ' +\
13802            'password: ' + repr(self.password) + ' ' +\
13803            'port_override: ' + repr(self.port_override) + ' ' +\
13804            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13805            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13806            'subdomain: ' + repr(self.subdomain) + ' ' +\
13807            'tags: ' + repr(self.tags) + ' ' +\
13808            'url: ' + repr(self.url) + ' ' +\
13809            'username: ' + repr(self.username) + ' ' +\
13810            '>'
13811
13812    def to_dict(self):
13813        return {
13814            'bind_interface': self.bind_interface,
13815            'default_path': self.default_path,
13816            'egress_filter': self.egress_filter,
13817            'headers_blacklist': self.headers_blacklist,
13818            'healthcheck_path': self.healthcheck_path,
13819            'healthy': self.healthy,
13820            'host_override': self.host_override,
13821            'id': self.id,
13822            'name': self.name,
13823            'password': self.password,
13824            'port_override': self.port_override,
13825            'proxy_cluster_id': self.proxy_cluster_id,
13826            'secret_store_id': self.secret_store_id,
13827            'subdomain': self.subdomain,
13828            'tags': self.tags,
13829            'url': self.url,
13830            'username': self.username,
13831        }
13832
13833    @classmethod
13834    def from_dict(cls, d):
13835        return cls(
13836            bind_interface=d.get('bind_interface'),
13837            default_path=d.get('default_path'),
13838            egress_filter=d.get('egress_filter'),
13839            headers_blacklist=d.get('headers_blacklist'),
13840            healthcheck_path=d.get('healthcheck_path'),
13841            healthy=d.get('healthy'),
13842            host_override=d.get('host_override'),
13843            id=d.get('id'),
13844            name=d.get('name'),
13845            password=d.get('password'),
13846            port_override=d.get('port_override'),
13847            proxy_cluster_id=d.get('proxy_cluster_id'),
13848            secret_store_id=d.get('secret_store_id'),
13849            subdomain=d.get('subdomain'),
13850            tags=d.get('tags'),
13851            url=d.get('url'),
13852            username=d.get('username'),
13853        )
HTTPBasicAuth( bind_interface=None, default_path=None, egress_filter=None, headers_blacklist=None, healthcheck_path=None, healthy=None, host_override=None, id=None, name=None, password=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, url=None, username=None)
13702    def __init__(
13703        self,
13704        bind_interface=None,
13705        default_path=None,
13706        egress_filter=None,
13707        headers_blacklist=None,
13708        healthcheck_path=None,
13709        healthy=None,
13710        host_override=None,
13711        id=None,
13712        name=None,
13713        password=None,
13714        port_override=None,
13715        proxy_cluster_id=None,
13716        secret_store_id=None,
13717        subdomain=None,
13718        tags=None,
13719        url=None,
13720        username=None,
13721    ):
13722        self.bind_interface = bind_interface if bind_interface is not None else ''
13723        '''
13724         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13725        '''
13726        self.default_path = default_path if default_path is not None else ''
13727        '''
13728         Automatically redirect to this path upon connecting.
13729        '''
13730        self.egress_filter = egress_filter if egress_filter is not None else ''
13731        '''
13732         A filter applied to the routing logic to pin datasource to nodes.
13733        '''
13734        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
13735        '''
13736         Header names (e.g. Authorization), to omit from logs.
13737        '''
13738        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
13739        '''
13740         This path will be used to check the health of your site.
13741        '''
13742        self.healthy = healthy if healthy is not None else False
13743        '''
13744         True if the datasource is reachable and the credentials are valid.
13745        '''
13746        self.host_override = host_override if host_override is not None else ''
13747        '''
13748         The host header will be overwritten with this field if provided.
13749        '''
13750        self.id = id if id is not None else ''
13751        '''
13752         Unique identifier of the Resource.
13753        '''
13754        self.name = name if name is not None else ''
13755        '''
13756         Unique human-readable name of the Resource.
13757        '''
13758        self.password = password if password is not None else ''
13759        '''
13760         The password to authenticate with.
13761        '''
13762        self.port_override = port_override if port_override is not None else 0
13763        '''
13764         The local port used by clients to connect to this resource.
13765        '''
13766        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13767        '''
13768         ID of the proxy cluster for this resource, if any.
13769        '''
13770        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13771        '''
13772         ID of the secret store containing credentials for this resource, if any.
13773        '''
13774        self.subdomain = subdomain if subdomain is not None else ''
13775        '''
13776         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13777        '''
13778        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13779        '''
13780         Tags is a map of key, value pairs.
13781        '''
13782        self.url = url if url is not None else ''
13783        '''
13784         The base address of your website without the path.
13785        '''
13786        self.username = username if username is not None else ''
13787        '''
13788         The username to authenticate with.
13789        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.

default_path

Automatically redirect to this path upon connecting.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

headers_blacklist

Header names (e.g. Authorization), to omit from logs.

healthcheck_path

This path will be used to check the health of your site.

healthy

True if the datasource is reachable and the credentials are valid.

host_override

The host header will be overwritten with this field if provided.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port_override

The local port used by clients to connect to this resource.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)

tags

Tags is a map of key, value pairs.

url

The base address of your website without the path.

username

The username to authenticate with.

def to_dict(self)
13812    def to_dict(self):
13813        return {
13814            'bind_interface': self.bind_interface,
13815            'default_path': self.default_path,
13816            'egress_filter': self.egress_filter,
13817            'headers_blacklist': self.headers_blacklist,
13818            'healthcheck_path': self.healthcheck_path,
13819            'healthy': self.healthy,
13820            'host_override': self.host_override,
13821            'id': self.id,
13822            'name': self.name,
13823            'password': self.password,
13824            'port_override': self.port_override,
13825            'proxy_cluster_id': self.proxy_cluster_id,
13826            'secret_store_id': self.secret_store_id,
13827            'subdomain': self.subdomain,
13828            'tags': self.tags,
13829            'url': self.url,
13830            'username': self.username,
13831        }
@classmethod
def from_dict(cls, d)
13833    @classmethod
13834    def from_dict(cls, d):
13835        return cls(
13836            bind_interface=d.get('bind_interface'),
13837            default_path=d.get('default_path'),
13838            egress_filter=d.get('egress_filter'),
13839            headers_blacklist=d.get('headers_blacklist'),
13840            healthcheck_path=d.get('healthcheck_path'),
13841            healthy=d.get('healthy'),
13842            host_override=d.get('host_override'),
13843            id=d.get('id'),
13844            name=d.get('name'),
13845            password=d.get('password'),
13846            port_override=d.get('port_override'),
13847            proxy_cluster_id=d.get('proxy_cluster_id'),
13848            secret_store_id=d.get('secret_store_id'),
13849            subdomain=d.get('subdomain'),
13850            tags=d.get('tags'),
13851            url=d.get('url'),
13852            username=d.get('username'),
13853        )
class HTTPNoAuth:
13856class HTTPNoAuth:
13857    __slots__ = [
13858        'bind_interface',
13859        'default_path',
13860        'egress_filter',
13861        'headers_blacklist',
13862        'healthcheck_path',
13863        'healthy',
13864        'host_override',
13865        'id',
13866        'name',
13867        'port_override',
13868        'proxy_cluster_id',
13869        'secret_store_id',
13870        'subdomain',
13871        'tags',
13872        'url',
13873    ]
13874
13875    def __init__(
13876        self,
13877        bind_interface=None,
13878        default_path=None,
13879        egress_filter=None,
13880        headers_blacklist=None,
13881        healthcheck_path=None,
13882        healthy=None,
13883        host_override=None,
13884        id=None,
13885        name=None,
13886        port_override=None,
13887        proxy_cluster_id=None,
13888        secret_store_id=None,
13889        subdomain=None,
13890        tags=None,
13891        url=None,
13892    ):
13893        self.bind_interface = bind_interface if bind_interface is not None else ''
13894        '''
13895         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13896        '''
13897        self.default_path = default_path if default_path is not None else ''
13898        '''
13899         Automatically redirect to this path upon connecting.
13900        '''
13901        self.egress_filter = egress_filter if egress_filter is not None else ''
13902        '''
13903         A filter applied to the routing logic to pin datasource to nodes.
13904        '''
13905        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
13906        '''
13907         Header names (e.g. Authorization), to omit from logs.
13908        '''
13909        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
13910        '''
13911         This path will be used to check the health of your site.
13912        '''
13913        self.healthy = healthy if healthy is not None else False
13914        '''
13915         True if the datasource is reachable and the credentials are valid.
13916        '''
13917        self.host_override = host_override if host_override is not None else ''
13918        '''
13919         The host header will be overwritten with this field if provided.
13920        '''
13921        self.id = id if id is not None else ''
13922        '''
13923         Unique identifier of the Resource.
13924        '''
13925        self.name = name if name is not None else ''
13926        '''
13927         Unique human-readable name of the Resource.
13928        '''
13929        self.port_override = port_override if port_override is not None else 0
13930        '''
13931         The local port used by clients to connect to this resource.
13932        '''
13933        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13934        '''
13935         ID of the proxy cluster for this resource, if any.
13936        '''
13937        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13938        '''
13939         ID of the secret store containing credentials for this resource, if any.
13940        '''
13941        self.subdomain = subdomain if subdomain is not None else ''
13942        '''
13943         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13944        '''
13945        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13946        '''
13947         Tags is a map of key, value pairs.
13948        '''
13949        self.url = url if url is not None else ''
13950        '''
13951         The base address of your website without the path.
13952        '''
13953
13954    def __repr__(self):
13955        return '<sdm.HTTPNoAuth ' + \
13956            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13957            'default_path: ' + repr(self.default_path) + ' ' +\
13958            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13959            'headers_blacklist: ' + repr(self.headers_blacklist) + ' ' +\
13960            'healthcheck_path: ' + repr(self.healthcheck_path) + ' ' +\
13961            'healthy: ' + repr(self.healthy) + ' ' +\
13962            'host_override: ' + repr(self.host_override) + ' ' +\
13963            'id: ' + repr(self.id) + ' ' +\
13964            'name: ' + repr(self.name) + ' ' +\
13965            'port_override: ' + repr(self.port_override) + ' ' +\
13966            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13967            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13968            'subdomain: ' + repr(self.subdomain) + ' ' +\
13969            'tags: ' + repr(self.tags) + ' ' +\
13970            'url: ' + repr(self.url) + ' ' +\
13971            '>'
13972
13973    def to_dict(self):
13974        return {
13975            'bind_interface': self.bind_interface,
13976            'default_path': self.default_path,
13977            'egress_filter': self.egress_filter,
13978            'headers_blacklist': self.headers_blacklist,
13979            'healthcheck_path': self.healthcheck_path,
13980            'healthy': self.healthy,
13981            'host_override': self.host_override,
13982            'id': self.id,
13983            'name': self.name,
13984            'port_override': self.port_override,
13985            'proxy_cluster_id': self.proxy_cluster_id,
13986            'secret_store_id': self.secret_store_id,
13987            'subdomain': self.subdomain,
13988            'tags': self.tags,
13989            'url': self.url,
13990        }
13991
13992    @classmethod
13993    def from_dict(cls, d):
13994        return cls(
13995            bind_interface=d.get('bind_interface'),
13996            default_path=d.get('default_path'),
13997            egress_filter=d.get('egress_filter'),
13998            headers_blacklist=d.get('headers_blacklist'),
13999            healthcheck_path=d.get('healthcheck_path'),
14000            healthy=d.get('healthy'),
14001            host_override=d.get('host_override'),
14002            id=d.get('id'),
14003            name=d.get('name'),
14004            port_override=d.get('port_override'),
14005            proxy_cluster_id=d.get('proxy_cluster_id'),
14006            secret_store_id=d.get('secret_store_id'),
14007            subdomain=d.get('subdomain'),
14008            tags=d.get('tags'),
14009            url=d.get('url'),
14010        )
HTTPNoAuth( bind_interface=None, default_path=None, egress_filter=None, headers_blacklist=None, healthcheck_path=None, healthy=None, host_override=None, id=None, name=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, url=None)
13875    def __init__(
13876        self,
13877        bind_interface=None,
13878        default_path=None,
13879        egress_filter=None,
13880        headers_blacklist=None,
13881        healthcheck_path=None,
13882        healthy=None,
13883        host_override=None,
13884        id=None,
13885        name=None,
13886        port_override=None,
13887        proxy_cluster_id=None,
13888        secret_store_id=None,
13889        subdomain=None,
13890        tags=None,
13891        url=None,
13892    ):
13893        self.bind_interface = bind_interface if bind_interface is not None else ''
13894        '''
13895         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13896        '''
13897        self.default_path = default_path if default_path is not None else ''
13898        '''
13899         Automatically redirect to this path upon connecting.
13900        '''
13901        self.egress_filter = egress_filter if egress_filter is not None else ''
13902        '''
13903         A filter applied to the routing logic to pin datasource to nodes.
13904        '''
13905        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
13906        '''
13907         Header names (e.g. Authorization), to omit from logs.
13908        '''
13909        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
13910        '''
13911         This path will be used to check the health of your site.
13912        '''
13913        self.healthy = healthy if healthy is not None else False
13914        '''
13915         True if the datasource is reachable and the credentials are valid.
13916        '''
13917        self.host_override = host_override if host_override is not None else ''
13918        '''
13919         The host header will be overwritten with this field if provided.
13920        '''
13921        self.id = id if id is not None else ''
13922        '''
13923         Unique identifier of the Resource.
13924        '''
13925        self.name = name if name is not None else ''
13926        '''
13927         Unique human-readable name of the Resource.
13928        '''
13929        self.port_override = port_override if port_override is not None else 0
13930        '''
13931         The local port used by clients to connect to this resource.
13932        '''
13933        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13934        '''
13935         ID of the proxy cluster for this resource, if any.
13936        '''
13937        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13938        '''
13939         ID of the secret store containing credentials for this resource, if any.
13940        '''
13941        self.subdomain = subdomain if subdomain is not None else ''
13942        '''
13943         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13944        '''
13945        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13946        '''
13947         Tags is a map of key, value pairs.
13948        '''
13949        self.url = url if url is not None else ''
13950        '''
13951         The base address of your website without the path.
13952        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.

default_path

Automatically redirect to this path upon connecting.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

headers_blacklist

Header names (e.g. Authorization), to omit from logs.

healthcheck_path

This path will be used to check the health of your site.

healthy

True if the datasource is reachable and the credentials are valid.

host_override

The host header will be overwritten with this field if provided.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port_override

The local port used by clients to connect to this resource.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)

tags

Tags is a map of key, value pairs.

url

The base address of your website without the path.

def to_dict(self)
13973    def to_dict(self):
13974        return {
13975            'bind_interface': self.bind_interface,
13976            'default_path': self.default_path,
13977            'egress_filter': self.egress_filter,
13978            'headers_blacklist': self.headers_blacklist,
13979            'healthcheck_path': self.healthcheck_path,
13980            'healthy': self.healthy,
13981            'host_override': self.host_override,
13982            'id': self.id,
13983            'name': self.name,
13984            'port_override': self.port_override,
13985            'proxy_cluster_id': self.proxy_cluster_id,
13986            'secret_store_id': self.secret_store_id,
13987            'subdomain': self.subdomain,
13988            'tags': self.tags,
13989            'url': self.url,
13990        }
@classmethod
def from_dict(cls, d)
13992    @classmethod
13993    def from_dict(cls, d):
13994        return cls(
13995            bind_interface=d.get('bind_interface'),
13996            default_path=d.get('default_path'),
13997            egress_filter=d.get('egress_filter'),
13998            headers_blacklist=d.get('headers_blacklist'),
13999            healthcheck_path=d.get('healthcheck_path'),
14000            healthy=d.get('healthy'),
14001            host_override=d.get('host_override'),
14002            id=d.get('id'),
14003            name=d.get('name'),
14004            port_override=d.get('port_override'),
14005            proxy_cluster_id=d.get('proxy_cluster_id'),
14006            secret_store_id=d.get('secret_store_id'),
14007            subdomain=d.get('subdomain'),
14008            tags=d.get('tags'),
14009            url=d.get('url'),
14010        )
class Healthcheck:
14013class Healthcheck:
14014    '''
14015         Healthcheck defines the status of the link between a node and a resource
14016    '''
14017    __slots__ = [
14018        'error_msg',
14019        'healthy',
14020        'id',
14021        'node_id',
14022        'node_name',
14023        'resource_id',
14024        'resource_name',
14025        'timestamp',
14026    ]
14027
14028    def __init__(
14029        self,
14030        error_msg=None,
14031        healthy=None,
14032        id=None,
14033        node_id=None,
14034        node_name=None,
14035        resource_id=None,
14036        resource_name=None,
14037        timestamp=None,
14038    ):
14039        self.error_msg = error_msg if error_msg is not None else ''
14040        '''
14041         The error if unhealthy
14042        '''
14043        self.healthy = healthy if healthy is not None else False
14044        '''
14045         Whether the healthcheck succeeded.
14046        '''
14047        self.id = id if id is not None else ''
14048        '''
14049         Unique identifier of the healthcheck.
14050        '''
14051        self.node_id = node_id if node_id is not None else ''
14052        '''
14053         Unique identifier of the healthcheck node.
14054        '''
14055        self.node_name = node_name if node_name is not None else ''
14056        '''
14057         The name of the node.
14058        '''
14059        self.resource_id = resource_id if resource_id is not None else ''
14060        '''
14061         Unique identifier of the healthcheck resource.
14062        '''
14063        self.resource_name = resource_name if resource_name is not None else ''
14064        '''
14065         The name of the resource.
14066        '''
14067        self.timestamp = timestamp if timestamp is not None else None
14068        '''
14069         The time at which the healthcheck state was recorded.
14070        '''
14071
14072    def __repr__(self):
14073        return '<sdm.Healthcheck ' + \
14074            'error_msg: ' + repr(self.error_msg) + ' ' +\
14075            'healthy: ' + repr(self.healthy) + ' ' +\
14076            'id: ' + repr(self.id) + ' ' +\
14077            'node_id: ' + repr(self.node_id) + ' ' +\
14078            'node_name: ' + repr(self.node_name) + ' ' +\
14079            'resource_id: ' + repr(self.resource_id) + ' ' +\
14080            'resource_name: ' + repr(self.resource_name) + ' ' +\
14081            'timestamp: ' + repr(self.timestamp) + ' ' +\
14082            '>'
14083
14084    def to_dict(self):
14085        return {
14086            'error_msg': self.error_msg,
14087            'healthy': self.healthy,
14088            'id': self.id,
14089            'node_id': self.node_id,
14090            'node_name': self.node_name,
14091            'resource_id': self.resource_id,
14092            'resource_name': self.resource_name,
14093            'timestamp': self.timestamp,
14094        }
14095
14096    @classmethod
14097    def from_dict(cls, d):
14098        return cls(
14099            error_msg=d.get('error_msg'),
14100            healthy=d.get('healthy'),
14101            id=d.get('id'),
14102            node_id=d.get('node_id'),
14103            node_name=d.get('node_name'),
14104            resource_id=d.get('resource_id'),
14105            resource_name=d.get('resource_name'),
14106            timestamp=d.get('timestamp'),
14107        )

Healthcheck defines the status of the link between a node and a resource

Healthcheck( error_msg=None, healthy=None, id=None, node_id=None, node_name=None, resource_id=None, resource_name=None, timestamp=None)
14028    def __init__(
14029        self,
14030        error_msg=None,
14031        healthy=None,
14032        id=None,
14033        node_id=None,
14034        node_name=None,
14035        resource_id=None,
14036        resource_name=None,
14037        timestamp=None,
14038    ):
14039        self.error_msg = error_msg if error_msg is not None else ''
14040        '''
14041         The error if unhealthy
14042        '''
14043        self.healthy = healthy if healthy is not None else False
14044        '''
14045         Whether the healthcheck succeeded.
14046        '''
14047        self.id = id if id is not None else ''
14048        '''
14049         Unique identifier of the healthcheck.
14050        '''
14051        self.node_id = node_id if node_id is not None else ''
14052        '''
14053         Unique identifier of the healthcheck node.
14054        '''
14055        self.node_name = node_name if node_name is not None else ''
14056        '''
14057         The name of the node.
14058        '''
14059        self.resource_id = resource_id if resource_id is not None else ''
14060        '''
14061         Unique identifier of the healthcheck resource.
14062        '''
14063        self.resource_name = resource_name if resource_name is not None else ''
14064        '''
14065         The name of the resource.
14066        '''
14067        self.timestamp = timestamp if timestamp is not None else None
14068        '''
14069         The time at which the healthcheck state was recorded.
14070        '''
error_msg

The error if unhealthy

healthy

Whether the healthcheck succeeded.

id

Unique identifier of the healthcheck.

node_id

Unique identifier of the healthcheck node.

node_name

The name of the node.

resource_id

Unique identifier of the healthcheck resource.

resource_name

The name of the resource.

timestamp

The time at which the healthcheck state was recorded.

def to_dict(self)
14084    def to_dict(self):
14085        return {
14086            'error_msg': self.error_msg,
14087            'healthy': self.healthy,
14088            'id': self.id,
14089            'node_id': self.node_id,
14090            'node_name': self.node_name,
14091            'resource_id': self.resource_id,
14092            'resource_name': self.resource_name,
14093            'timestamp': self.timestamp,
14094        }
@classmethod
def from_dict(cls, d)
14096    @classmethod
14097    def from_dict(cls, d):
14098        return cls(
14099            error_msg=d.get('error_msg'),
14100            healthy=d.get('healthy'),
14101            id=d.get('id'),
14102            node_id=d.get('node_id'),
14103            node_name=d.get('node_name'),
14104            resource_id=d.get('resource_id'),
14105            resource_name=d.get('resource_name'),
14106            timestamp=d.get('timestamp'),
14107        )
class HealthcheckListResponse:
14110class HealthcheckListResponse:
14111    '''
14112         HealthcheckListResponse returns a list of Healthchecks that meet the criteria of a
14113     HealthcheckListRequest.
14114    '''
14115    __slots__ = [
14116        'rate_limit',
14117    ]
14118
14119    def __init__(
14120        self,
14121        rate_limit=None,
14122    ):
14123        self.rate_limit = rate_limit if rate_limit is not None else None
14124        '''
14125         Rate limit information.
14126        '''
14127
14128    def __repr__(self):
14129        return '<sdm.HealthcheckListResponse ' + \
14130            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14131            '>'
14132
14133    def to_dict(self):
14134        return {
14135            'rate_limit': self.rate_limit,
14136        }
14137
14138    @classmethod
14139    def from_dict(cls, d):
14140        return cls(rate_limit=d.get('rate_limit'), )

HealthcheckListResponse returns a list of Healthchecks that meet the criteria of a HealthcheckListRequest.

HealthcheckListResponse(rate_limit=None)
14119    def __init__(
14120        self,
14121        rate_limit=None,
14122    ):
14123        self.rate_limit = rate_limit if rate_limit is not None else None
14124        '''
14125         Rate limit information.
14126        '''
rate_limit

Rate limit information.

def to_dict(self)
14133    def to_dict(self):
14134        return {
14135            'rate_limit': self.rate_limit,
14136        }
@classmethod
def from_dict(cls, d)
14138    @classmethod
14139    def from_dict(cls, d):
14140        return cls(rate_limit=d.get('rate_limit'), )
class HealthcheckRequest:
14143class HealthcheckRequest:
14144    __slots__ = [
14145        'secret_engine_id',
14146    ]
14147
14148    def __init__(
14149        self,
14150        secret_engine_id=None,
14151    ):
14152        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
14153        '''
14154         required
14155        '''
14156
14157    def __repr__(self):
14158        return '<sdm.HealthcheckRequest ' + \
14159            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
14160            '>'
14161
14162    def to_dict(self):
14163        return {
14164            'secret_engine_id': self.secret_engine_id,
14165        }
14166
14167    @classmethod
14168    def from_dict(cls, d):
14169        return cls(secret_engine_id=d.get('secret_engine_id'), )
HealthcheckRequest(secret_engine_id=None)
14148    def __init__(
14149        self,
14150        secret_engine_id=None,
14151    ):
14152        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
14153        '''
14154         required
14155        '''
secret_engine_id

required

def to_dict(self)
14162    def to_dict(self):
14163        return {
14164            'secret_engine_id': self.secret_engine_id,
14165        }
@classmethod
def from_dict(cls, d)
14167    @classmethod
14168    def from_dict(cls, d):
14169        return cls(secret_engine_id=d.get('secret_engine_id'), )
class HealthcheckResponse:
14172class HealthcheckResponse:
14173    __slots__ = [
14174        'rate_limit',
14175        'status',
14176    ]
14177
14178    def __init__(
14179        self,
14180        rate_limit=None,
14181        status=None,
14182    ):
14183        self.rate_limit = rate_limit if rate_limit is not None else None
14184        '''
14185         Rate limit information.
14186        '''
14187        self.status = status if status is not None else []
14188        '''
14189         Array of statuses of all nodes serving a secret engine
14190        '''
14191
14192    def __repr__(self):
14193        return '<sdm.HealthcheckResponse ' + \
14194            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14195            'status: ' + repr(self.status) + ' ' +\
14196            '>'
14197
14198    def to_dict(self):
14199        return {
14200            'rate_limit': self.rate_limit,
14201            'status': self.status,
14202        }
14203
14204    @classmethod
14205    def from_dict(cls, d):
14206        return cls(
14207            rate_limit=d.get('rate_limit'),
14208            status=d.get('status'),
14209        )
HealthcheckResponse(rate_limit=None, status=None)
14178    def __init__(
14179        self,
14180        rate_limit=None,
14181        status=None,
14182    ):
14183        self.rate_limit = rate_limit if rate_limit is not None else None
14184        '''
14185         Rate limit information.
14186        '''
14187        self.status = status if status is not None else []
14188        '''
14189         Array of statuses of all nodes serving a secret engine
14190        '''
rate_limit

Rate limit information.

status

Array of statuses of all nodes serving a secret engine

def to_dict(self)
14198    def to_dict(self):
14199        return {
14200            'rate_limit': self.rate_limit,
14201            'status': self.status,
14202        }
@classmethod
def from_dict(cls, d)
14204    @classmethod
14205    def from_dict(cls, d):
14206        return cls(
14207            rate_limit=d.get('rate_limit'),
14208            status=d.get('status'),
14209        )
class HealthcheckStatus:
14212class HealthcheckStatus:
14213    '''
14214         HealthcheckStatus contains status of a node health
14215    '''
14216    __slots__ = [
14217        'node_id',
14218        'status',
14219    ]
14220
14221    def __init__(
14222        self,
14223        node_id=None,
14224        status=None,
14225    ):
14226        self.node_id = node_id if node_id is not None else ''
14227        '''
14228         ID of node
14229        '''
14230        self.status = status if status is not None else ''
14231        '''
14232         Status of node's health
14233        '''
14234
14235    def __repr__(self):
14236        return '<sdm.HealthcheckStatus ' + \
14237            'node_id: ' + repr(self.node_id) + ' ' +\
14238            'status: ' + repr(self.status) + ' ' +\
14239            '>'
14240
14241    def to_dict(self):
14242        return {
14243            'node_id': self.node_id,
14244            'status': self.status,
14245        }
14246
14247    @classmethod
14248    def from_dict(cls, d):
14249        return cls(
14250            node_id=d.get('node_id'),
14251            status=d.get('status'),
14252        )

HealthcheckStatus contains status of a node health

HealthcheckStatus(node_id=None, status=None)
14221    def __init__(
14222        self,
14223        node_id=None,
14224        status=None,
14225    ):
14226        self.node_id = node_id if node_id is not None else ''
14227        '''
14228         ID of node
14229        '''
14230        self.status = status if status is not None else ''
14231        '''
14232         Status of node's health
14233        '''
node_id

ID of node

status

Status of node's health

def to_dict(self)
14241    def to_dict(self):
14242        return {
14243            'node_id': self.node_id,
14244            'status': self.status,
14245        }
@classmethod
def from_dict(cls, d)
14247    @classmethod
14248    def from_dict(cls, d):
14249        return cls(
14250            node_id=d.get('node_id'),
14251            status=d.get('status'),
14252        )
class IdentityAlias:
14255class IdentityAlias:
14256    '''
14257         IdentityAliases define the username to be used for a specific account
14258     when connecting to a remote resource using that identity set.
14259    '''
14260    __slots__ = [
14261        'account_id',
14262        'id',
14263        'identity_set_id',
14264        'username',
14265    ]
14266
14267    def __init__(
14268        self,
14269        account_id=None,
14270        id=None,
14271        identity_set_id=None,
14272        username=None,
14273    ):
14274        self.account_id = account_id if account_id is not None else ''
14275        '''
14276         The account for this identity alias.
14277        '''
14278        self.id = id if id is not None else ''
14279        '''
14280         Unique identifier of the IdentityAlias.
14281        '''
14282        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
14283        '''
14284         The identity set.
14285        '''
14286        self.username = username if username is not None else ''
14287        '''
14288         The username to be used as the identity alias for this account.
14289        '''
14290
14291    def __repr__(self):
14292        return '<sdm.IdentityAlias ' + \
14293            'account_id: ' + repr(self.account_id) + ' ' +\
14294            'id: ' + repr(self.id) + ' ' +\
14295            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
14296            'username: ' + repr(self.username) + ' ' +\
14297            '>'
14298
14299    def to_dict(self):
14300        return {
14301            'account_id': self.account_id,
14302            'id': self.id,
14303            'identity_set_id': self.identity_set_id,
14304            'username': self.username,
14305        }
14306
14307    @classmethod
14308    def from_dict(cls, d):
14309        return cls(
14310            account_id=d.get('account_id'),
14311            id=d.get('id'),
14312            identity_set_id=d.get('identity_set_id'),
14313            username=d.get('username'),
14314        )

IdentityAliases define the username to be used for a specific account when connecting to a remote resource using that identity set.

IdentityAlias(account_id=None, id=None, identity_set_id=None, username=None)
14267    def __init__(
14268        self,
14269        account_id=None,
14270        id=None,
14271        identity_set_id=None,
14272        username=None,
14273    ):
14274        self.account_id = account_id if account_id is not None else ''
14275        '''
14276         The account for this identity alias.
14277        '''
14278        self.id = id if id is not None else ''
14279        '''
14280         Unique identifier of the IdentityAlias.
14281        '''
14282        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
14283        '''
14284         The identity set.
14285        '''
14286        self.username = username if username is not None else ''
14287        '''
14288         The username to be used as the identity alias for this account.
14289        '''
account_id

The account for this identity alias.

id

Unique identifier of the IdentityAlias.

identity_set_id

The identity set.

username

The username to be used as the identity alias for this account.

def to_dict(self)
14299    def to_dict(self):
14300        return {
14301            'account_id': self.account_id,
14302            'id': self.id,
14303            'identity_set_id': self.identity_set_id,
14304            'username': self.username,
14305        }
@classmethod
def from_dict(cls, d)
14307    @classmethod
14308    def from_dict(cls, d):
14309        return cls(
14310            account_id=d.get('account_id'),
14311            id=d.get('id'),
14312            identity_set_id=d.get('identity_set_id'),
14313            username=d.get('username'),
14314        )
class IdentityAliasCreateResponse:
14317class IdentityAliasCreateResponse:
14318    '''
14319         IdentityAliasCreateResponse reports how the IdentityAliases were created in the system.
14320    '''
14321    __slots__ = [
14322        'identity_alias',
14323        'meta',
14324        'rate_limit',
14325    ]
14326
14327    def __init__(
14328        self,
14329        identity_alias=None,
14330        meta=None,
14331        rate_limit=None,
14332    ):
14333        self.identity_alias = identity_alias if identity_alias is not None else None
14334        '''
14335         The created IdentityAlias.
14336        '''
14337        self.meta = meta if meta is not None else None
14338        '''
14339         Reserved for future use.
14340        '''
14341        self.rate_limit = rate_limit if rate_limit is not None else None
14342        '''
14343         Rate limit information.
14344        '''
14345
14346    def __repr__(self):
14347        return '<sdm.IdentityAliasCreateResponse ' + \
14348            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
14349            'meta: ' + repr(self.meta) + ' ' +\
14350            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14351            '>'
14352
14353    def to_dict(self):
14354        return {
14355            'identity_alias': self.identity_alias,
14356            'meta': self.meta,
14357            'rate_limit': self.rate_limit,
14358        }
14359
14360    @classmethod
14361    def from_dict(cls, d):
14362        return cls(
14363            identity_alias=d.get('identity_alias'),
14364            meta=d.get('meta'),
14365            rate_limit=d.get('rate_limit'),
14366        )

IdentityAliasCreateResponse reports how the IdentityAliases were created in the system.

IdentityAliasCreateResponse(identity_alias=None, meta=None, rate_limit=None)
14327    def __init__(
14328        self,
14329        identity_alias=None,
14330        meta=None,
14331        rate_limit=None,
14332    ):
14333        self.identity_alias = identity_alias if identity_alias is not None else None
14334        '''
14335         The created IdentityAlias.
14336        '''
14337        self.meta = meta if meta is not None else None
14338        '''
14339         Reserved for future use.
14340        '''
14341        self.rate_limit = rate_limit if rate_limit is not None else None
14342        '''
14343         Rate limit information.
14344        '''
identity_alias

The created IdentityAlias.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
14353    def to_dict(self):
14354        return {
14355            'identity_alias': self.identity_alias,
14356            'meta': self.meta,
14357            'rate_limit': self.rate_limit,
14358        }
@classmethod
def from_dict(cls, d)
14360    @classmethod
14361    def from_dict(cls, d):
14362        return cls(
14363            identity_alias=d.get('identity_alias'),
14364            meta=d.get('meta'),
14365            rate_limit=d.get('rate_limit'),
14366        )
class IdentityAliasDeleteResponse:
14369class IdentityAliasDeleteResponse:
14370    '''
14371         IdentityAliasDeleteResponse returns information about a IdentityAlias that was deleted.
14372    '''
14373    __slots__ = [
14374        'meta',
14375        'rate_limit',
14376    ]
14377
14378    def __init__(
14379        self,
14380        meta=None,
14381        rate_limit=None,
14382    ):
14383        self.meta = meta if meta is not None else None
14384        '''
14385         Reserved for future use.
14386        '''
14387        self.rate_limit = rate_limit if rate_limit is not None else None
14388        '''
14389         Rate limit information.
14390        '''
14391
14392    def __repr__(self):
14393        return '<sdm.IdentityAliasDeleteResponse ' + \
14394            'meta: ' + repr(self.meta) + ' ' +\
14395            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14396            '>'
14397
14398    def to_dict(self):
14399        return {
14400            'meta': self.meta,
14401            'rate_limit': self.rate_limit,
14402        }
14403
14404    @classmethod
14405    def from_dict(cls, d):
14406        return cls(
14407            meta=d.get('meta'),
14408            rate_limit=d.get('rate_limit'),
14409        )

IdentityAliasDeleteResponse returns information about a IdentityAlias that was deleted.

IdentityAliasDeleteResponse(meta=None, rate_limit=None)
14378    def __init__(
14379        self,
14380        meta=None,
14381        rate_limit=None,
14382    ):
14383        self.meta = meta if meta is not None else None
14384        '''
14385         Reserved for future use.
14386        '''
14387        self.rate_limit = rate_limit if rate_limit is not None else None
14388        '''
14389         Rate limit information.
14390        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
14398    def to_dict(self):
14399        return {
14400            'meta': self.meta,
14401            'rate_limit': self.rate_limit,
14402        }
@classmethod
def from_dict(cls, d)
14404    @classmethod
14405    def from_dict(cls, d):
14406        return cls(
14407            meta=d.get('meta'),
14408            rate_limit=d.get('rate_limit'),
14409        )
class IdentityAliasGetResponse:
14412class IdentityAliasGetResponse:
14413    '''
14414         IdentityAliasGetResponse returns a requested IdentityAlias.
14415    '''
14416    __slots__ = [
14417        'identity_alias',
14418        'meta',
14419        'rate_limit',
14420    ]
14421
14422    def __init__(
14423        self,
14424        identity_alias=None,
14425        meta=None,
14426        rate_limit=None,
14427    ):
14428        self.identity_alias = identity_alias if identity_alias is not None else None
14429        '''
14430         The requested IdentityAlias.
14431        '''
14432        self.meta = meta if meta is not None else None
14433        '''
14434         Reserved for future use.
14435        '''
14436        self.rate_limit = rate_limit if rate_limit is not None else None
14437        '''
14438         Rate limit information.
14439        '''
14440
14441    def __repr__(self):
14442        return '<sdm.IdentityAliasGetResponse ' + \
14443            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
14444            'meta: ' + repr(self.meta) + ' ' +\
14445            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14446            '>'
14447
14448    def to_dict(self):
14449        return {
14450            'identity_alias': self.identity_alias,
14451            'meta': self.meta,
14452            'rate_limit': self.rate_limit,
14453        }
14454
14455    @classmethod
14456    def from_dict(cls, d):
14457        return cls(
14458            identity_alias=d.get('identity_alias'),
14459            meta=d.get('meta'),
14460            rate_limit=d.get('rate_limit'),
14461        )

IdentityAliasGetResponse returns a requested IdentityAlias.

IdentityAliasGetResponse(identity_alias=None, meta=None, rate_limit=None)
14422    def __init__(
14423        self,
14424        identity_alias=None,
14425        meta=None,
14426        rate_limit=None,
14427    ):
14428        self.identity_alias = identity_alias if identity_alias is not None else None
14429        '''
14430         The requested IdentityAlias.
14431        '''
14432        self.meta = meta if meta is not None else None
14433        '''
14434         Reserved for future use.
14435        '''
14436        self.rate_limit = rate_limit if rate_limit is not None else None
14437        '''
14438         Rate limit information.
14439        '''
identity_alias

The requested IdentityAlias.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
14448    def to_dict(self):
14449        return {
14450            'identity_alias': self.identity_alias,
14451            'meta': self.meta,
14452            'rate_limit': self.rate_limit,
14453        }
@classmethod
def from_dict(cls, d)
14455    @classmethod
14456    def from_dict(cls, d):
14457        return cls(
14458            identity_alias=d.get('identity_alias'),
14459            meta=d.get('meta'),
14460            rate_limit=d.get('rate_limit'),
14461        )
class IdentityAliasHistory:
14464class IdentityAliasHistory:
14465    '''
14466         IdentityAliasHistory records the state of a IdentityAlias at a given point in time,
14467     where every change (create, update and delete) to a IdentityAlias produces an
14468     IdentityAliasHistory record.
14469    '''
14470    __slots__ = [
14471        'activity_id',
14472        'deleted_at',
14473        'identity_alias',
14474        'timestamp',
14475    ]
14476
14477    def __init__(
14478        self,
14479        activity_id=None,
14480        deleted_at=None,
14481        identity_alias=None,
14482        timestamp=None,
14483    ):
14484        self.activity_id = activity_id if activity_id is not None else ''
14485        '''
14486         The unique identifier of the Activity that produced this change to the IdentityAlias.
14487         May be empty for some system-initiated updates.
14488        '''
14489        self.deleted_at = deleted_at if deleted_at is not None else None
14490        '''
14491         If this IdentityAlias was deleted, the time it was deleted.
14492        '''
14493        self.identity_alias = identity_alias if identity_alias is not None else None
14494        '''
14495         The complete IdentityAlias state at this time.
14496        '''
14497        self.timestamp = timestamp if timestamp is not None else None
14498        '''
14499         The time at which the IdentityAlias state was recorded.
14500        '''
14501
14502    def __repr__(self):
14503        return '<sdm.IdentityAliasHistory ' + \
14504            'activity_id: ' + repr(self.activity_id) + ' ' +\
14505            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
14506            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
14507            'timestamp: ' + repr(self.timestamp) + ' ' +\
14508            '>'
14509
14510    def to_dict(self):
14511        return {
14512            'activity_id': self.activity_id,
14513            'deleted_at': self.deleted_at,
14514            'identity_alias': self.identity_alias,
14515            'timestamp': self.timestamp,
14516        }
14517
14518    @classmethod
14519    def from_dict(cls, d):
14520        return cls(
14521            activity_id=d.get('activity_id'),
14522            deleted_at=d.get('deleted_at'),
14523            identity_alias=d.get('identity_alias'),
14524            timestamp=d.get('timestamp'),
14525        )

IdentityAliasHistory records the state of a IdentityAlias at a given point in time, where every change (create, update and delete) to a IdentityAlias produces an IdentityAliasHistory record.

IdentityAliasHistory( activity_id=None, deleted_at=None, identity_alias=None, timestamp=None)
14477    def __init__(
14478        self,
14479        activity_id=None,
14480        deleted_at=None,
14481        identity_alias=None,
14482        timestamp=None,
14483    ):
14484        self.activity_id = activity_id if activity_id is not None else ''
14485        '''
14486         The unique identifier of the Activity that produced this change to the IdentityAlias.
14487         May be empty for some system-initiated updates.
14488        '''
14489        self.deleted_at = deleted_at if deleted_at is not None else None
14490        '''
14491         If this IdentityAlias was deleted, the time it was deleted.
14492        '''
14493        self.identity_alias = identity_alias if identity_alias is not None else None
14494        '''
14495         The complete IdentityAlias state at this time.
14496        '''
14497        self.timestamp = timestamp if timestamp is not None else None
14498        '''
14499         The time at which the IdentityAlias state was recorded.
14500        '''
activity_id

The unique identifier of the Activity that produced this change to the IdentityAlias. May be empty for some system-initiated updates.

deleted_at

If this IdentityAlias was deleted, the time it was deleted.

identity_alias

The complete IdentityAlias state at this time.

timestamp

The time at which the IdentityAlias state was recorded.

def to_dict(self)
14510    def to_dict(self):
14511        return {
14512            'activity_id': self.activity_id,
14513            'deleted_at': self.deleted_at,
14514            'identity_alias': self.identity_alias,
14515            'timestamp': self.timestamp,
14516        }
@classmethod
def from_dict(cls, d)
14518    @classmethod
14519    def from_dict(cls, d):
14520        return cls(
14521            activity_id=d.get('activity_id'),
14522            deleted_at=d.get('deleted_at'),
14523            identity_alias=d.get('identity_alias'),
14524            timestamp=d.get('timestamp'),
14525        )
class IdentityAliasUpdateResponse:
14528class IdentityAliasUpdateResponse:
14529    '''
14530         IdentityAliasUpdateResponse returns the fields of a IdentityAlias after it has been updated by
14531     a IdentityAliasUpdateRequest.
14532    '''
14533    __slots__ = [
14534        'identity_alias',
14535        'meta',
14536        'rate_limit',
14537    ]
14538
14539    def __init__(
14540        self,
14541        identity_alias=None,
14542        meta=None,
14543        rate_limit=None,
14544    ):
14545        self.identity_alias = identity_alias if identity_alias is not None else None
14546        '''
14547         The updated IdentityAlias.
14548        '''
14549        self.meta = meta if meta is not None else None
14550        '''
14551         Reserved for future use.
14552        '''
14553        self.rate_limit = rate_limit if rate_limit is not None else None
14554        '''
14555         Rate limit information.
14556        '''
14557
14558    def __repr__(self):
14559        return '<sdm.IdentityAliasUpdateResponse ' + \
14560            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
14561            'meta: ' + repr(self.meta) + ' ' +\
14562            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14563            '>'
14564
14565    def to_dict(self):
14566        return {
14567            'identity_alias': self.identity_alias,
14568            'meta': self.meta,
14569            'rate_limit': self.rate_limit,
14570        }
14571
14572    @classmethod
14573    def from_dict(cls, d):
14574        return cls(
14575            identity_alias=d.get('identity_alias'),
14576            meta=d.get('meta'),
14577            rate_limit=d.get('rate_limit'),
14578        )

IdentityAliasUpdateResponse returns the fields of a IdentityAlias after it has been updated by a IdentityAliasUpdateRequest.

IdentityAliasUpdateResponse(identity_alias=None, meta=None, rate_limit=None)
14539    def __init__(
14540        self,
14541        identity_alias=None,
14542        meta=None,
14543        rate_limit=None,
14544    ):
14545        self.identity_alias = identity_alias if identity_alias is not None else None
14546        '''
14547         The updated IdentityAlias.
14548        '''
14549        self.meta = meta if meta is not None else None
14550        '''
14551         Reserved for future use.
14552        '''
14553        self.rate_limit = rate_limit if rate_limit is not None else None
14554        '''
14555         Rate limit information.
14556        '''
identity_alias

The updated IdentityAlias.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
14565    def to_dict(self):
14566        return {
14567            'identity_alias': self.identity_alias,
14568            'meta': self.meta,
14569            'rate_limit': self.rate_limit,
14570        }
@classmethod
def from_dict(cls, d)
14572    @classmethod
14573    def from_dict(cls, d):
14574        return cls(
14575            identity_alias=d.get('identity_alias'),
14576            meta=d.get('meta'),
14577            rate_limit=d.get('rate_limit'),
14578        )
class IdentitySet:
14581class IdentitySet:
14582    '''
14583         A IdentitySet defines a group of identity aliases.
14584    '''
14585    __slots__ = [
14586        'id',
14587        'name',
14588    ]
14589
14590    def __init__(
14591        self,
14592        id=None,
14593        name=None,
14594    ):
14595        self.id = id if id is not None else ''
14596        '''
14597         Unique identifier of the IdentitySet.
14598        '''
14599        self.name = name if name is not None else ''
14600        '''
14601         Unique human-readable name of the IdentitySet.
14602        '''
14603
14604    def __repr__(self):
14605        return '<sdm.IdentitySet ' + \
14606            'id: ' + repr(self.id) + ' ' +\
14607            'name: ' + repr(self.name) + ' ' +\
14608            '>'
14609
14610    def to_dict(self):
14611        return {
14612            'id': self.id,
14613            'name': self.name,
14614        }
14615
14616    @classmethod
14617    def from_dict(cls, d):
14618        return cls(
14619            id=d.get('id'),
14620            name=d.get('name'),
14621        )

A IdentitySet defines a group of identity aliases.

IdentitySet(id=None, name=None)
14590    def __init__(
14591        self,
14592        id=None,
14593        name=None,
14594    ):
14595        self.id = id if id is not None else ''
14596        '''
14597         Unique identifier of the IdentitySet.
14598        '''
14599        self.name = name if name is not None else ''
14600        '''
14601         Unique human-readable name of the IdentitySet.
14602        '''
id

Unique identifier of the IdentitySet.

name

Unique human-readable name of the IdentitySet.

def to_dict(self)
14610    def to_dict(self):
14611        return {
14612            'id': self.id,
14613            'name': self.name,
14614        }
@classmethod
def from_dict(cls, d)
14616    @classmethod
14617    def from_dict(cls, d):
14618        return cls(
14619            id=d.get('id'),
14620            name=d.get('name'),
14621        )
class IdentitySetCreateResponse:
14624class IdentitySetCreateResponse:
14625    '''
14626         IdentitySetCreateResponse reports how the IdentitySets were created in the system. It can
14627     communicate partial successes or failures.
14628    '''
14629    __slots__ = [
14630        'identity_set',
14631        'meta',
14632        'rate_limit',
14633    ]
14634
14635    def __init__(
14636        self,
14637        identity_set=None,
14638        meta=None,
14639        rate_limit=None,
14640    ):
14641        self.identity_set = identity_set if identity_set is not None else None
14642        '''
14643         The created IdentitySet.
14644        '''
14645        self.meta = meta if meta is not None else None
14646        '''
14647         Reserved for future use.
14648        '''
14649        self.rate_limit = rate_limit if rate_limit is not None else None
14650        '''
14651         Rate limit information.
14652        '''
14653
14654    def __repr__(self):
14655        return '<sdm.IdentitySetCreateResponse ' + \
14656            'identity_set: ' + repr(self.identity_set) + ' ' +\
14657            'meta: ' + repr(self.meta) + ' ' +\
14658            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14659            '>'
14660
14661    def to_dict(self):
14662        return {
14663            'identity_set': self.identity_set,
14664            'meta': self.meta,
14665            'rate_limit': self.rate_limit,
14666        }
14667
14668    @classmethod
14669    def from_dict(cls, d):
14670        return cls(
14671            identity_set=d.get('identity_set'),
14672            meta=d.get('meta'),
14673            rate_limit=d.get('rate_limit'),
14674        )

IdentitySetCreateResponse reports how the IdentitySets were created in the system. It can communicate partial successes or failures.

IdentitySetCreateResponse(identity_set=None, meta=None, rate_limit=None)
14635    def __init__(
14636        self,
14637        identity_set=None,
14638        meta=None,
14639        rate_limit=None,
14640    ):
14641        self.identity_set = identity_set if identity_set is not None else None
14642        '''
14643         The created IdentitySet.
14644        '''
14645        self.meta = meta if meta is not None else None
14646        '''
14647         Reserved for future use.
14648        '''
14649        self.rate_limit = rate_limit if rate_limit is not None else None
14650        '''
14651         Rate limit information.
14652        '''
identity_set

The created IdentitySet.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
14661    def to_dict(self):
14662        return {
14663            'identity_set': self.identity_set,
14664            'meta': self.meta,
14665            'rate_limit': self.rate_limit,
14666        }
@classmethod
def from_dict(cls, d)
14668    @classmethod
14669    def from_dict(cls, d):
14670        return cls(
14671            identity_set=d.get('identity_set'),
14672            meta=d.get('meta'),
14673            rate_limit=d.get('rate_limit'),
14674        )
class IdentitySetDeleteResponse:
14677class IdentitySetDeleteResponse:
14678    '''
14679         IdentitySetDeleteResponse returns information about a IdentitySet that was deleted.
14680    '''
14681    __slots__ = [
14682        'meta',
14683        'rate_limit',
14684    ]
14685
14686    def __init__(
14687        self,
14688        meta=None,
14689        rate_limit=None,
14690    ):
14691        self.meta = meta if meta is not None else None
14692        '''
14693         Reserved for future use.
14694        '''
14695        self.rate_limit = rate_limit if rate_limit is not None else None
14696        '''
14697         Rate limit information.
14698        '''
14699
14700    def __repr__(self):
14701        return '<sdm.IdentitySetDeleteResponse ' + \
14702            'meta: ' + repr(self.meta) + ' ' +\
14703            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14704            '>'
14705
14706    def to_dict(self):
14707        return {
14708            'meta': self.meta,
14709            'rate_limit': self.rate_limit,
14710        }
14711
14712    @classmethod
14713    def from_dict(cls, d):
14714        return cls(
14715            meta=d.get('meta'),
14716            rate_limit=d.get('rate_limit'),
14717        )

IdentitySetDeleteResponse returns information about a IdentitySet that was deleted.

IdentitySetDeleteResponse(meta=None, rate_limit=None)
14686    def __init__(
14687        self,
14688        meta=None,
14689        rate_limit=None,
14690    ):
14691        self.meta = meta if meta is not None else None
14692        '''
14693         Reserved for future use.
14694        '''
14695        self.rate_limit = rate_limit if rate_limit is not None else None
14696        '''
14697         Rate limit information.
14698        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
14706    def to_dict(self):
14707        return {
14708            'meta': self.meta,
14709            'rate_limit': self.rate_limit,
14710        }
@classmethod
def from_dict(cls, d)
14712    @classmethod
14713    def from_dict(cls, d):
14714        return cls(
14715            meta=d.get('meta'),
14716            rate_limit=d.get('rate_limit'),
14717        )
class IdentitySetGetResponse:
14720class IdentitySetGetResponse:
14721    '''
14722         IdentitySetGetResponse returns a requested IdentitySet.
14723    '''
14724    __slots__ = [
14725        'identity_set',
14726        'meta',
14727        'rate_limit',
14728    ]
14729
14730    def __init__(
14731        self,
14732        identity_set=None,
14733        meta=None,
14734        rate_limit=None,
14735    ):
14736        self.identity_set = identity_set if identity_set is not None else None
14737        '''
14738         The requested IdentitySet.
14739        '''
14740        self.meta = meta if meta is not None else None
14741        '''
14742         Reserved for future use.
14743        '''
14744        self.rate_limit = rate_limit if rate_limit is not None else None
14745        '''
14746         Rate limit information.
14747        '''
14748
14749    def __repr__(self):
14750        return '<sdm.IdentitySetGetResponse ' + \
14751            'identity_set: ' + repr(self.identity_set) + ' ' +\
14752            'meta: ' + repr(self.meta) + ' ' +\
14753            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14754            '>'
14755
14756    def to_dict(self):
14757        return {
14758            'identity_set': self.identity_set,
14759            'meta': self.meta,
14760            'rate_limit': self.rate_limit,
14761        }
14762
14763    @classmethod
14764    def from_dict(cls, d):
14765        return cls(
14766            identity_set=d.get('identity_set'),
14767            meta=d.get('meta'),
14768            rate_limit=d.get('rate_limit'),
14769        )

IdentitySetGetResponse returns a requested IdentitySet.

IdentitySetGetResponse(identity_set=None, meta=None, rate_limit=None)
14730    def __init__(
14731        self,
14732        identity_set=None,
14733        meta=None,
14734        rate_limit=None,
14735    ):
14736        self.identity_set = identity_set if identity_set is not None else None
14737        '''
14738         The requested IdentitySet.
14739        '''
14740        self.meta = meta if meta is not None else None
14741        '''
14742         Reserved for future use.
14743        '''
14744        self.rate_limit = rate_limit if rate_limit is not None else None
14745        '''
14746         Rate limit information.
14747        '''
identity_set

The requested IdentitySet.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
14756    def to_dict(self):
14757        return {
14758            'identity_set': self.identity_set,
14759            'meta': self.meta,
14760            'rate_limit': self.rate_limit,
14761        }
@classmethod
def from_dict(cls, d)
14763    @classmethod
14764    def from_dict(cls, d):
14765        return cls(
14766            identity_set=d.get('identity_set'),
14767            meta=d.get('meta'),
14768            rate_limit=d.get('rate_limit'),
14769        )
class IdentitySetHistory:
14772class IdentitySetHistory:
14773    '''
14774         IdentitySetHistory records the state of a IdentitySet at a given point in time,
14775     where every change (create, update and delete) to a IdentitySet produces an
14776     IdentitySetHistory record.
14777    '''
14778    __slots__ = [
14779        'activity_id',
14780        'deleted_at',
14781        'identity_set',
14782        'timestamp',
14783    ]
14784
14785    def __init__(
14786        self,
14787        activity_id=None,
14788        deleted_at=None,
14789        identity_set=None,
14790        timestamp=None,
14791    ):
14792        self.activity_id = activity_id if activity_id is not None else ''
14793        '''
14794         The unique identifier of the Activity that produced this change to the IdentitySet.
14795         May be empty for some system-initiated updates.
14796        '''
14797        self.deleted_at = deleted_at if deleted_at is not None else None
14798        '''
14799         If this IdentitySet was deleted, the time it was deleted.
14800        '''
14801        self.identity_set = identity_set if identity_set is not None else None
14802        '''
14803         The complete IdentitySet state at this time.
14804        '''
14805        self.timestamp = timestamp if timestamp is not None else None
14806        '''
14807         The time at which the IdentitySet state was recorded.
14808        '''
14809
14810    def __repr__(self):
14811        return '<sdm.IdentitySetHistory ' + \
14812            'activity_id: ' + repr(self.activity_id) + ' ' +\
14813            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
14814            'identity_set: ' + repr(self.identity_set) + ' ' +\
14815            'timestamp: ' + repr(self.timestamp) + ' ' +\
14816            '>'
14817
14818    def to_dict(self):
14819        return {
14820            'activity_id': self.activity_id,
14821            'deleted_at': self.deleted_at,
14822            'identity_set': self.identity_set,
14823            'timestamp': self.timestamp,
14824        }
14825
14826    @classmethod
14827    def from_dict(cls, d):
14828        return cls(
14829            activity_id=d.get('activity_id'),
14830            deleted_at=d.get('deleted_at'),
14831            identity_set=d.get('identity_set'),
14832            timestamp=d.get('timestamp'),
14833        )

IdentitySetHistory records the state of a IdentitySet at a given point in time, where every change (create, update and delete) to a IdentitySet produces an IdentitySetHistory record.

IdentitySetHistory(activity_id=None, deleted_at=None, identity_set=None, timestamp=None)
14785    def __init__(
14786        self,
14787        activity_id=None,
14788        deleted_at=None,
14789        identity_set=None,
14790        timestamp=None,
14791    ):
14792        self.activity_id = activity_id if activity_id is not None else ''
14793        '''
14794         The unique identifier of the Activity that produced this change to the IdentitySet.
14795         May be empty for some system-initiated updates.
14796        '''
14797        self.deleted_at = deleted_at if deleted_at is not None else None
14798        '''
14799         If this IdentitySet was deleted, the time it was deleted.
14800        '''
14801        self.identity_set = identity_set if identity_set is not None else None
14802        '''
14803         The complete IdentitySet state at this time.
14804        '''
14805        self.timestamp = timestamp if timestamp is not None else None
14806        '''
14807         The time at which the IdentitySet state was recorded.
14808        '''
activity_id

The unique identifier of the Activity that produced this change to the IdentitySet. May be empty for some system-initiated updates.

deleted_at

If this IdentitySet was deleted, the time it was deleted.

identity_set

The complete IdentitySet state at this time.

timestamp

The time at which the IdentitySet state was recorded.

def to_dict(self)
14818    def to_dict(self):
14819        return {
14820            'activity_id': self.activity_id,
14821            'deleted_at': self.deleted_at,
14822            'identity_set': self.identity_set,
14823            'timestamp': self.timestamp,
14824        }
@classmethod
def from_dict(cls, d)
14826    @classmethod
14827    def from_dict(cls, d):
14828        return cls(
14829            activity_id=d.get('activity_id'),
14830            deleted_at=d.get('deleted_at'),
14831            identity_set=d.get('identity_set'),
14832            timestamp=d.get('timestamp'),
14833        )
class IdentitySetUpdateResponse:
14836class IdentitySetUpdateResponse:
14837    '''
14838         IdentitySetUpdateResponse returns the fields of a IdentitySet after it has been updated by
14839     a IdentitySetUpdateRequest.
14840    '''
14841    __slots__ = [
14842        'identity_set',
14843        'meta',
14844        'rate_limit',
14845    ]
14846
14847    def __init__(
14848        self,
14849        identity_set=None,
14850        meta=None,
14851        rate_limit=None,
14852    ):
14853        self.identity_set = identity_set if identity_set is not None else None
14854        '''
14855         The updated IdentitySet.
14856        '''
14857        self.meta = meta if meta is not None else None
14858        '''
14859         Reserved for future use.
14860        '''
14861        self.rate_limit = rate_limit if rate_limit is not None else None
14862        '''
14863         Rate limit information.
14864        '''
14865
14866    def __repr__(self):
14867        return '<sdm.IdentitySetUpdateResponse ' + \
14868            'identity_set: ' + repr(self.identity_set) + ' ' +\
14869            'meta: ' + repr(self.meta) + ' ' +\
14870            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14871            '>'
14872
14873    def to_dict(self):
14874        return {
14875            'identity_set': self.identity_set,
14876            'meta': self.meta,
14877            'rate_limit': self.rate_limit,
14878        }
14879
14880    @classmethod
14881    def from_dict(cls, d):
14882        return cls(
14883            identity_set=d.get('identity_set'),
14884            meta=d.get('meta'),
14885            rate_limit=d.get('rate_limit'),
14886        )

IdentitySetUpdateResponse returns the fields of a IdentitySet after it has been updated by a IdentitySetUpdateRequest.

IdentitySetUpdateResponse(identity_set=None, meta=None, rate_limit=None)
14847    def __init__(
14848        self,
14849        identity_set=None,
14850        meta=None,
14851        rate_limit=None,
14852    ):
14853        self.identity_set = identity_set if identity_set is not None else None
14854        '''
14855         The updated IdentitySet.
14856        '''
14857        self.meta = meta if meta is not None else None
14858        '''
14859         Reserved for future use.
14860        '''
14861        self.rate_limit = rate_limit if rate_limit is not None else None
14862        '''
14863         Rate limit information.
14864        '''
identity_set

The updated IdentitySet.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
14873    def to_dict(self):
14874        return {
14875            'identity_set': self.identity_set,
14876            'meta': self.meta,
14877            'rate_limit': self.rate_limit,
14878        }
@classmethod
def from_dict(cls, d)
14880    @classmethod
14881    def from_dict(cls, d):
14882        return cls(
14883            identity_set=d.get('identity_set'),
14884            meta=d.get('meta'),
14885            rate_limit=d.get('rate_limit'),
14886        )
class KeyValueEngine:
14889class KeyValueEngine:
14890    '''
14891    KeyValueEngine is currently unstable, and its API may change, or it may be removed,
14892    without a major version bump.
14893    '''
14894    __slots__ = [
14895        'id',
14896        'key_rotation_interval_days',
14897        'name',
14898        'public_key',
14899        'secret_store_id',
14900        'secret_store_root_path',
14901        'tags',
14902    ]
14903
14904    def __init__(
14905        self,
14906        id=None,
14907        key_rotation_interval_days=None,
14908        name=None,
14909        public_key=None,
14910        secret_store_id=None,
14911        secret_store_root_path=None,
14912        tags=None,
14913    ):
14914        self.id = id if id is not None else ''
14915        '''
14916         Unique identifier of the Secret Engine.
14917        '''
14918        self.key_rotation_interval_days = key_rotation_interval_days if key_rotation_interval_days is not None else 0
14919        '''
14920         An interval of public/private key rotation for secret engine in days
14921        '''
14922        self.name = name if name is not None else ''
14923        '''
14924         Unique human-readable name of the Secret Engine.
14925        '''
14926        self.public_key = public_key if public_key is not None else b''
14927        '''
14928         Public key linked with a secret engine
14929        '''
14930        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14931        '''
14932         Backing secret store identifier
14933        '''
14934        self.secret_store_root_path = secret_store_root_path if secret_store_root_path is not None else ''
14935        '''
14936         Backing Secret Store root path where managed secrets are going to be stored
14937        '''
14938        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14939        '''
14940         Tags is a map of key, value pairs.
14941        '''
14942
14943    def __repr__(self):
14944        return '<sdm.KeyValueEngine ' + \
14945            'id: ' + repr(self.id) + ' ' +\
14946            'key_rotation_interval_days: ' + repr(self.key_rotation_interval_days) + ' ' +\
14947            'name: ' + repr(self.name) + ' ' +\
14948            'public_key: ' + repr(self.public_key) + ' ' +\
14949            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
14950            'secret_store_root_path: ' + repr(self.secret_store_root_path) + ' ' +\
14951            'tags: ' + repr(self.tags) + ' ' +\
14952            '>'
14953
14954    def to_dict(self):
14955        return {
14956            'id': self.id,
14957            'key_rotation_interval_days': self.key_rotation_interval_days,
14958            'name': self.name,
14959            'public_key': self.public_key,
14960            'secret_store_id': self.secret_store_id,
14961            'secret_store_root_path': self.secret_store_root_path,
14962            'tags': self.tags,
14963        }
14964
14965    @classmethod
14966    def from_dict(cls, d):
14967        return cls(
14968            id=d.get('id'),
14969            key_rotation_interval_days=d.get('key_rotation_interval_days'),
14970            name=d.get('name'),
14971            public_key=d.get('public_key'),
14972            secret_store_id=d.get('secret_store_id'),
14973            secret_store_root_path=d.get('secret_store_root_path'),
14974            tags=d.get('tags'),
14975        )

KeyValueEngine is currently unstable, and its API may change, or it may be removed, without a major version bump.

KeyValueEngine( id=None, key_rotation_interval_days=None, name=None, public_key=None, secret_store_id=None, secret_store_root_path=None, tags=None)
14904    def __init__(
14905        self,
14906        id=None,
14907        key_rotation_interval_days=None,
14908        name=None,
14909        public_key=None,
14910        secret_store_id=None,
14911        secret_store_root_path=None,
14912        tags=None,
14913    ):
14914        self.id = id if id is not None else ''
14915        '''
14916         Unique identifier of the Secret Engine.
14917        '''
14918        self.key_rotation_interval_days = key_rotation_interval_days if key_rotation_interval_days is not None else 0
14919        '''
14920         An interval of public/private key rotation for secret engine in days
14921        '''
14922        self.name = name if name is not None else ''
14923        '''
14924         Unique human-readable name of the Secret Engine.
14925        '''
14926        self.public_key = public_key if public_key is not None else b''
14927        '''
14928         Public key linked with a secret engine
14929        '''
14930        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14931        '''
14932         Backing secret store identifier
14933        '''
14934        self.secret_store_root_path = secret_store_root_path if secret_store_root_path is not None else ''
14935        '''
14936         Backing Secret Store root path where managed secrets are going to be stored
14937        '''
14938        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14939        '''
14940         Tags is a map of key, value pairs.
14941        '''
id

Unique identifier of the Secret Engine.

key_rotation_interval_days

An interval of public/private key rotation for secret engine in days

name

Unique human-readable name of the Secret Engine.

public_key

Public key linked with a secret engine

secret_store_id

Backing secret store identifier

secret_store_root_path

Backing Secret Store root path where managed secrets are going to be stored

tags

Tags is a map of key, value pairs.

def to_dict(self)
14954    def to_dict(self):
14955        return {
14956            'id': self.id,
14957            'key_rotation_interval_days': self.key_rotation_interval_days,
14958            'name': self.name,
14959            'public_key': self.public_key,
14960            'secret_store_id': self.secret_store_id,
14961            'secret_store_root_path': self.secret_store_root_path,
14962            'tags': self.tags,
14963        }
@classmethod
def from_dict(cls, d)
14965    @classmethod
14966    def from_dict(cls, d):
14967        return cls(
14968            id=d.get('id'),
14969            key_rotation_interval_days=d.get('key_rotation_interval_days'),
14970            name=d.get('name'),
14971            public_key=d.get('public_key'),
14972            secret_store_id=d.get('secret_store_id'),
14973            secret_store_root_path=d.get('secret_store_root_path'),
14974            tags=d.get('tags'),
14975        )
class KeyfactorSSHStore:
14978class KeyfactorSSHStore:
14979    __slots__ = [
14980        'ca_file_path',
14981        'certificate_file_path',
14982        'default_certificate_authority_name',
14983        'default_certificate_profile_name',
14984        'default_end_entity_profile_name',
14985        'enrollment_code_env_var',
14986        'enrollment_username_env_var',
14987        'id',
14988        'key_file_path',
14989        'name',
14990        'server_address',
14991        'tags',
14992    ]
14993
14994    def __init__(
14995        self,
14996        ca_file_path=None,
14997        certificate_file_path=None,
14998        default_certificate_authority_name=None,
14999        default_certificate_profile_name=None,
15000        default_end_entity_profile_name=None,
15001        enrollment_code_env_var=None,
15002        enrollment_username_env_var=None,
15003        id=None,
15004        key_file_path=None,
15005        name=None,
15006        server_address=None,
15007        tags=None,
15008    ):
15009        self.ca_file_path = ca_file_path if ca_file_path is not None else ''
15010        '''
15011         Path to the root CA that signed the certificate passed to the client for HTTPS connection.
15012         This is not required if the CA is trusted by the host operating system. This should be a PEM
15013         formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
15014        '''
15015        self.certificate_file_path = certificate_file_path if certificate_file_path is not None else ''
15016        '''
15017         Path to client certificate in PEM format. This certificate must contain a client certificate that
15018         is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
15019         key associated with the certificate, but KeyFile can also be set to configure the private key.
15020        '''
15021        self.default_certificate_authority_name = default_certificate_authority_name if default_certificate_authority_name is not None else ''
15022        '''
15023         Name of EJBCA certificate authority that will enroll CSR.
15024        '''
15025        self.default_certificate_profile_name = default_certificate_profile_name if default_certificate_profile_name is not None else ''
15026        '''
15027         Certificate profile name that EJBCA will enroll the CSR with.
15028        '''
15029        self.default_end_entity_profile_name = default_end_entity_profile_name if default_end_entity_profile_name is not None else ''
15030        '''
15031         End entity profile that EJBCA will enroll the CSR with.
15032        '''
15033        self.enrollment_code_env_var = enrollment_code_env_var if enrollment_code_env_var is not None else ''
15034        '''
15035         code used by EJBCA during enrollment. May be left blank if no code is required.
15036        '''
15037        self.enrollment_username_env_var = enrollment_username_env_var if enrollment_username_env_var is not None else ''
15038        '''
15039         username that used by the EJBCA during enrollment. This can be left out. 
15040         If so, the username must be auto-generated on the Keyfactor side.
15041        '''
15042        self.id = id if id is not None else ''
15043        '''
15044         Unique identifier of the SecretStore.
15045        '''
15046        self.key_file_path = key_file_path if key_file_path is not None else ''
15047        '''
15048         Path to private key in PEM format. This file should contain the private key associated with the
15049         client certificate configured in CertificateFile.
15050        '''
15051        self.name = name if name is not None else ''
15052        '''
15053         Unique human-readable name of the SecretStore.
15054        '''
15055        self.server_address = server_address if server_address is not None else ''
15056        '''
15057         the host of the Key Factor CA
15058        '''
15059        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15060        '''
15061         Tags is a map of key, value pairs.
15062        '''
15063
15064    def __repr__(self):
15065        return '<sdm.KeyfactorSSHStore ' + \
15066            'ca_file_path: ' + repr(self.ca_file_path) + ' ' +\
15067            'certificate_file_path: ' + repr(self.certificate_file_path) + ' ' +\
15068            'default_certificate_authority_name: ' + repr(self.default_certificate_authority_name) + ' ' +\
15069            'default_certificate_profile_name: ' + repr(self.default_certificate_profile_name) + ' ' +\
15070            'default_end_entity_profile_name: ' + repr(self.default_end_entity_profile_name) + ' ' +\
15071            'enrollment_code_env_var: ' + repr(self.enrollment_code_env_var) + ' ' +\
15072            'enrollment_username_env_var: ' + repr(self.enrollment_username_env_var) + ' ' +\
15073            'id: ' + repr(self.id) + ' ' +\
15074            'key_file_path: ' + repr(self.key_file_path) + ' ' +\
15075            'name: ' + repr(self.name) + ' ' +\
15076            'server_address: ' + repr(self.server_address) + ' ' +\
15077            'tags: ' + repr(self.tags) + ' ' +\
15078            '>'
15079
15080    def to_dict(self):
15081        return {
15082            'ca_file_path': self.ca_file_path,
15083            'certificate_file_path': self.certificate_file_path,
15084            'default_certificate_authority_name':
15085            self.default_certificate_authority_name,
15086            'default_certificate_profile_name':
15087            self.default_certificate_profile_name,
15088            'default_end_entity_profile_name':
15089            self.default_end_entity_profile_name,
15090            'enrollment_code_env_var': self.enrollment_code_env_var,
15091            'enrollment_username_env_var': self.enrollment_username_env_var,
15092            'id': self.id,
15093            'key_file_path': self.key_file_path,
15094            'name': self.name,
15095            'server_address': self.server_address,
15096            'tags': self.tags,
15097        }
15098
15099    @classmethod
15100    def from_dict(cls, d):
15101        return cls(
15102            ca_file_path=d.get('ca_file_path'),
15103            certificate_file_path=d.get('certificate_file_path'),
15104            default_certificate_authority_name=d.get(
15105                'default_certificate_authority_name'),
15106            default_certificate_profile_name=d.get(
15107                'default_certificate_profile_name'),
15108            default_end_entity_profile_name=d.get(
15109                'default_end_entity_profile_name'),
15110            enrollment_code_env_var=d.get('enrollment_code_env_var'),
15111            enrollment_username_env_var=d.get('enrollment_username_env_var'),
15112            id=d.get('id'),
15113            key_file_path=d.get('key_file_path'),
15114            name=d.get('name'),
15115            server_address=d.get('server_address'),
15116            tags=d.get('tags'),
15117        )
KeyfactorSSHStore( ca_file_path=None, certificate_file_path=None, default_certificate_authority_name=None, default_certificate_profile_name=None, default_end_entity_profile_name=None, enrollment_code_env_var=None, enrollment_username_env_var=None, id=None, key_file_path=None, name=None, server_address=None, tags=None)
14994    def __init__(
14995        self,
14996        ca_file_path=None,
14997        certificate_file_path=None,
14998        default_certificate_authority_name=None,
14999        default_certificate_profile_name=None,
15000        default_end_entity_profile_name=None,
15001        enrollment_code_env_var=None,
15002        enrollment_username_env_var=None,
15003        id=None,
15004        key_file_path=None,
15005        name=None,
15006        server_address=None,
15007        tags=None,
15008    ):
15009        self.ca_file_path = ca_file_path if ca_file_path is not None else ''
15010        '''
15011         Path to the root CA that signed the certificate passed to the client for HTTPS connection.
15012         This is not required if the CA is trusted by the host operating system. This should be a PEM
15013         formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
15014        '''
15015        self.certificate_file_path = certificate_file_path if certificate_file_path is not None else ''
15016        '''
15017         Path to client certificate in PEM format. This certificate must contain a client certificate that
15018         is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
15019         key associated with the certificate, but KeyFile can also be set to configure the private key.
15020        '''
15021        self.default_certificate_authority_name = default_certificate_authority_name if default_certificate_authority_name is not None else ''
15022        '''
15023         Name of EJBCA certificate authority that will enroll CSR.
15024        '''
15025        self.default_certificate_profile_name = default_certificate_profile_name if default_certificate_profile_name is not None else ''
15026        '''
15027         Certificate profile name that EJBCA will enroll the CSR with.
15028        '''
15029        self.default_end_entity_profile_name = default_end_entity_profile_name if default_end_entity_profile_name is not None else ''
15030        '''
15031         End entity profile that EJBCA will enroll the CSR with.
15032        '''
15033        self.enrollment_code_env_var = enrollment_code_env_var if enrollment_code_env_var is not None else ''
15034        '''
15035         code used by EJBCA during enrollment. May be left blank if no code is required.
15036        '''
15037        self.enrollment_username_env_var = enrollment_username_env_var if enrollment_username_env_var is not None else ''
15038        '''
15039         username that used by the EJBCA during enrollment. This can be left out. 
15040         If so, the username must be auto-generated on the Keyfactor side.
15041        '''
15042        self.id = id if id is not None else ''
15043        '''
15044         Unique identifier of the SecretStore.
15045        '''
15046        self.key_file_path = key_file_path if key_file_path is not None else ''
15047        '''
15048         Path to private key in PEM format. This file should contain the private key associated with the
15049         client certificate configured in CertificateFile.
15050        '''
15051        self.name = name if name is not None else ''
15052        '''
15053         Unique human-readable name of the SecretStore.
15054        '''
15055        self.server_address = server_address if server_address is not None else ''
15056        '''
15057         the host of the Key Factor CA
15058        '''
15059        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15060        '''
15061         Tags is a map of key, value pairs.
15062        '''
ca_file_path

Path to the root CA that signed the certificate passed to the client for HTTPS connection. This is not required if the CA is trusted by the host operating system. This should be a PEM formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.

certificate_file_path

Path to client certificate in PEM format. This certificate must contain a client certificate that is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private key associated with the certificate, but KeyFile can also be set to configure the private key.

default_certificate_authority_name

Name of EJBCA certificate authority that will enroll CSR.

default_certificate_profile_name

Certificate profile name that EJBCA will enroll the CSR with.

default_end_entity_profile_name

End entity profile that EJBCA will enroll the CSR with.

enrollment_code_env_var

code used by EJBCA during enrollment. May be left blank if no code is required.

enrollment_username_env_var

username that used by the EJBCA during enrollment. This can be left out. If so, the username must be auto-generated on the Keyfactor side.

id

Unique identifier of the SecretStore.

key_file_path

Path to private key in PEM format. This file should contain the private key associated with the client certificate configured in CertificateFile.

name

Unique human-readable name of the SecretStore.

server_address

the host of the Key Factor CA

tags

Tags is a map of key, value pairs.

def to_dict(self)
15080    def to_dict(self):
15081        return {
15082            'ca_file_path': self.ca_file_path,
15083            'certificate_file_path': self.certificate_file_path,
15084            'default_certificate_authority_name':
15085            self.default_certificate_authority_name,
15086            'default_certificate_profile_name':
15087            self.default_certificate_profile_name,
15088            'default_end_entity_profile_name':
15089            self.default_end_entity_profile_name,
15090            'enrollment_code_env_var': self.enrollment_code_env_var,
15091            'enrollment_username_env_var': self.enrollment_username_env_var,
15092            'id': self.id,
15093            'key_file_path': self.key_file_path,
15094            'name': self.name,
15095            'server_address': self.server_address,
15096            'tags': self.tags,
15097        }
@classmethod
def from_dict(cls, d)
15099    @classmethod
15100    def from_dict(cls, d):
15101        return cls(
15102            ca_file_path=d.get('ca_file_path'),
15103            certificate_file_path=d.get('certificate_file_path'),
15104            default_certificate_authority_name=d.get(
15105                'default_certificate_authority_name'),
15106            default_certificate_profile_name=d.get(
15107                'default_certificate_profile_name'),
15108            default_end_entity_profile_name=d.get(
15109                'default_end_entity_profile_name'),
15110            enrollment_code_env_var=d.get('enrollment_code_env_var'),
15111            enrollment_username_env_var=d.get('enrollment_username_env_var'),
15112            id=d.get('id'),
15113            key_file_path=d.get('key_file_path'),
15114            name=d.get('name'),
15115            server_address=d.get('server_address'),
15116            tags=d.get('tags'),
15117        )
class KeyfactorX509Store:
15120class KeyfactorX509Store:
15121    __slots__ = [
15122        'ca_file_path',
15123        'certificate_file_path',
15124        'default_certificate_authority_name',
15125        'default_certificate_profile_name',
15126        'default_end_entity_profile_name',
15127        'enrollment_code_env_var',
15128        'enrollment_username_env_var',
15129        'id',
15130        'key_file_path',
15131        'name',
15132        'server_address',
15133        'tags',
15134    ]
15135
15136    def __init__(
15137        self,
15138        ca_file_path=None,
15139        certificate_file_path=None,
15140        default_certificate_authority_name=None,
15141        default_certificate_profile_name=None,
15142        default_end_entity_profile_name=None,
15143        enrollment_code_env_var=None,
15144        enrollment_username_env_var=None,
15145        id=None,
15146        key_file_path=None,
15147        name=None,
15148        server_address=None,
15149        tags=None,
15150    ):
15151        self.ca_file_path = ca_file_path if ca_file_path is not None else ''
15152        '''
15153         Path to the root CA that signed the certificate passed to the client for HTTPS connection.
15154         This is not required if the CA is trusted by the host operating system. This should be a PEM
15155         formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
15156        '''
15157        self.certificate_file_path = certificate_file_path if certificate_file_path is not None else ''
15158        '''
15159         Path to client certificate in PEM format. This certificate must contain a client certificate that
15160         is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
15161         key associated with the certificate, but KeyFile can also be set to configure the private key.
15162        '''
15163        self.default_certificate_authority_name = default_certificate_authority_name if default_certificate_authority_name is not None else ''
15164        '''
15165         Name of EJBCA certificate authority that will enroll CSR.
15166        '''
15167        self.default_certificate_profile_name = default_certificate_profile_name if default_certificate_profile_name is not None else ''
15168        '''
15169         Certificate profile name that EJBCA will enroll the CSR with.
15170        '''
15171        self.default_end_entity_profile_name = default_end_entity_profile_name if default_end_entity_profile_name is not None else ''
15172        '''
15173         End entity profile that EJBCA will enroll the CSR with.
15174        '''
15175        self.enrollment_code_env_var = enrollment_code_env_var if enrollment_code_env_var is not None else ''
15176        '''
15177         code used by EJBCA during enrollment. May be left blank if no code is required.
15178        '''
15179        self.enrollment_username_env_var = enrollment_username_env_var if enrollment_username_env_var is not None else ''
15180        '''
15181         username that used by the EJBCA during enrollment. This can be left out. 
15182         If so, the username must be auto-generated on the Keyfactor side.
15183        '''
15184        self.id = id if id is not None else ''
15185        '''
15186         Unique identifier of the SecretStore.
15187        '''
15188        self.key_file_path = key_file_path if key_file_path is not None else ''
15189        '''
15190         Path to private key in PEM format. This file should contain the private key associated with the
15191         client certificate configured in CertificateFile.
15192        '''
15193        self.name = name if name is not None else ''
15194        '''
15195         Unique human-readable name of the SecretStore.
15196        '''
15197        self.server_address = server_address if server_address is not None else ''
15198        '''
15199         the host of the Key Factor CA
15200        '''
15201        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15202        '''
15203         Tags is a map of key, value pairs.
15204        '''
15205
15206    def __repr__(self):
15207        return '<sdm.KeyfactorX509Store ' + \
15208            'ca_file_path: ' + repr(self.ca_file_path) + ' ' +\
15209            'certificate_file_path: ' + repr(self.certificate_file_path) + ' ' +\
15210            'default_certificate_authority_name: ' + repr(self.default_certificate_authority_name) + ' ' +\
15211            'default_certificate_profile_name: ' + repr(self.default_certificate_profile_name) + ' ' +\
15212            'default_end_entity_profile_name: ' + repr(self.default_end_entity_profile_name) + ' ' +\
15213            'enrollment_code_env_var: ' + repr(self.enrollment_code_env_var) + ' ' +\
15214            'enrollment_username_env_var: ' + repr(self.enrollment_username_env_var) + ' ' +\
15215            'id: ' + repr(self.id) + ' ' +\
15216            'key_file_path: ' + repr(self.key_file_path) + ' ' +\
15217            'name: ' + repr(self.name) + ' ' +\
15218            'server_address: ' + repr(self.server_address) + ' ' +\
15219            'tags: ' + repr(self.tags) + ' ' +\
15220            '>'
15221
15222    def to_dict(self):
15223        return {
15224            'ca_file_path': self.ca_file_path,
15225            'certificate_file_path': self.certificate_file_path,
15226            'default_certificate_authority_name':
15227            self.default_certificate_authority_name,
15228            'default_certificate_profile_name':
15229            self.default_certificate_profile_name,
15230            'default_end_entity_profile_name':
15231            self.default_end_entity_profile_name,
15232            'enrollment_code_env_var': self.enrollment_code_env_var,
15233            'enrollment_username_env_var': self.enrollment_username_env_var,
15234            'id': self.id,
15235            'key_file_path': self.key_file_path,
15236            'name': self.name,
15237            'server_address': self.server_address,
15238            'tags': self.tags,
15239        }
15240
15241    @classmethod
15242    def from_dict(cls, d):
15243        return cls(
15244            ca_file_path=d.get('ca_file_path'),
15245            certificate_file_path=d.get('certificate_file_path'),
15246            default_certificate_authority_name=d.get(
15247                'default_certificate_authority_name'),
15248            default_certificate_profile_name=d.get(
15249                'default_certificate_profile_name'),
15250            default_end_entity_profile_name=d.get(
15251                'default_end_entity_profile_name'),
15252            enrollment_code_env_var=d.get('enrollment_code_env_var'),
15253            enrollment_username_env_var=d.get('enrollment_username_env_var'),
15254            id=d.get('id'),
15255            key_file_path=d.get('key_file_path'),
15256            name=d.get('name'),
15257            server_address=d.get('server_address'),
15258            tags=d.get('tags'),
15259        )
KeyfactorX509Store( ca_file_path=None, certificate_file_path=None, default_certificate_authority_name=None, default_certificate_profile_name=None, default_end_entity_profile_name=None, enrollment_code_env_var=None, enrollment_username_env_var=None, id=None, key_file_path=None, name=None, server_address=None, tags=None)
15136    def __init__(
15137        self,
15138        ca_file_path=None,
15139        certificate_file_path=None,
15140        default_certificate_authority_name=None,
15141        default_certificate_profile_name=None,
15142        default_end_entity_profile_name=None,
15143        enrollment_code_env_var=None,
15144        enrollment_username_env_var=None,
15145        id=None,
15146        key_file_path=None,
15147        name=None,
15148        server_address=None,
15149        tags=None,
15150    ):
15151        self.ca_file_path = ca_file_path if ca_file_path is not None else ''
15152        '''
15153         Path to the root CA that signed the certificate passed to the client for HTTPS connection.
15154         This is not required if the CA is trusted by the host operating system. This should be a PEM
15155         formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
15156        '''
15157        self.certificate_file_path = certificate_file_path if certificate_file_path is not None else ''
15158        '''
15159         Path to client certificate in PEM format. This certificate must contain a client certificate that
15160         is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
15161         key associated with the certificate, but KeyFile can also be set to configure the private key.
15162        '''
15163        self.default_certificate_authority_name = default_certificate_authority_name if default_certificate_authority_name is not None else ''
15164        '''
15165         Name of EJBCA certificate authority that will enroll CSR.
15166        '''
15167        self.default_certificate_profile_name = default_certificate_profile_name if default_certificate_profile_name is not None else ''
15168        '''
15169         Certificate profile name that EJBCA will enroll the CSR with.
15170        '''
15171        self.default_end_entity_profile_name = default_end_entity_profile_name if default_end_entity_profile_name is not None else ''
15172        '''
15173         End entity profile that EJBCA will enroll the CSR with.
15174        '''
15175        self.enrollment_code_env_var = enrollment_code_env_var if enrollment_code_env_var is not None else ''
15176        '''
15177         code used by EJBCA during enrollment. May be left blank if no code is required.
15178        '''
15179        self.enrollment_username_env_var = enrollment_username_env_var if enrollment_username_env_var is not None else ''
15180        '''
15181         username that used by the EJBCA during enrollment. This can be left out. 
15182         If so, the username must be auto-generated on the Keyfactor side.
15183        '''
15184        self.id = id if id is not None else ''
15185        '''
15186         Unique identifier of the SecretStore.
15187        '''
15188        self.key_file_path = key_file_path if key_file_path is not None else ''
15189        '''
15190         Path to private key in PEM format. This file should contain the private key associated with the
15191         client certificate configured in CertificateFile.
15192        '''
15193        self.name = name if name is not None else ''
15194        '''
15195         Unique human-readable name of the SecretStore.
15196        '''
15197        self.server_address = server_address if server_address is not None else ''
15198        '''
15199         the host of the Key Factor CA
15200        '''
15201        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15202        '''
15203         Tags is a map of key, value pairs.
15204        '''
ca_file_path

Path to the root CA that signed the certificate passed to the client for HTTPS connection. This is not required if the CA is trusted by the host operating system. This should be a PEM formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.

certificate_file_path

Path to client certificate in PEM format. This certificate must contain a client certificate that is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private key associated with the certificate, but KeyFile can also be set to configure the private key.

default_certificate_authority_name

Name of EJBCA certificate authority that will enroll CSR.

default_certificate_profile_name

Certificate profile name that EJBCA will enroll the CSR with.

default_end_entity_profile_name

End entity profile that EJBCA will enroll the CSR with.

enrollment_code_env_var

code used by EJBCA during enrollment. May be left blank if no code is required.

enrollment_username_env_var

username that used by the EJBCA during enrollment. This can be left out. If so, the username must be auto-generated on the Keyfactor side.

id

Unique identifier of the SecretStore.

key_file_path

Path to private key in PEM format. This file should contain the private key associated with the client certificate configured in CertificateFile.

name

Unique human-readable name of the SecretStore.

server_address

the host of the Key Factor CA

tags

Tags is a map of key, value pairs.

def to_dict(self)
15222    def to_dict(self):
15223        return {
15224            'ca_file_path': self.ca_file_path,
15225            'certificate_file_path': self.certificate_file_path,
15226            'default_certificate_authority_name':
15227            self.default_certificate_authority_name,
15228            'default_certificate_profile_name':
15229            self.default_certificate_profile_name,
15230            'default_end_entity_profile_name':
15231            self.default_end_entity_profile_name,
15232            'enrollment_code_env_var': self.enrollment_code_env_var,
15233            'enrollment_username_env_var': self.enrollment_username_env_var,
15234            'id': self.id,
15235            'key_file_path': self.key_file_path,
15236            'name': self.name,
15237            'server_address': self.server_address,
15238            'tags': self.tags,
15239        }
@classmethod
def from_dict(cls, d)
15241    @classmethod
15242    def from_dict(cls, d):
15243        return cls(
15244            ca_file_path=d.get('ca_file_path'),
15245            certificate_file_path=d.get('certificate_file_path'),
15246            default_certificate_authority_name=d.get(
15247                'default_certificate_authority_name'),
15248            default_certificate_profile_name=d.get(
15249                'default_certificate_profile_name'),
15250            default_end_entity_profile_name=d.get(
15251                'default_end_entity_profile_name'),
15252            enrollment_code_env_var=d.get('enrollment_code_env_var'),
15253            enrollment_username_env_var=d.get('enrollment_username_env_var'),
15254            id=d.get('id'),
15255            key_file_path=d.get('key_file_path'),
15256            name=d.get('name'),
15257            server_address=d.get('server_address'),
15258            tags=d.get('tags'),
15259        )
class Kubernetes:
15262class Kubernetes:
15263    __slots__ = [
15264        'allow_resource_role_bypass',
15265        'bind_interface',
15266        'certificate_authority',
15267        'client_certificate',
15268        'client_key',
15269        'discovery_enabled',
15270        'discovery_username',
15271        'egress_filter',
15272        'healthcheck_namespace',
15273        'healthy',
15274        'hostname',
15275        'id',
15276        'identity_alias_healthcheck_username',
15277        'identity_set_id',
15278        'name',
15279        'port',
15280        'port_override',
15281        'proxy_cluster_id',
15282        'secret_store_id',
15283        'subdomain',
15284        'tags',
15285    ]
15286
15287    def __init__(
15288        self,
15289        allow_resource_role_bypass=None,
15290        bind_interface=None,
15291        certificate_authority=None,
15292        client_certificate=None,
15293        client_key=None,
15294        discovery_enabled=None,
15295        discovery_username=None,
15296        egress_filter=None,
15297        healthcheck_namespace=None,
15298        healthy=None,
15299        hostname=None,
15300        id=None,
15301        identity_alias_healthcheck_username=None,
15302        identity_set_id=None,
15303        name=None,
15304        port=None,
15305        port_override=None,
15306        proxy_cluster_id=None,
15307        secret_store_id=None,
15308        subdomain=None,
15309        tags=None,
15310    ):
15311        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
15312        '''
15313         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
15314         when a resource role is not provided.
15315        '''
15316        self.bind_interface = bind_interface if bind_interface is not None else ''
15317        '''
15318         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15319        '''
15320        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
15321        '''
15322         The CA to authenticate TLS connections with.
15323        '''
15324        self.client_certificate = client_certificate if client_certificate is not None else ''
15325        '''
15326         The certificate to authenticate TLS connections with.
15327        '''
15328        self.client_key = client_key if client_key is not None else ''
15329        '''
15330         The key to authenticate TLS connections with.
15331        '''
15332        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
15333        '''
15334         If true, configures discovery of a cluster to be run from a node.
15335        '''
15336        self.discovery_username = discovery_username if discovery_username is not None else ''
15337        '''
15338         If a cluster is configured for user impersonation, this is the user to impersonate when
15339         running discovery.
15340        '''
15341        self.egress_filter = egress_filter if egress_filter is not None else ''
15342        '''
15343         A filter applied to the routing logic to pin datasource to nodes.
15344        '''
15345        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15346        '''
15347         The path used to check the health of your connection.  Defaults to `default`.
15348        '''
15349        self.healthy = healthy if healthy is not None else False
15350        '''
15351         True if the datasource is reachable and the credentials are valid.
15352        '''
15353        self.hostname = hostname if hostname is not None else ''
15354        '''
15355         The host to dial to initiate a connection from the egress node to this resource.
15356        '''
15357        self.id = id if id is not None else ''
15358        '''
15359         Unique identifier of the Resource.
15360        '''
15361        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
15362        '''
15363         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
15364        '''
15365        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
15366        '''
15367         The ID of the identity set to use for identity connections.
15368        '''
15369        self.name = name if name is not None else ''
15370        '''
15371         Unique human-readable name of the Resource.
15372        '''
15373        self.port = port if port is not None else 0
15374        '''
15375         The port to dial to initiate a connection from the egress node to this resource.
15376        '''
15377        self.port_override = port_override if port_override is not None else 0
15378        '''
15379         The local port used by clients to connect to this resource.
15380        '''
15381        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15382        '''
15383         ID of the proxy cluster for this resource, if any.
15384        '''
15385        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15386        '''
15387         ID of the secret store containing credentials for this resource, if any.
15388        '''
15389        self.subdomain = subdomain if subdomain is not None else ''
15390        '''
15391         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15392        '''
15393        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15394        '''
15395         Tags is a map of key, value pairs.
15396        '''
15397
15398    def __repr__(self):
15399        return '<sdm.Kubernetes ' + \
15400            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
15401            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15402            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
15403            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
15404            'client_key: ' + repr(self.client_key) + ' ' +\
15405            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
15406            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
15407            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15408            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
15409            'healthy: ' + repr(self.healthy) + ' ' +\
15410            'hostname: ' + repr(self.hostname) + ' ' +\
15411            'id: ' + repr(self.id) + ' ' +\
15412            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
15413            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
15414            'name: ' + repr(self.name) + ' ' +\
15415            'port: ' + repr(self.port) + ' ' +\
15416            'port_override: ' + repr(self.port_override) + ' ' +\
15417            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15418            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15419            'subdomain: ' + repr(self.subdomain) + ' ' +\
15420            'tags: ' + repr(self.tags) + ' ' +\
15421            '>'
15422
15423    def to_dict(self):
15424        return {
15425            'allow_resource_role_bypass': self.allow_resource_role_bypass,
15426            'bind_interface': self.bind_interface,
15427            'certificate_authority': self.certificate_authority,
15428            'client_certificate': self.client_certificate,
15429            'client_key': self.client_key,
15430            'discovery_enabled': self.discovery_enabled,
15431            'discovery_username': self.discovery_username,
15432            'egress_filter': self.egress_filter,
15433            'healthcheck_namespace': self.healthcheck_namespace,
15434            'healthy': self.healthy,
15435            'hostname': self.hostname,
15436            'id': self.id,
15437            'identity_alias_healthcheck_username':
15438            self.identity_alias_healthcheck_username,
15439            'identity_set_id': self.identity_set_id,
15440            'name': self.name,
15441            'port': self.port,
15442            'port_override': self.port_override,
15443            'proxy_cluster_id': self.proxy_cluster_id,
15444            'secret_store_id': self.secret_store_id,
15445            'subdomain': self.subdomain,
15446            'tags': self.tags,
15447        }
15448
15449    @classmethod
15450    def from_dict(cls, d):
15451        return cls(
15452            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
15453            bind_interface=d.get('bind_interface'),
15454            certificate_authority=d.get('certificate_authority'),
15455            client_certificate=d.get('client_certificate'),
15456            client_key=d.get('client_key'),
15457            discovery_enabled=d.get('discovery_enabled'),
15458            discovery_username=d.get('discovery_username'),
15459            egress_filter=d.get('egress_filter'),
15460            healthcheck_namespace=d.get('healthcheck_namespace'),
15461            healthy=d.get('healthy'),
15462            hostname=d.get('hostname'),
15463            id=d.get('id'),
15464            identity_alias_healthcheck_username=d.get(
15465                'identity_alias_healthcheck_username'),
15466            identity_set_id=d.get('identity_set_id'),
15467            name=d.get('name'),
15468            port=d.get('port'),
15469            port_override=d.get('port_override'),
15470            proxy_cluster_id=d.get('proxy_cluster_id'),
15471            secret_store_id=d.get('secret_store_id'),
15472            subdomain=d.get('subdomain'),
15473            tags=d.get('tags'),
15474        )
Kubernetes( allow_resource_role_bypass=None, bind_interface=None, certificate_authority=None, client_certificate=None, client_key=None, discovery_enabled=None, discovery_username=None, egress_filter=None, healthcheck_namespace=None, healthy=None, hostname=None, id=None, identity_alias_healthcheck_username=None, identity_set_id=None, name=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None)
15287    def __init__(
15288        self,
15289        allow_resource_role_bypass=None,
15290        bind_interface=None,
15291        certificate_authority=None,
15292        client_certificate=None,
15293        client_key=None,
15294        discovery_enabled=None,
15295        discovery_username=None,
15296        egress_filter=None,
15297        healthcheck_namespace=None,
15298        healthy=None,
15299        hostname=None,
15300        id=None,
15301        identity_alias_healthcheck_username=None,
15302        identity_set_id=None,
15303        name=None,
15304        port=None,
15305        port_override=None,
15306        proxy_cluster_id=None,
15307        secret_store_id=None,
15308        subdomain=None,
15309        tags=None,
15310    ):
15311        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
15312        '''
15313         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
15314         when a resource role is not provided.
15315        '''
15316        self.bind_interface = bind_interface if bind_interface is not None else ''
15317        '''
15318         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15319        '''
15320        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
15321        '''
15322         The CA to authenticate TLS connections with.
15323        '''
15324        self.client_certificate = client_certificate if client_certificate is not None else ''
15325        '''
15326         The certificate to authenticate TLS connections with.
15327        '''
15328        self.client_key = client_key if client_key is not None else ''
15329        '''
15330         The key to authenticate TLS connections with.
15331        '''
15332        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
15333        '''
15334         If true, configures discovery of a cluster to be run from a node.
15335        '''
15336        self.discovery_username = discovery_username if discovery_username is not None else ''
15337        '''
15338         If a cluster is configured for user impersonation, this is the user to impersonate when
15339         running discovery.
15340        '''
15341        self.egress_filter = egress_filter if egress_filter is not None else ''
15342        '''
15343         A filter applied to the routing logic to pin datasource to nodes.
15344        '''
15345        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15346        '''
15347         The path used to check the health of your connection.  Defaults to `default`.
15348        '''
15349        self.healthy = healthy if healthy is not None else False
15350        '''
15351         True if the datasource is reachable and the credentials are valid.
15352        '''
15353        self.hostname = hostname if hostname is not None else ''
15354        '''
15355         The host to dial to initiate a connection from the egress node to this resource.
15356        '''
15357        self.id = id if id is not None else ''
15358        '''
15359         Unique identifier of the Resource.
15360        '''
15361        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
15362        '''
15363         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
15364        '''
15365        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
15366        '''
15367         The ID of the identity set to use for identity connections.
15368        '''
15369        self.name = name if name is not None else ''
15370        '''
15371         Unique human-readable name of the Resource.
15372        '''
15373        self.port = port if port is not None else 0
15374        '''
15375         The port to dial to initiate a connection from the egress node to this resource.
15376        '''
15377        self.port_override = port_override if port_override is not None else 0
15378        '''
15379         The local port used by clients to connect to this resource.
15380        '''
15381        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15382        '''
15383         ID of the proxy cluster for this resource, if any.
15384        '''
15385        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15386        '''
15387         ID of the secret store containing credentials for this resource, if any.
15388        '''
15389        self.subdomain = subdomain if subdomain is not None else ''
15390        '''
15391         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15392        '''
15393        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15394        '''
15395         Tags is a map of key, value pairs.
15396        '''
allow_resource_role_bypass

If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set) when a resource role is not provided.

bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.

certificate_authority

The CA to authenticate TLS connections with.

client_certificate

The certificate to authenticate TLS connections with.

client_key

The key to authenticate TLS connections with.

discovery_enabled

If true, configures discovery of a cluster to be run from a node.

discovery_username

If a cluster is configured for user impersonation, this is the user to impersonate when running discovery.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthcheck_namespace

The path used to check the health of your connection. Defaults to default.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

identity_alias_healthcheck_username

The username to use for healthchecks, when clients otherwise connect with their own identity alias username.

identity_set_id

The ID of the identity set to use for identity connections.

name

Unique human-readable name of the Resource.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)

tags

Tags is a map of key, value pairs.

def to_dict(self)
15423    def to_dict(self):
15424        return {
15425            'allow_resource_role_bypass': self.allow_resource_role_bypass,
15426            'bind_interface': self.bind_interface,
15427            'certificate_authority': self.certificate_authority,
15428            'client_certificate': self.client_certificate,
15429            'client_key': self.client_key,
15430            'discovery_enabled': self.discovery_enabled,
15431            'discovery_username': self.discovery_username,
15432            'egress_filter': self.egress_filter,
15433            'healthcheck_namespace': self.healthcheck_namespace,
15434            'healthy': self.healthy,
15435            'hostname': self.hostname,
15436            'id': self.id,
15437            'identity_alias_healthcheck_username':
15438            self.identity_alias_healthcheck_username,
15439            'identity_set_id': self.identity_set_id,
15440            'name': self.name,
15441            'port': self.port,
15442            'port_override': self.port_override,
15443            'proxy_cluster_id': self.proxy_cluster_id,
15444            'secret_store_id': self.secret_store_id,
15445            'subdomain': self.subdomain,
15446            'tags': self.tags,
15447        }
@classmethod
def from_dict(cls, d)
15449    @classmethod
15450    def from_dict(cls, d):
15451        return cls(
15452            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
15453            bind_interface=d.get('bind_interface'),
15454            certificate_authority=d.get('certificate_authority'),
15455            client_certificate=d.get('client_certificate'),
15456            client_key=d.get('client_key'),
15457            discovery_enabled=d.get('discovery_enabled'),
15458            discovery_username=d.get('discovery_username'),
15459            egress_filter=d.get('egress_filter'),
15460            healthcheck_namespace=d.get('healthcheck_namespace'),
15461            healthy=d.get('healthy'),
15462            hostname=d.get('hostname'),
15463            id=d.get('id'),
15464            identity_alias_healthcheck_username=d.get(
15465                'identity_alias_healthcheck_username'),
15466            identity_set_id=d.get('identity_set_id'),
15467            name=d.get('name'),
15468            port=d.get('port'),
15469            port_override=d.get('port_override'),
15470            proxy_cluster_id=d.get('proxy_cluster_id'),
15471            secret_store_id=d.get('secret_store_id'),
15472            subdomain=d.get('subdomain'),
15473            tags=d.get('tags'),
15474        )
class KubernetesBasicAuth:
15477class KubernetesBasicAuth:
15478    '''
15479    KubernetesBasicAuth is currently unstable, and its API may change, or it may be removed,
15480    without a major version bump.
15481    '''
15482    __slots__ = [
15483        'bind_interface',
15484        'egress_filter',
15485        'healthcheck_namespace',
15486        'healthy',
15487        'hostname',
15488        'id',
15489        'name',
15490        'password',
15491        'port',
15492        'port_override',
15493        'proxy_cluster_id',
15494        'secret_store_id',
15495        'subdomain',
15496        'tags',
15497        'username',
15498    ]
15499
15500    def __init__(
15501        self,
15502        bind_interface=None,
15503        egress_filter=None,
15504        healthcheck_namespace=None,
15505        healthy=None,
15506        hostname=None,
15507        id=None,
15508        name=None,
15509        password=None,
15510        port=None,
15511        port_override=None,
15512        proxy_cluster_id=None,
15513        secret_store_id=None,
15514        subdomain=None,
15515        tags=None,
15516        username=None,
15517    ):
15518        self.bind_interface = bind_interface if bind_interface is not None else ''
15519        '''
15520         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15521        '''
15522        self.egress_filter = egress_filter if egress_filter is not None else ''
15523        '''
15524         A filter applied to the routing logic to pin datasource to nodes.
15525        '''
15526        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15527        '''
15528         The path used to check the health of your connection.  Defaults to `default`.
15529        '''
15530        self.healthy = healthy if healthy is not None else False
15531        '''
15532         True if the datasource is reachable and the credentials are valid.
15533        '''
15534        self.hostname = hostname if hostname is not None else ''
15535        '''
15536         The host to dial to initiate a connection from the egress node to this resource.
15537        '''
15538        self.id = id if id is not None else ''
15539        '''
15540         Unique identifier of the Resource.
15541        '''
15542        self.name = name if name is not None else ''
15543        '''
15544         Unique human-readable name of the Resource.
15545        '''
15546        self.password = password if password is not None else ''
15547        '''
15548         The password to authenticate with.
15549        '''
15550        self.port = port if port is not None else 0
15551        '''
15552         The port to dial to initiate a connection from the egress node to this resource.
15553        '''
15554        self.port_override = port_override if port_override is not None else 0
15555        '''
15556         The local port used by clients to connect to this resource.
15557        '''
15558        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15559        '''
15560         ID of the proxy cluster for this resource, if any.
15561        '''
15562        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15563        '''
15564         ID of the secret store containing credentials for this resource, if any.
15565        '''
15566        self.subdomain = subdomain if subdomain is not None else ''
15567        '''
15568         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15569        '''
15570        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15571        '''
15572         Tags is a map of key, value pairs.
15573        '''
15574        self.username = username if username is not None else ''
15575        '''
15576         The username to authenticate with.
15577        '''
15578
15579    def __repr__(self):
15580        return '<sdm.KubernetesBasicAuth ' + \
15581            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15582            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15583            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
15584            'healthy: ' + repr(self.healthy) + ' ' +\
15585            'hostname: ' + repr(self.hostname) + ' ' +\
15586            'id: ' + repr(self.id) + ' ' +\
15587            'name: ' + repr(self.name) + ' ' +\
15588            'password: ' + repr(self.password) + ' ' +\
15589            'port: ' + repr(self.port) + ' ' +\
15590            'port_override: ' + repr(self.port_override) + ' ' +\
15591            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15592            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15593            'subdomain: ' + repr(self.subdomain) + ' ' +\
15594            'tags: ' + repr(self.tags) + ' ' +\
15595            'username: ' + repr(self.username) + ' ' +\
15596            '>'
15597
15598    def to_dict(self):
15599        return {
15600            'bind_interface': self.bind_interface,
15601            'egress_filter': self.egress_filter,
15602            'healthcheck_namespace': self.healthcheck_namespace,
15603            'healthy': self.healthy,
15604            'hostname': self.hostname,
15605            'id': self.id,
15606            'name': self.name,
15607            'password': self.password,
15608            'port': self.port,
15609            'port_override': self.port_override,
15610            'proxy_cluster_id': self.proxy_cluster_id,
15611            'secret_store_id': self.secret_store_id,
15612            'subdomain': self.subdomain,
15613            'tags': self.tags,
15614            'username': self.username,
15615        }
15616
15617    @classmethod
15618    def from_dict(cls, d):
15619        return cls(
15620            bind_interface=d.get('bind_interface'),
15621            egress_filter=d.get('egress_filter'),
15622            healthcheck_namespace=d.get('healthcheck_namespace'),
15623            healthy=d.get('healthy'),
15624            hostname=d.get('hostname'),
15625            id=d.get('id'),
15626            name=d.get('name'),
15627            password=d.get('password'),
15628            port=d.get('port'),
15629            port_override=d.get('port_override'),
15630            proxy_cluster_id=d.get('proxy_cluster_id'),
15631            secret_store_id=d.get('secret_store_id'),
15632            subdomain=d.get('subdomain'),
15633            tags=d.get('tags'),
15634            username=d.get('username'),
15635        )

KubernetesBasicAuth is currently unstable, and its API may change, or it may be removed, without a major version bump.

KubernetesBasicAuth( bind_interface=None, egress_filter=None, healthcheck_namespace=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, username=None)
15500    def __init__(
15501        self,
15502        bind_interface=None,
15503        egress_filter=None,
15504        healthcheck_namespace=None,
15505        healthy=None,
15506        hostname=None,
15507        id=None,
15508        name=None,
15509        password=None,
15510        port=None,
15511        port_override=None,
15512        proxy_cluster_id=None,
15513        secret_store_id=None,
15514        subdomain=None,
15515        tags=None,
15516        username=None,
15517    ):
15518        self.bind_interface = bind_interface if bind_interface is not None else ''
15519        '''
15520         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15521        '''
15522        self.egress_filter = egress_filter if egress_filter is not None else ''
15523        '''
15524         A filter applied to the routing logic to pin datasource to nodes.
15525        '''
15526        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15527        '''
15528         The path used to check the health of your connection.  Defaults to `default`.
15529        '''
15530        self.healthy = healthy if healthy is not None else False
15531        '''
15532         True if the datasource is reachable and the credentials are valid.
15533        '''
15534        self.hostname = hostname if hostname is not None else ''
15535        '''
15536         The host to dial to initiate a connection from the egress node to this resource.
15537        '''
15538        self.id = id if id is not None else ''
15539        '''
15540         Unique identifier of the Resource.
15541        '''
15542        self.name = name if name is not None else ''
15543        '''
15544         Unique human-readable name of the Resource.
15545        '''
15546        self.password = password if password is not None else ''
15547        '''
15548         The password to authenticate with.
15549        '''
15550        self.port = port if port is not None else 0
15551        '''
15552         The port to dial to initiate a connection from the egress node to this resource.
15553        '''
15554        self.port_override = port_override if port_override is not None else 0
15555        '''
15556         The local port used by clients to connect to this resource.
15557        '''
15558        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15559        '''
15560         ID of the proxy cluster for this resource, if any.
15561        '''
15562        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15563        '''
15564         ID of the secret store containing credentials for this resource, if any.
15565        '''
15566        self.subdomain = subdomain if subdomain is not None else ''
15567        '''
15568         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15569        '''
15570        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15571        '''
15572         Tags is a map of key, value pairs.
15573        '''
15574        self.username = username if username is not None else ''
15575        '''
15576         The username to authenticate with.
15577        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthcheck_namespace

The path used to check the health of your connection. Defaults to default.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
15598    def to_dict(self):
15599        return {
15600            'bind_interface': self.bind_interface,
15601            'egress_filter': self.egress_filter,
15602            'healthcheck_namespace': self.healthcheck_namespace,
15603            'healthy': self.healthy,
15604            'hostname': self.hostname,
15605            'id': self.id,
15606            'name': self.name,
15607            'password': self.password,
15608            'port': self.port,
15609            'port_override': self.port_override,
15610            'proxy_cluster_id': self.proxy_cluster_id,
15611            'secret_store_id': self.secret_store_id,
15612            'subdomain': self.subdomain,
15613            'tags': self.tags,
15614            'username': self.username,
15615        }
@classmethod
def from_dict(cls, d)
15617    @classmethod
15618    def from_dict(cls, d):
15619        return cls(
15620            bind_interface=d.get('bind_interface'),
15621            egress_filter=d.get('egress_filter'),
15622            healthcheck_namespace=d.get('healthcheck_namespace'),
15623            healthy=d.get('healthy'),
15624            hostname=d.get('hostname'),
15625            id=d.get('id'),
15626            name=d.get('name'),
15627            password=d.get('password'),
15628            port=d.get('port'),
15629            port_override=d.get('port_override'),
15630            proxy_cluster_id=d.get('proxy_cluster_id'),
15631            secret_store_id=d.get('secret_store_id'),
15632            subdomain=d.get('subdomain'),
15633            tags=d.get('tags'),
15634            username=d.get('username'),
15635        )
class KubernetesPodIdentity:
15638class KubernetesPodIdentity:
15639    __slots__ = [
15640        'allow_resource_role_bypass',
15641        'bind_interface',
15642        'certificate_authority',
15643        'discovery_enabled',
15644        'discovery_username',
15645        'egress_filter',
15646        'healthcheck_namespace',
15647        'healthy',
15648        'id',
15649        'identity_alias_healthcheck_username',
15650        'identity_set_id',
15651        'name',
15652        'port_override',
15653        'proxy_cluster_id',
15654        'secret_store_id',
15655        'subdomain',
15656        'tags',
15657    ]
15658
15659    def __init__(
15660        self,
15661        allow_resource_role_bypass=None,
15662        bind_interface=None,
15663        certificate_authority=None,
15664        discovery_enabled=None,
15665        discovery_username=None,
15666        egress_filter=None,
15667        healthcheck_namespace=None,
15668        healthy=None,
15669        id=None,
15670        identity_alias_healthcheck_username=None,
15671        identity_set_id=None,
15672        name=None,
15673        port_override=None,
15674        proxy_cluster_id=None,
15675        secret_store_id=None,
15676        subdomain=None,
15677        tags=None,
15678    ):
15679        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
15680        '''
15681         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
15682         when a resource role is not provided.
15683        '''
15684        self.bind_interface = bind_interface if bind_interface is not None else ''
15685        '''
15686         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15687        '''
15688        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
15689        '''
15690         The CA to authenticate TLS connections with.
15691        '''
15692        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
15693        '''
15694         If true, configures discovery of a cluster to be run from a node.
15695        '''
15696        self.discovery_username = discovery_username if discovery_username is not None else ''
15697        '''
15698         If a cluster is configured for user impersonation, this is the user to impersonate when
15699         running discovery.
15700        '''
15701        self.egress_filter = egress_filter if egress_filter is not None else ''
15702        '''
15703         A filter applied to the routing logic to pin datasource to nodes.
15704        '''
15705        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15706        '''
15707         The path used to check the health of your connection.  Defaults to `default`.
15708        '''
15709        self.healthy = healthy if healthy is not None else False
15710        '''
15711         True if the datasource is reachable and the credentials are valid.
15712        '''
15713        self.id = id if id is not None else ''
15714        '''
15715         Unique identifier of the Resource.
15716        '''
15717        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
15718        '''
15719         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
15720        '''
15721        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
15722        '''
15723         The ID of the identity set to use for identity connections.
15724        '''
15725        self.name = name if name is not None else ''
15726        '''
15727         Unique human-readable name of the Resource.
15728        '''
15729        self.port_override = port_override if port_override is not None else 0
15730        '''
15731         The local port used by clients to connect to this resource.
15732        '''
15733        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15734        '''
15735         ID of the proxy cluster for this resource, if any.
15736        '''
15737        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15738        '''
15739         ID of the secret store containing credentials for this resource, if any.
15740        '''
15741        self.subdomain = subdomain if subdomain is not None else ''
15742        '''
15743         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15744        '''
15745        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15746        '''
15747         Tags is a map of key, value pairs.
15748        '''
15749
15750    def __repr__(self):
15751        return '<sdm.KubernetesPodIdentity ' + \
15752            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
15753            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15754            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
15755            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
15756            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
15757            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15758            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
15759            'healthy: ' + repr(self.healthy) + ' ' +\
15760            'id: ' + repr(self.id) + ' ' +\
15761            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
15762            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
15763            'name: ' + repr(self.name) + ' ' +\
15764            'port_override: ' + repr(self.port_override) + ' ' +\
15765            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15766            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15767            'subdomain: ' + repr(self.subdomain) + ' ' +\
15768            'tags: ' + repr(self.tags) + ' ' +\
15769            '>'
15770
15771    def to_dict(self):
15772        return {
15773            'allow_resource_role_bypass': self.allow_resource_role_bypass,
15774            'bind_interface': self.bind_interface,
15775            'certificate_authority': self.certificate_authority,
15776            'discovery_enabled': self.discovery_enabled,
15777            'discovery_username': self.discovery_username,
15778            'egress_filter': self.egress_filter,
15779            'healthcheck_namespace': self.healthcheck_namespace,
15780            'healthy': self.healthy,
15781            'id': self.id,
15782            'identity_alias_healthcheck_username':
15783            self.identity_alias_healthcheck_username,
15784            'identity_set_id': self.identity_set_id,
15785            'name': self.name,
15786            'port_override': self.port_override,
15787            'proxy_cluster_id': self.proxy_cluster_id,
15788            'secret_store_id': self.secret_store_id,
15789            'subdomain': self.subdomain,
15790            'tags': self.tags,
15791        }
15792
15793    @classmethod
15794    def from_dict(cls, d):
15795        return cls(
15796            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
15797            bind_interface=d.get('bind_interface'),
15798            certificate_authority=d.get('certificate_authority'),
15799            discovery_enabled=d.get('discovery_enabled'),
15800            discovery_username=d.get('discovery_username'),
15801            egress_filter=d.get('egress_filter'),
15802            healthcheck_namespace=d.get('healthcheck_namespace'),
15803            healthy=d.get('healthy'),
15804            id=d.get('id'),
15805            identity_alias_healthcheck_username=d.get(
15806                'identity_alias_healthcheck_username'),
15807            identity_set_id=d.get('identity_set_id'),
15808            name=d.get('name'),
15809            port_override=d.get('port_override'),
15810            proxy_cluster_id=d.get('proxy_cluster_id'),
15811            secret_store_id=d.get('secret_store_id'),
15812            subdomain=d.get('subdomain'),
15813            tags=d.get('tags'),
15814        )
KubernetesPodIdentity( allow_resource_role_bypass=None, bind_interface=None, certificate_authority=None, discovery_enabled=None, discovery_username=None, egress_filter=None, healthcheck_namespace=None, healthy=None, id=None, identity_alias_healthcheck_username=None, identity_set_id=None, name=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None)
15659    def __init__(
15660        self,
15661        allow_resource_role_bypass=None,
15662        bind_interface=None,
15663        certificate_authority=None,
15664        discovery_enabled=None,
15665        discovery_username=None,
15666        egress_filter=None,
15667        healthcheck_namespace=None,
15668        healthy=None,
15669        id=None,
15670        identity_alias_healthcheck_username=None,
15671        identity_set_id=None,
15672        name=None,
15673        port_override=None,
15674        proxy_cluster_id=None,
15675        secret_store_id=None,
15676        subdomain=None,
15677        tags=None,
15678    ):
15679        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
15680        '''
15681         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
15682         when a resource role is not provided.
15683        '''
15684        self.bind_interface = bind_interface if bind_interface is not None else ''
15685        '''
15686         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15687        '''
15688        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
15689        '''
15690         The CA to authenticate TLS connections with.
15691        '''
15692        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
15693        '''
15694         If true, configures discovery of a cluster to be run from a node.
15695        '''
15696        self.discovery_username = discovery_username if discovery_username is not None else ''
15697        '''
15698         If a cluster is configured for user impersonation, this is the user to impersonate when
15699         running discovery.
15700        '''
15701        self.egress_filter = egress_filter if egress_filter is not None else ''
15702        '''
15703         A filter applied to the routing logic to pin datasource to nodes.
15704        '''
15705        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15706        '''
15707         The path used to check the health of your connection.  Defaults to `default`.
15708        '''
15709        self.healthy = healthy if healthy is not None else False
15710        '''
15711         True if the datasource is reachable and the credentials are valid.
15712        '''
15713        self.id = id if id is not None else ''
15714        '''
15715         Unique identifier of the Resource.
15716        '''
15717        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
15718        '''
15719         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
15720        '''
15721        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
15722        '''
15723         The ID of the identity set to use for identity connections.
15724        '''
15725        self.name = name if name is not None else ''
15726        '''
15727         Unique human-readable name of the Resource.
15728        '''
15729        self.port_override = port_override if port_override is not None else 0
15730        '''
15731         The local port used by clients to connect to this resource.
15732        '''
15733        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15734        '''
15735         ID of the proxy cluster for this resource, if any.
15736        '''
15737        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15738        '''
15739         ID of the secret store containing credentials for this resource, if any.
15740        '''
15741        self.subdomain = subdomain if subdomain is not None else ''
15742        '''
15743         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15744        '''
15745        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15746        '''
15747         Tags is a map of key, value pairs.
15748        '''
allow_resource_role_bypass

If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set) when a resource role is not provided.

bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.

certificate_authority

The CA to authenticate TLS connections with.

discovery_enabled

If true, configures discovery of a cluster to be run from a node.

discovery_username

If a cluster is configured for user impersonation, this is the user to impersonate when running discovery.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthcheck_namespace

The path used to check the health of your connection. Defaults to default.

healthy

True if the datasource is reachable and the credentials are valid.

id

Unique identifier of the Resource.

identity_alias_healthcheck_username

The username to use for healthchecks, when clients otherwise connect with their own identity alias username.

identity_set_id

The ID of the identity set to use for identity connections.

name

Unique human-readable name of the Resource.

port_override

The local port used by clients to connect to this resource.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)

tags

Tags is a map of key, value pairs.

def to_dict(self)
15771    def to_dict(self):
15772        return {
15773            'allow_resource_role_bypass': self.allow_resource_role_bypass,
15774            'bind_interface': self.bind_interface,
15775            'certificate_authority': self.certificate_authority,
15776            'discovery_enabled': self.discovery_enabled,
15777            'discovery_username': self.discovery_username,
15778            'egress_filter': self.egress_filter,
15779            'healthcheck_namespace': self.healthcheck_namespace,
15780            'healthy': self.healthy,
15781            'id': self.id,
15782            'identity_alias_healthcheck_username':
15783            self.identity_alias_healthcheck_username,
15784            'identity_set_id': self.identity_set_id,
15785            'name': self.name,
15786            'port_override': self.port_override,
15787            'proxy_cluster_id': self.proxy_cluster_id,
15788            'secret_store_id': self.secret_store_id,
15789            'subdomain': self.subdomain,
15790            'tags': self.tags,
15791        }
@classmethod
def from_dict(cls, d)
15793    @classmethod
15794    def from_dict(cls, d):
15795        return cls(
15796            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
15797            bind_interface=d.get('bind_interface'),
15798            certificate_authority=d.get('certificate_authority'),
15799            discovery_enabled=d.get('discovery_enabled'),
15800            discovery_username=d.get('discovery_username'),
15801            egress_filter=d.get('egress_filter'),
15802            healthcheck_namespace=d.get('healthcheck_namespace'),
15803            healthy=d.get('healthy'),
15804            id=d.get('id'),
15805            identity_alias_healthcheck_username=d.get(
15806                'identity_alias_healthcheck_username'),
15807            identity_set_id=d.get('identity_set_id'),
15808            name=d.get('name'),
15809            port_override=d.get('port_override'),
15810            proxy_cluster_id=d.get('proxy_cluster_id'),
15811            secret_store_id=d.get('secret_store_id'),
15812            subdomain=d.get('subdomain'),
15813            tags=d.get('tags'),
15814        )
class KubernetesServiceAccount:
15817class KubernetesServiceAccount:
15818    __slots__ = [
15819        'allow_resource_role_bypass',
15820        'bind_interface',
15821        'discovery_enabled',
15822        'discovery_username',
15823        'egress_filter',
15824        'healthcheck_namespace',
15825        'healthy',
15826        'hostname',
15827        'id',
15828        'identity_alias_healthcheck_username',
15829        'identity_set_id',
15830        'name',
15831        'port',
15832        'port_override',
15833        'proxy_cluster_id',
15834        'secret_store_id',
15835        'subdomain',
15836        'tags',
15837        'token',
15838    ]
15839
15840    def __init__(
15841        self,
15842        allow_resource_role_bypass=None,
15843        bind_interface=None,
15844        discovery_enabled=None,
15845        discovery_username=None,
15846        egress_filter=None,
15847        healthcheck_namespace=None,
15848        healthy=None,
15849        hostname=None,
15850        id=None,
15851        identity_alias_healthcheck_username=None,
15852        identity_set_id=None,
15853        name=None,
15854        port=None,
15855        port_override=None,
15856        proxy_cluster_id=None,
15857        secret_store_id=None,
15858        subdomain=None,
15859        tags=None,
15860        token=None,
15861    ):
15862        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
15863        '''
15864         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
15865         when a resource role is not provided.
15866        '''
15867        self.bind_interface = bind_interface if bind_interface is not None else ''
15868        '''
15869         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15870        '''
15871        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
15872        '''
15873         If true, configures discovery of a cluster to be run from a node.
15874        '''
15875        self.discovery_username = discovery_username if discovery_username is not None else ''
15876        '''
15877         If a cluster is configured for user impersonation, this is the user to impersonate when
15878         running discovery.
15879        '''
15880        self.egress_filter = egress_filter if egress_filter is not None else ''
15881        '''
15882         A filter applied to the routing logic to pin datasource to nodes.
15883        '''
15884        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15885        '''
15886         The path used to check the health of your connection.  Defaults to `default`.
15887        '''
15888        self.healthy = healthy if healthy is not None else False
15889        '''
15890         True if the datasource is reachable and the credentials are valid.
15891        '''
15892        self.hostname = hostname if hostname is not None else ''
15893        '''
15894         The host to dial to initiate a connection from the egress node to this resource.
15895        '''
15896        self.id = id if id is not None else ''
15897        '''
15898         Unique identifier of the Resource.
15899        '''
15900        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
15901        '''
15902         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
15903        '''
15904        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
15905        '''
15906         The ID of the identity set to use for identity connections.
15907        '''
15908        self.name = name if name is not None else ''
15909        '''
15910         Unique human-readable name of the Resource.
15911        '''
15912        self.port = port if port is not None else 0
15913        '''
15914         The port to dial to initiate a connection from the egress node to this resource.
15915        '''
15916        self.port_override = port_override if port_override is not None else 0
15917        '''
15918         The local port used by clients to connect to this resource.
15919        '''
15920        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15921        '''
15922         ID of the proxy cluster for this resource, if any.
15923        '''
15924        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15925        '''
15926         ID of the secret store containing credentials for this resource, if any.
15927        '''
15928        self.subdomain = subdomain if subdomain is not None else ''
15929        '''
15930         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15931        '''
15932        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15933        '''
15934         Tags is a map of key, value pairs.
15935        '''
15936        self.token = token if token is not None else ''
15937        '''
15938         The API token to authenticate with.
15939        '''
15940
15941    def __repr__(self):
15942        return '<sdm.KubernetesServiceAccount ' + \
15943            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
15944            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15945            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
15946            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
15947            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15948            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
15949            'healthy: ' + repr(self.healthy) + ' ' +\
15950            'hostname: ' + repr(self.hostname) + ' ' +\
15951            'id: ' + repr(self.id) + ' ' +\
15952            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
15953            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
15954            'name: ' + repr(self.name) + ' ' +\
15955            'port: ' + repr(self.port) + ' ' +\
15956            'port_override: ' + repr(self.port_override) + ' ' +\
15957            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15958            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15959            'subdomain: ' + repr(self.subdomain) + ' ' +\
15960            'tags: ' + repr(self.tags) + ' ' +\
15961            'token: ' + repr(self.token) + ' ' +\
15962            '>'
15963
15964    def to_dict(self):
15965        return {
15966            'allow_resource_role_bypass': self.allow_resource_role_bypass,
15967            'bind_interface': self.bind_interface,
15968            'discovery_enabled': self.discovery_enabled,
15969            'discovery_username': self.discovery_username,
15970            'egress_filter': self.egress_filter,
15971            'healthcheck_namespace': self.healthcheck_namespace,
15972            'healthy': self.healthy,
15973            'hostname': self.hostname,
15974            'id': self.id,
15975            'identity_alias_healthcheck_username':
15976            self.identity_alias_healthcheck_username,
15977            'identity_set_id': self.identity_set_id,
15978            'name': self.name,
15979            'port': self.port,
15980            'port_override': self.port_override,
15981            'proxy_cluster_id': self.proxy_cluster_id,
15982            'secret_store_id': self.secret_store_id,
15983            'subdomain': self.subdomain,
15984            'tags': self.tags,
15985            'token': self.token,
15986        }
15987
15988    @classmethod
15989    def from_dict(cls, d):
15990        return cls(
15991            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
15992            bind_interface=d.get('bind_interface'),
15993            discovery_enabled=d.get('discovery_enabled'),
15994            discovery_username=d.get('discovery_username'),
15995            egress_filter=d.get('egress_filter'),
15996            healthcheck_namespace=d.get('healthcheck_namespace'),
15997            healthy=d.get('healthy'),
15998            hostname=d.get('hostname'),
15999            id=d.get('id'),
16000            identity_alias_healthcheck_username=d.get(
16001                'identity_alias_healthcheck_username'),
16002            identity_set_id=d.get('identity_set_id'),
16003            name=d.get('name'),
16004            port=d.get('port'),
16005            port_override=d.get('port_override'),
16006            proxy_cluster_id=d.get('proxy_cluster_id'),
16007            secret_store_id=d.get('secret_store_id'),
16008            subdomain=d.get('subdomain'),
16009            tags=d.get('tags'),
16010            token=d.get('token'),
16011        )
KubernetesServiceAccount( allow_resource_role_bypass=None, bind_interface=None, discovery_enabled=None, discovery_username=None, egress_filter=None, healthcheck_namespace=None, healthy=None, hostname=None, id=None, identity_alias_healthcheck_username=None, identity_set_id=None, name=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, token=None)
15840    def __init__(
15841        self,
15842        allow_resource_role_bypass=None,
15843        bind_interface=None,
15844        discovery_enabled=None,
15845        discovery_username=None,
15846        egress_filter=None,
15847        healthcheck_namespace=None,
15848        healthy=None,
15849        hostname=None,
15850        id=None,
15851        identity_alias_healthcheck_username=None,
15852        identity_set_id=None,
15853        name=None,
15854        port=None,
15855        port_override=None,
15856        proxy_cluster_id=None,
15857        secret_store_id=None,
15858        subdomain=None,
15859        tags=None,
15860        token=None,
15861    ):
15862        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
15863        '''
15864         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
15865         when a resource role is not provided.
15866        '''
15867        self.bind_interface = bind_interface if bind_interface is not None else ''
15868        '''
15869         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15870        '''
15871        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
15872        '''
15873         If true, configures discovery of a cluster to be run from a node.
15874        '''
15875        self.discovery_username = discovery_username if discovery_username is not None else ''
15876        '''
15877         If a cluster is configured for user impersonation, this is the user to impersonate when
15878         running discovery.
15879        '''
15880        self.egress_filter = egress_filter if egress_filter is not None else ''
15881        '''
15882         A filter applied to the routing logic to pin datasource to nodes.
15883        '''
15884        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15885        '''
15886         The path used to check the health of your connection.  Defaults to `default`.
15887        '''
15888        self.healthy = healthy if healthy is not None else False
15889        '''
15890         True if the datasource is reachable and the credentials are valid.
15891        '''
15892        self.hostname = hostname if hostname is not None else ''
15893        '''
15894         The host to dial to initiate a connection from the egress node to this resource.
15895        '''
15896        self.id = id if id is not None else ''
15897        '''
15898         Unique identifier of the Resource.
15899        '''
15900        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
15901        '''
15902         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
15903        '''
15904        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
15905        '''
15906         The ID of the identity set to use for identity connections.
15907        '''
15908        self.name = name if name is not None else ''
15909        '''
15910         Unique human-readable name of the Resource.
15911        '''
15912        self.port = port if port is not None else 0
15913        '''
15914         The port to dial to initiate a connection from the egress node to this resource.
15915        '''
15916        self.port_override = port_override if port_override is not None else 0
15917        '''
15918         The local port used by clients to connect to this resource.
15919        '''
15920        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15921        '''
15922         ID of the proxy cluster for this resource, if any.
15923        '''
15924        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15925        '''
15926         ID of the secret store containing credentials for this resource, if any.
15927        '''
15928        self.subdomain = subdomain if subdomain is not None else ''
15929        '''
15930         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15931        '''
15932        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15933        '''
15934         Tags is a map of key, value pairs.
15935        '''
15936        self.token = token if token is not None else ''
15937        '''
15938         The API token to authenticate with.
15939        '''
allow_resource_role_bypass

If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set) when a resource role is not provided.

bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.

discovery_enabled

If true, configures discovery of a cluster to be run from a node.

discovery_username

If a cluster is configured for user impersonation, this is the user to impersonate when running discovery.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthcheck_namespace

The path used to check the health of your connection. Defaults to default.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

identity_alias_healthcheck_username

The username to use for healthchecks, when clients otherwise connect with their own identity alias username.

identity_set_id

The ID of the identity set to use for identity connections.

name

Unique human-readable name of the Resource.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)

tags

Tags is a map of key, value pairs.

token

The API token to authenticate with.

def to_dict(self)
15964    def to_dict(self):
15965        return {
15966            'allow_resource_role_bypass': self.allow_resource_role_bypass,
15967            'bind_interface': self.bind_interface,
15968            'discovery_enabled': self.discovery_enabled,
15969            'discovery_username': self.discovery_username,
15970            'egress_filter': self.egress_filter,
15971            'healthcheck_namespace': self.healthcheck_namespace,
15972            'healthy': self.healthy,
15973            'hostname': self.hostname,
15974            'id': self.id,
15975            'identity_alias_healthcheck_username':
15976            self.identity_alias_healthcheck_username,
15977            'identity_set_id': self.identity_set_id,
15978            'name': self.name,
15979            'port': self.port,
15980            'port_override': self.port_override,
15981            'proxy_cluster_id': self.proxy_cluster_id,
15982            'secret_store_id': self.secret_store_id,
15983            'subdomain': self.subdomain,
15984            'tags': self.tags,
15985            'token': self.token,
15986        }
@classmethod
def from_dict(cls, d)
15988    @classmethod
15989    def from_dict(cls, d):
15990        return cls(
15991            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
15992            bind_interface=d.get('bind_interface'),
15993            discovery_enabled=d.get('discovery_enabled'),
15994            discovery_username=d.get('discovery_username'),
15995            egress_filter=d.get('egress_filter'),
15996            healthcheck_namespace=d.get('healthcheck_namespace'),
15997            healthy=d.get('healthy'),
15998            hostname=d.get('hostname'),
15999            id=d.get('id'),
16000            identity_alias_healthcheck_username=d.get(
16001                'identity_alias_healthcheck_username'),
16002            identity_set_id=d.get('identity_set_id'),
16003            name=d.get('name'),
16004            port=d.get('port'),
16005            port_override=d.get('port_override'),
16006            proxy_cluster_id=d.get('proxy_cluster_id'),
16007            secret_store_id=d.get('secret_store_id'),
16008            subdomain=d.get('subdomain'),
16009            tags=d.get('tags'),
16010            token=d.get('token'),
16011        )
class KubernetesServiceAccountUserImpersonation:
16014class KubernetesServiceAccountUserImpersonation:
16015    __slots__ = [
16016        'bind_interface',
16017        'egress_filter',
16018        'healthcheck_namespace',
16019        'healthy',
16020        'hostname',
16021        'id',
16022        'name',
16023        'port',
16024        'port_override',
16025        'proxy_cluster_id',
16026        'secret_store_id',
16027        'subdomain',
16028        'tags',
16029        'token',
16030    ]
16031
16032    def __init__(
16033        self,
16034        bind_interface=None,
16035        egress_filter=None,
16036        healthcheck_namespace=None,
16037        healthy=None,
16038        hostname=None,
16039        id=None,
16040        name=None,
16041        port=None,
16042        port_override=None,
16043        proxy_cluster_id=None,
16044        secret_store_id=None,
16045        subdomain=None,
16046        tags=None,
16047        token=None,
16048    ):
16049        self.bind_interface = bind_interface if bind_interface is not None else ''
16050        '''
16051         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16052        '''
16053        self.egress_filter = egress_filter if egress_filter is not None else ''
16054        '''
16055         A filter applied to the routing logic to pin datasource to nodes.
16056        '''
16057        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
16058        '''
16059         The path used to check the health of your connection.  Defaults to `default`.
16060        '''
16061        self.healthy = healthy if healthy is not None else False
16062        '''
16063         True if the datasource is reachable and the credentials are valid.
16064        '''
16065        self.hostname = hostname if hostname is not None else ''
16066        '''
16067         The host to dial to initiate a connection from the egress node to this resource.
16068        '''
16069        self.id = id if id is not None else ''
16070        '''
16071         Unique identifier of the Resource.
16072        '''
16073        self.name = name if name is not None else ''
16074        '''
16075         Unique human-readable name of the Resource.
16076        '''
16077        self.port = port if port is not None else 0
16078        '''
16079         The port to dial to initiate a connection from the egress node to this resource.
16080        '''
16081        self.port_override = port_override if port_override is not None else 0
16082        '''
16083         The local port used by clients to connect to this resource.
16084        '''
16085        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16086        '''
16087         ID of the proxy cluster for this resource, if any.
16088        '''
16089        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16090        '''
16091         ID of the secret store containing credentials for this resource, if any.
16092        '''
16093        self.subdomain = subdomain if subdomain is not None else ''
16094        '''
16095         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16096        '''
16097        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16098        '''
16099         Tags is a map of key, value pairs.
16100        '''
16101        self.token = token if token is not None else ''
16102        '''
16103         The API token to authenticate with.
16104        '''
16105
16106    def __repr__(self):
16107        return '<sdm.KubernetesServiceAccountUserImpersonation ' + \
16108            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
16109            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
16110            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
16111            'healthy: ' + repr(self.healthy) + ' ' +\
16112            'hostname: ' + repr(self.hostname) + ' ' +\
16113            'id: ' + repr(self.id) + ' ' +\
16114            'name: ' + repr(self.name) + ' ' +\
16115            'port: ' + repr(self.port) + ' ' +\
16116            'port_override: ' + repr(self.port_override) + ' ' +\
16117            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
16118            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
16119            'subdomain: ' + repr(self.subdomain) + ' ' +\
16120            'tags: ' + repr(self.tags) + ' ' +\
16121            'token: ' + repr(self.token) + ' ' +\
16122            '>'
16123
16124    def to_dict(self):
16125        return {
16126            'bind_interface': self.bind_interface,
16127            'egress_filter': self.egress_filter,
16128            'healthcheck_namespace': self.healthcheck_namespace,
16129            'healthy': self.healthy,
16130            'hostname': self.hostname,
16131            'id': self.id,
16132            'name': self.name,
16133            'port': self.port,
16134            'port_override': self.port_override,
16135            'proxy_cluster_id': self.proxy_cluster_id,
16136            'secret_store_id': self.secret_store_id,
16137            'subdomain': self.subdomain,
16138            'tags': self.tags,
16139            'token': self.token,
16140        }
16141
16142    @classmethod
16143    def from_dict(cls, d):
16144        return cls(
16145            bind_interface=d.get('bind_interface'),
16146            egress_filter=d.get('egress_filter'),
16147            healthcheck_namespace=d.get('healthcheck_namespace'),
16148            healthy=d.get('healthy'),
16149            hostname=d.get('hostname'),
16150            id=d.get('id'),
16151            name=d.get('name'),
16152            port=d.get('port'),
16153            port_override=d.get('port_override'),
16154            proxy_cluster_id=d.get('proxy_cluster_id'),
16155            secret_store_id=d.get('secret_store_id'),
16156            subdomain=d.get('subdomain'),
16157            tags=d.get('tags'),
16158            token=d.get('token'),
16159        )
KubernetesServiceAccountUserImpersonation( bind_interface=None, egress_filter=None, healthcheck_namespace=None, healthy=None, hostname=None, id=None, name=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, token=None)
16032    def __init__(
16033        self,
16034        bind_interface=None,
16035        egress_filter=None,
16036        healthcheck_namespace=None,
16037        healthy=None,
16038        hostname=None,
16039        id=None,
16040        name=None,
16041        port=None,
16042        port_override=None,
16043        proxy_cluster_id=None,
16044        secret_store_id=None,
16045        subdomain=None,
16046        tags=None,
16047        token=None,
16048    ):
16049        self.bind_interface = bind_interface if bind_interface is not None else ''
16050        '''
16051         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16052        '''
16053        self.egress_filter = egress_filter if egress_filter is not None else ''
16054        '''
16055         A filter applied to the routing logic to pin datasource to nodes.
16056        '''
16057        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
16058        '''
16059         The path used to check the health of your connection.  Defaults to `default`.
16060        '''
16061        self.healthy = healthy if healthy is not None else False
16062        '''
16063         True if the datasource is reachable and the credentials are valid.
16064        '''
16065        self.hostname = hostname if hostname is not None else ''
16066        '''
16067         The host to dial to initiate a connection from the egress node to this resource.
16068        '''
16069        self.id = id if id is not None else ''
16070        '''
16071         Unique identifier of the Resource.
16072        '''
16073        self.name = name if name is not None else ''
16074        '''
16075         Unique human-readable name of the Resource.
16076        '''
16077        self.port = port if port is not None else 0
16078        '''
16079         The port to dial to initiate a connection from the egress node to this resource.
16080        '''
16081        self.port_override = port_override if port_override is not None else 0
16082        '''
16083         The local port used by clients to connect to this resource.
16084        '''
16085        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16086        '''
16087         ID of the proxy cluster for this resource, if any.
16088        '''
16089        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16090        '''
16091         ID of the secret store containing credentials for this resource, if any.
16092        '''
16093        self.subdomain = subdomain if subdomain is not None else ''
16094        '''
16095         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16096        '''
16097        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16098        '''
16099         Tags is a map of key, value pairs.
16100        '''
16101        self.token = token if token is not None else ''
16102        '''
16103         The API token to authenticate with.
16104        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthcheck_namespace

The path used to check the health of your connection. Defaults to default.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)

tags

Tags is a map of key, value pairs.

token

The API token to authenticate with.

def to_dict(self)
16124    def to_dict(self):
16125        return {
16126            'bind_interface': self.bind_interface,
16127            'egress_filter': self.egress_filter,
16128            'healthcheck_namespace': self.healthcheck_namespace,
16129            'healthy': self.healthy,
16130            'hostname': self.hostname,
16131            'id': self.id,
16132            'name': self.name,
16133            'port': self.port,
16134            'port_override': self.port_override,
16135            'proxy_cluster_id': self.proxy_cluster_id,
16136            'secret_store_id': self.secret_store_id,
16137            'subdomain': self.subdomain,
16138            'tags': self.tags,
16139            'token': self.token,
16140        }
@classmethod
def from_dict(cls, d)
16142    @classmethod
16143    def from_dict(cls, d):
16144        return cls(
16145            bind_interface=d.get('bind_interface'),
16146            egress_filter=d.get('egress_filter'),
16147            healthcheck_namespace=d.get('healthcheck_namespace'),
16148            healthy=d.get('healthy'),
16149            hostname=d.get('hostname'),
16150            id=d.get('id'),
16151            name=d.get('name'),
16152            port=d.get('port'),
16153            port_override=d.get('port_override'),
16154            proxy_cluster_id=d.get('proxy_cluster_id'),
16155            secret_store_id=d.get('secret_store_id'),
16156            subdomain=d.get('subdomain'),
16157            tags=d.get('tags'),
16158            token=d.get('token'),
16159        )
class KubernetesUserImpersonation:
16162class KubernetesUserImpersonation:
16163    __slots__ = [
16164        'bind_interface',
16165        'certificate_authority',
16166        'client_certificate',
16167        'client_key',
16168        'egress_filter',
16169        'healthcheck_namespace',
16170        'healthy',
16171        'hostname',
16172        'id',
16173        'name',
16174        'port',
16175        'port_override',
16176        'proxy_cluster_id',
16177        'secret_store_id',
16178        'subdomain',
16179        'tags',
16180    ]
16181
16182    def __init__(
16183        self,
16184        bind_interface=None,
16185        certificate_authority=None,
16186        client_certificate=None,
16187        client_key=None,
16188        egress_filter=None,
16189        healthcheck_namespace=None,
16190        healthy=None,
16191        hostname=None,
16192        id=None,
16193        name=None,
16194        port=None,
16195        port_override=None,
16196        proxy_cluster_id=None,
16197        secret_store_id=None,
16198        subdomain=None,
16199        tags=None,
16200    ):
16201        self.bind_interface = bind_interface if bind_interface is not None else ''
16202        '''
16203         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16204        '''
16205        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
16206        '''
16207         The CA to authenticate TLS connections with.
16208        '''
16209        self.client_certificate = client_certificate if client_certificate is not None else ''
16210        '''
16211         The certificate to authenticate TLS connections with.
16212        '''
16213        self.client_key = client_key if client_key is not None else ''
16214        '''
16215         The key to authenticate TLS connections with.
16216        '''
16217        self.egress_filter = egress_filter if egress_filter is not None else ''
16218        '''
16219         A filter applied to the routing logic to pin datasource to nodes.
16220        '''
16221        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
16222        '''
16223         The path used to check the health of your connection.  Defaults to `default`.
16224        '''
16225        self.healthy = healthy if healthy is not None else False
16226        '''
16227         True if the datasource is reachable and the credentials are valid.
16228        '''
16229        self.hostname = hostname if hostname is not None else ''
16230        '''
16231         The host to dial to initiate a connection from the egress node to this resource.
16232        '''
16233        self.id = id if id is not None else ''
16234        '''
16235         Unique identifier of the Resource.
16236        '''
16237        self.name = name if name is not None else ''
16238        '''
16239         Unique human-readable name of the Resource.
16240        '''
16241        self.port = port if port is not None else 0
16242        '''
16243         The port to dial to initiate a connection from the egress node to this resource.
16244        '''
16245        self.port_override = port_override if port_override is not None else 0
16246        '''
16247         The local port used by clients to connect to this resource.
16248        '''
16249        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16250        '''
16251         ID of the proxy cluster for this resource, if any.
16252        '''
16253        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16254        '''
16255         ID of the secret store containing credentials for this resource, if any.
16256        '''
16257        self.subdomain = subdomain if subdomain is not None else ''
16258        '''
16259         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16260        '''
16261        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16262        '''
16263         Tags is a map of key, value pairs.
16264        '''
16265
16266    def __repr__(self):
16267        return '<sdm.KubernetesUserImpersonation ' + \
16268            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
16269            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
16270            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
16271            'client_key: ' + repr(self.client_key) + ' ' +\
16272            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
16273            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
16274            'healthy: ' + repr(self.healthy) + ' ' +\
16275            'hostname: ' + repr(self.hostname) + ' ' +\
16276            'id: ' + repr(self.id) + ' ' +\
16277            'name: ' + repr(self.name) + ' ' +\
16278            'port: ' + repr(self.port) + ' ' +\
16279            'port_override: ' + repr(self.port_override) + ' ' +\
16280            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
16281            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
16282            'subdomain: ' + repr(self.subdomain) + ' ' +\
16283            'tags: ' + repr(self.tags) + ' ' +\
16284            '>'
16285
16286    def to_dict(self):
16287        return {
16288            'bind_interface': self.bind_interface,
16289            'certificate_authority': self.certificate_authority,
16290            'client_certificate': self.client_certificate,
16291            'client_key': self.client_key,
16292            'egress_filter': self.egress_filter,
16293            'healthcheck_namespace': self.healthcheck_namespace,
16294            'healthy': self.healthy,
16295            'hostname': self.hostname,
16296            'id': self.id,
16297            'name': self.name,
16298            'port': self.port,
16299            'port_override': self.port_override,
16300            'proxy_cluster_id': self.proxy_cluster_id,
16301            'secret_store_id': self.secret_store_id,
16302            'subdomain': self.subdomain,
16303            'tags': self.tags,
16304        }
16305
16306    @classmethod
16307    def from_dict(cls, d):
16308        return cls(
16309            bind_interface=d.get('bind_interface'),
16310            certificate_authority=d.get('certificate_authority'),
16311            client_certificate=d.get('client_certificate'),
16312            client_key=d.get('client_key'),
16313            egress_filter=d.get('egress_filter'),
16314            healthcheck_namespace=d.get('healthcheck_namespace'),
16315            healthy=d.get('healthy'),
16316            hostname=d.get('hostname'),
16317            id=d.get('id'),
16318            name=d.get('name'),
16319            port=d.get('port'),
16320            port_override=d.get('port_override'),
16321            proxy_cluster_id=d.get('proxy_cluster_id'),
16322            secret_store_id=d.get('secret_store_id'),
16323            subdomain=d.get('subdomain'),
16324            tags=d.get('tags'),
16325        )
KubernetesUserImpersonation( bind_interface=None, certificate_authority=None, client_certificate=None, client_key=None, egress_filter=None, healthcheck_namespace=None, healthy=None, hostname=None, id=None, name=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None)
16182    def __init__(
16183        self,
16184        bind_interface=None,
16185        certificate_authority=None,
16186        client_certificate=None,
16187        client_key=None,
16188        egress_filter=None,
16189        healthcheck_namespace=None,
16190        healthy=None,
16191        hostname=None,
16192        id=None,
16193        name=None,
16194        port=None,
16195        port_override=None,
16196        proxy_cluster_id=None,
16197        secret_store_id=None,
16198        subdomain=None,
16199        tags=None,
16200    ):
16201        self.bind_interface = bind_interface if bind_interface is not None else ''
16202        '''
16203         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16204        '''
16205        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
16206        '''
16207         The CA to authenticate TLS connections with.
16208        '''
16209        self.client_certificate = client_certificate if client_certificate is not None else ''
16210        '''
16211         The certificate to authenticate TLS connections with.
16212        '''
16213        self.client_key = client_key if client_key is not None else ''
16214        '''
16215         The key to authenticate TLS connections with.
16216        '''
16217        self.egress_filter = egress_filter if egress_filter is not None else ''
16218        '''
16219         A filter applied to the routing logic to pin datasource to nodes.
16220        '''
16221        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
16222        '''
16223         The path used to check the health of your connection.  Defaults to `default`.
16224        '''
16225        self.healthy = healthy if healthy is not None else False
16226        '''
16227         True if the datasource is reachable and the credentials are valid.
16228        '''
16229        self.hostname = hostname if hostname is not None else ''
16230        '''
16231         The host to dial to initiate a connection from the egress node to this resource.
16232        '''
16233        self.id = id if id is not None else ''
16234        '''
16235         Unique identifier of the Resource.
16236        '''
16237        self.name = name if name is not None else ''
16238        '''
16239         Unique human-readable name of the Resource.
16240        '''
16241        self.port = port if port is not None else 0
16242        '''
16243         The port to dial to initiate a connection from the egress node to this resource.
16244        '''
16245        self.port_override = port_override if port_override is not None else 0
16246        '''
16247         The local port used by clients to connect to this resource.
16248        '''
16249        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16250        '''
16251         ID of the proxy cluster for this resource, if any.
16252        '''
16253        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16254        '''
16255         ID of the secret store containing credentials for this resource, if any.
16256        '''
16257        self.subdomain = subdomain if subdomain is not None else ''
16258        '''
16259         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16260        '''
16261        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16262        '''
16263         Tags is a map of key, value pairs.
16264        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.

certificate_authority

The CA to authenticate TLS connections with.

client_certificate

The certificate to authenticate TLS connections with.

client_key

The key to authenticate TLS connections with.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthcheck_namespace

The path used to check the health of your connection. Defaults to default.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port

The port to dial to initiate a connection from the egress node to this resource.

port_override

The local port used by clients to connect to this resource.

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)

tags

Tags is a map of key, value pairs.

def to_dict(self)
16286    def to_dict(self):
16287        return {
16288            'bind_interface': self.bind_interface,
16289            'certificate_authority': self.certificate_authority,
16290            'client_certificate': self.client_certificate,
16291            'client_key': self.client_key,
16292            'egress_filter': self.egress_filter,
16293            'healthcheck_namespace': self.healthcheck_namespace,
16294            'healthy': self.healthy,
16295            'hostname': self.hostname,
16296            'id': self.id,
16297            'name': self.name,
16298            'port': self.port,
16299            'port_override': self.port_override,
16300            'proxy_cluster_id': self.proxy_cluster_id,
16301            'secret_store_id': self.secret_store_id,
16302            'subdomain': self.subdomain,
16303            'tags': self.tags,
16304        }
@classmethod
def from_dict(cls, d)
16306    @classmethod
16307    def from_dict(cls, d):
16308        return cls(
16309            bind_interface=d.get('bind_interface'),
16310            certificate_authority=d.get('certificate_authority'),
16311            client_certificate=d.get('client_certificate'),
16312            client_key=d.get('client_key'),
16313            egress_filter=d.get('egress_filter'),
16314            healthcheck_namespace=d.get('healthcheck_namespace'),
16315            healthy=d.get('healthy'),
16316            hostname=d.get('hostname'),
16317            id=d.get('id'),
16318            name=d.get('name'),
16319            port=d.get('port'),
16320            port_override=d.get('port_override'),
16321            proxy_cluster_id=d.get('proxy_cluster_id'),
16322            secret_store_id=d.get('secret_store_id'),
16323            subdomain=d.get('subdomain'),
16324            tags=d.get('tags'),
16325        )
class MTLSMysql:
16328class MTLSMysql:
16329    '''
16330    MTLSMysql is currently unstable, and its API may change, or it may be removed,
16331    without a major version bump.
16332    '''
16333    __slots__ = [
16334        'bind_interface',
16335        'certificate_authority',
16336        'client_certificate',
16337        'client_key',
16338        'database',
16339        'egress_filter',
16340        'healthy',
16341        'hostname',
16342        'id',
16343        'name',
16344        'password',
16345        'port',
16346        'port_override',
16347        'proxy_cluster_id',
16348        'require_native_auth',
16349        'secret_store_id',
16350        'server_name',
16351        'subdomain',
16352        'tags',
16353        'use_azure_single_server_usernames',
16354        'username',
16355    ]
16356
16357    def __init__(
16358        self,
16359        bind_interface=None,
16360        certificate_authority=None,
16361        client_certificate=None,
16362        client_key=None,
16363        database=None,
16364        egress_filter=None,
16365        healthy=None,
16366        hostname=None,
16367        id=None,
16368        name=None,
16369        password=None,
16370        port=None,
16371        port_override=None,
16372        proxy_cluster_id=None,
16373        require_native_auth=None,
16374        secret_store_id=None,
16375        server_name=None,
16376        subdomain=None,
16377        tags=None,
16378        use_azure_single_server_usernames=None,
16379        username=None,
16380    ):
16381        self.bind_interface = bind_interface if bind_interface is not None else ''
16382        '''
16383         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16384        '''
16385        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
16386        '''
16387         The CA to authenticate TLS connections with.
16388        '''
16389        self.client_certificate = client_certificate if client_certificate is not None else ''
16390        '''
16391         The certificate to authenticate TLS connections with.
16392        '''
16393        self.client_key = client_key if client_key is not None else ''
16394        '''
16395         The key to authenticate TLS connections with.
16396        '''
16397        self.database = database if database is not None else ''
16398        '''
16399         The database for healthchecks. Does not affect client requests.
16400        '''
16401        self.egress_filter = egress_filter if egress_filter is not None else ''
16402        '''
16403         A filter applied to the routing logic to pin datasource to nodes.
16404        '''
16405        self.healthy = healthy if healthy is not None else False
16406        '''
16407         True if the datasource is reachable and the credentials are valid.
16408        '''
16409        self.hostname = hostname if hostname is not None else ''
16410        '''
16411         The host to dial to initiate a connection from the egress node to this resource.
16412        '''
16413        self.id = id if id is not None else ''
16414        '''
16415         Unique identifier of the Resource.
16416        '''
16417        self.name = name if name is not None else ''
16418        '''
16419         Unique human-readable name of the Resource.
16420        '''
16421        self.password = password if password is not None else ''
16422        '''
16423         The password to authenticate with.
16424        '''
16425        self.port = port if port is not None else 0
16426        '''
16427         The port to dial to initiate a connection from the egress node to this resource.
16428        '''
16429        self.port_override = port_override if port_override is not None else 0
16430        '''
16431         The local port used by clients to connect to this resource.
16432        '''
16433        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16434        '''
16435         ID of the proxy cluster for this resource, if any.
16436        '''
16437        self.require_native_auth = require_native_auth if require_native_auth is not None else False
16438        '''
16439         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
16440        '''
16441        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16442        '''
16443         ID of the secret store containing credentials for this resource, if any.
16444        '''
16445        self.server_name = server_name if server_name is not None else ''
16446        '''
16447         Server name for TLS verification (unverified by StrongDM if empty)
16448        '''
16449        self.subdomain = subdomain if subdomain is not None else ''
16450        '''
16451         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16452        '''
16453        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16454        '''
16455         Tags is a map of key, value pairs.
16456        '''
16457        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
16458        '''
16459         If true, appends the hostname to the username when hitting a database.azure.com address
16460        '''
16461        self.username = username if username is not None else ''
16462        '''
16463         The username to authenticate with.
16464        '''
16465
16466    def __repr__(self):
16467        return '<sdm.MTLSMysql ' + \
16468            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
16469            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
16470            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
16471            'client_key: ' + repr(self.client_key) + ' ' +\
16472            'database: ' + repr(self.database) + ' ' +\
16473            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
16474            'healthy: ' + repr(self.healthy) + ' ' +\
16475            'hostname: ' + repr(self.hostname) + ' ' +\
16476            'id: ' + repr(self.id) + ' ' +\
16477            'name: ' + repr(self.name) + ' ' +\
16478            'password: ' + repr(self.password) + ' ' +\
16479            'port: ' + repr(self.port) + ' ' +\
16480            'port_override: ' + repr(self.port_override) + ' ' +\
16481            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
16482            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
16483            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
16484            'server_name: ' + repr(self.server_name) + ' ' +\
16485            'subdomain: ' + repr(self.subdomain) + ' ' +\
16486            'tags: ' + repr(self.tags) + ' ' +\
16487            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
16488            'username: ' + repr(self.username) + ' ' +\
16489            '>'
16490
16491    def to_dict(self):
16492        return {
16493            'bind_interface': self.bind_interface,
16494            'certificate_authority': self.certificate_authority,
16495            'client_certificate': self.client_certificate,
16496            'client_key': self.client_key,
16497            'database': self.database,
16498            'egress_filter': self.egress_filter,
16499            'healthy': self.healthy,
16500            'hostname': self.hostname,
16501            'id': self.id,
16502            'name': self.name,
16503            'password': self.password,
16504            'port': self.port,
16505            'port_override': self.port_override,
16506            'proxy_cluster_id': self.proxy_cluster_id,
16507            'require_native_auth': self.require_native_auth,
16508            'secret_store_id': self.secret_store_id,
16509            'server_name': self.server_name,
16510            'subdomain': self.subdomain,
16511            'tags': self.tags,
16512            'use_azure_single_server_usernames':
16513            self.use_azure_single_server_usernames,
16514            'username': self.username,
16515        }
16516
16517    @classmethod
16518    def from_dict(cls, d):
16519        return cls(
16520            bind_interface=d.get('bind_interface'),
16521            certificate_authority=d.get('certificate_authority'),
16522            client_certificate=d.get('client_certificate'),
16523            client_key=d.get('client_key'),
16524            database=d.get('database'),
16525            egress_filter=d.get('egress_filter'),
16526            healthy=d.get('healthy'),
16527            hostname=d.get('hostname'),
16528            id=d.get('id'),
16529            name=d.get('name'),
16530            password=d.get('password'),
16531            port=d.get('port'),
16532            port_override=d.get('port_override'),
16533            proxy_cluster_id=d.get('proxy_cluster_id'),
16534            require_native_auth=d.get('require_native_auth'),
16535            secret_store_id=d.get('secret_store_id'),
16536            server_name=d.get('server_name'),
16537            subdomain=d.get('subdomain'),
16538            tags=d.get('tags'),
16539            use_azure_single_server_usernames=d.get(
16540                'use_azure_single_server_usernames'),
16541            username=d.get('username'),
16542        )

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)
16357    def __init__(
16358        self,
16359        bind_interface=None,
16360        certificate_authority=None,
16361        client_certificate=None,
16362        client_key=None,
16363        database=None,
16364        egress_filter=None,
16365        healthy=None,
16366        hostname=None,
16367        id=None,
16368        name=None,
16369        password=None,
16370        port=None,
16371        port_override=None,
16372        proxy_cluster_id=None,
16373        require_native_auth=None,
16374        secret_store_id=None,
16375        server_name=None,
16376        subdomain=None,
16377        tags=None,
16378        use_azure_single_server_usernames=None,
16379        username=None,
16380    ):
16381        self.bind_interface = bind_interface if bind_interface is not None else ''
16382        '''
16383         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16384        '''
16385        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
16386        '''
16387         The CA to authenticate TLS connections with.
16388        '''
16389        self.client_certificate = client_certificate if client_certificate is not None else ''
16390        '''
16391         The certificate to authenticate TLS connections with.
16392        '''
16393        self.client_key = client_key if client_key is not None else ''
16394        '''
16395         The key to authenticate TLS connections with.
16396        '''
16397        self.database = database if database is not None else ''
16398        '''
16399         The database for healthchecks. Does not affect client requests.
16400        '''
16401        self.egress_filter = egress_filter if egress_filter is not None else ''
16402        '''
16403         A filter applied to the routing logic to pin datasource to nodes.
16404        '''
16405        self.healthy = healthy if healthy is not None else False
16406        '''
16407         True if the datasource is reachable and the credentials are valid.
16408        '''
16409        self.hostname = hostname if hostname is not None else ''
16410        '''
16411         The host to dial to initiate a connection from the egress node to this resource.
16412        '''
16413        self.id = id if id is not None else ''
16414        '''
16415         Unique identifier of the Resource.
16416        '''
16417        self.name = name if name is not None else ''
16418        '''
16419         Unique human-readable name of the Resource.
16420        '''
16421        self.password = password if password is not None else ''
16422        '''
16423         The password to authenticate with.
16424        '''
16425        self.port = port if port is not None else 0
16426        '''
16427         The port to dial to initiate a connection from the egress node to this resource.
16428        '''
16429        self.port_override = port_override if port_override is not None else 0
16430        '''
16431         The local port used by clients to connect to this resource.
16432        '''
16433        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16434        '''
16435         ID of the proxy cluster for this resource, if any.
16436        '''
16437        self.require_native_auth = require_native_auth if require_native_auth is not None else False
16438        '''
16439         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
16440        '''
16441        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16442        '''
16443         ID of the secret store containing credentials for this resource, if any.
16444        '''
16445        self.server_name = server_name if server_name is not None else ''
16446        '''
16447         Server name for TLS verification (unverified by StrongDM if empty)
16448        '''
16449        self.subdomain = subdomain if subdomain is not None else ''
16450        '''
16451         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16452        '''
16453        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16454        '''
16455         Tags is a map of key, value pairs.
16456        '''
16457        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
16458        '''
16459         If true, appends the hostname to the username when hitting a database.azure.com address
16460        '''
16461        self.username = username if username is not None else ''
16462        '''
16463         The username to authenticate with.
16464        '''
bind_interface

The bind interface is the IP 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)
16491    def to_dict(self):
16492        return {
16493            'bind_interface': self.bind_interface,
16494            'certificate_authority': self.certificate_authority,
16495            'client_certificate': self.client_certificate,
16496            'client_key': self.client_key,
16497            'database': self.database,
16498            'egress_filter': self.egress_filter,
16499            'healthy': self.healthy,
16500            'hostname': self.hostname,
16501            'id': self.id,
16502            'name': self.name,
16503            'password': self.password,
16504            'port': self.port,
16505            'port_override': self.port_override,
16506            'proxy_cluster_id': self.proxy_cluster_id,
16507            'require_native_auth': self.require_native_auth,
16508            'secret_store_id': self.secret_store_id,
16509            'server_name': self.server_name,
16510            'subdomain': self.subdomain,
16511            'tags': self.tags,
16512            'use_azure_single_server_usernames':
16513            self.use_azure_single_server_usernames,
16514            'username': self.username,
16515        }
@classmethod
def from_dict(cls, d)
16517    @classmethod
16518    def from_dict(cls, d):
16519        return cls(
16520            bind_interface=d.get('bind_interface'),
16521            certificate_authority=d.get('certificate_authority'),
16522            client_certificate=d.get('client_certificate'),
16523            client_key=d.get('client_key'),
16524            database=d.get('database'),
16525            egress_filter=d.get('egress_filter'),
16526            healthy=d.get('healthy'),
16527            hostname=d.get('hostname'),
16528            id=d.get('id'),
16529            name=d.get('name'),
16530            password=d.get('password'),
16531            port=d.get('port'),
16532            port_override=d.get('port_override'),
16533            proxy_cluster_id=d.get('proxy_cluster_id'),
16534            require_native_auth=d.get('require_native_auth'),
16535            secret_store_id=d.get('secret_store_id'),
16536            server_name=d.get('server_name'),
16537            subdomain=d.get('subdomain'),
16538            tags=d.get('tags'),
16539            use_azure_single_server_usernames=d.get(
16540                'use_azure_single_server_usernames'),
16541            username=d.get('username'),
16542        )
class MTLSPostgres:
16545class MTLSPostgres:
16546    __slots__ = [
16547        'bind_interface',
16548        'certificate_authority',
16549        'client_certificate',
16550        'client_key',
16551        'database',
16552        'egress_filter',
16553        'healthy',
16554        'hostname',
16555        'id',
16556        'name',
16557        'override_database',
16558        'password',
16559        'port',
16560        'port_override',
16561        'proxy_cluster_id',
16562        'secret_store_id',
16563        'server_name',
16564        'subdomain',
16565        'tags',
16566        'username',
16567    ]
16568
16569    def __init__(
16570        self,
16571        bind_interface=None,
16572        certificate_authority=None,
16573        client_certificate=None,
16574        client_key=None,
16575        database=None,
16576        egress_filter=None,
16577        healthy=None,
16578        hostname=None,
16579        id=None,
16580        name=None,
16581        override_database=None,
16582        password=None,
16583        port=None,
16584        port_override=None,
16585        proxy_cluster_id=None,
16586        secret_store_id=None,
16587        server_name=None,
16588        subdomain=None,
16589        tags=None,
16590        username=None,
16591    ):
16592        self.bind_interface = bind_interface if bind_interface is not None else ''
16593        '''
16594         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16595        '''
16596        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
16597        '''
16598         The CA to authenticate TLS connections with.
16599        '''
16600        self.client_certificate = client_certificate if client_certificate is not None else ''
16601        '''
16602         The certificate to authenticate TLS connections with.
16603        '''
16604        self.client_key = client_key if client_key is not None else ''
16605        '''
16606         The key to authenticate TLS connections with.
16607        '''
16608        self.database = database if database is not None else ''
16609        '''
16610         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
16611        '''
16612        self.egress_filter = egress_filter if egress_filter is not None else ''
16613        '''
16614         A filter applied to the routing logic to pin datasource to nodes.
16615        '''
16616        self.healthy = healthy if healthy is not None else False
16617        '''
16618         True if the datasource is reachable and the credentials are valid.
16619        '''
16620        self.hostname = hostname if hostname is not None else ''
16621        '''
16622         The host to dial to initiate a connection from the egress node to this resource.
16623        '''
16624        self.id = id if id is not None else ''
16625        '''
16626         Unique identifier of the Resource.
16627        '''
16628        self.name = name if name is not None else ''
16629        '''
16630         Unique human-readable name of the Resource.
16631        '''
16632        self.override_database = override_database if override_database is not None else False
16633        '''
16634         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
16635        '''
16636        self.password = password if password is not None else ''
16637        '''
16638         The password to authenticate with.
16639        '''
16640        self.port = port if port is not None else 0
16641        '''
16642         The port to dial to initiate a connection from the egress node to this resource.
16643        '''
16644        self.port_override = port_override if port_override is not None else 0
16645        '''
16646         The local port used by clients to connect to this resource.
16647        '''
16648        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16649        '''
16650         ID of the proxy cluster for this resource, if any.
16651        '''
16652        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16653        '''
16654         ID of the secret store containing credentials for this resource, if any.
16655        '''
16656        self.server_name = server_name if server_name is not None else ''
16657        '''
16658         Server name for TLS verification (unverified by StrongDM if empty)
16659        '''
16660        self.subdomain = subdomain if subdomain is not None else ''
16661        '''
16662         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16663        '''
16664        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16665        '''
16666         Tags is a map of key, value pairs.
16667        '''
16668        self.username = username if username is not None else ''
16669        '''
16670         The username to authenticate with.
16671        '''
16672
16673    def __repr__(self):
16674        return '<sdm.MTLSPostgres ' + \
16675            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
16676            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
16677            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
16678            'client_key: ' + repr(self.client_key) + ' ' +\
16679            'database: ' + repr(self.database) + ' ' +\
16680            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
16681            'healthy: ' + repr(self.healthy) + ' ' +\
16682            'hostname: ' + repr(self.hostname) + ' ' +\
16683            'id: ' + repr(self.id) + ' ' +\
16684            'name: ' + repr(self.name) + ' ' +\
16685            'override_database: ' + repr(self.override_database) + ' ' +\
16686            'password: ' + repr(self.password) + ' ' +\
16687            'port: ' + repr(self.port) + ' ' +\
16688            'port_override: ' + repr(self.port_override) + ' ' +\
16689            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
16690            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
16691            'server_name: ' + repr(self.server_name) + ' ' +\
16692            'subdomain: ' + repr(self.subdomain) + ' ' +\
16693            'tags: ' + repr(self.tags) + ' ' +\
16694            'username: ' + repr(self.username) + ' ' +\
16695            '>'
16696
16697    def to_dict(self):
16698        return {
16699            'bind_interface': self.bind_interface,
16700            'certificate_authority': self.certificate_authority,
16701            'client_certificate': self.client_certificate,
16702            'client_key': self.client_key,
16703            'database': self.database,
16704            'egress_filter': self.egress_filter,
16705            'healthy': self.healthy,
16706            'hostname': self.hostname,
16707            'id': self.id,
16708            'name': self.name,
16709            'override_database': self.override_database,
16710            'password': self.password,
16711            'port': self.port,
16712            'port_override': self.port_override,
16713            'proxy_cluster_id': self.proxy_cluster_id,
16714            'secret_store_id': self.secret_store_id,
16715            'server_name': self.server_name,
16716            'subdomain': self.subdomain,
16717            'tags': self.tags,
16718            'username': self.username,
16719        }
16720
16721    @classmethod
16722    def from_dict(cls, d):
16723        return cls(
16724            bind_interface=d.get('bind_interface'),
16725            certificate_authority=d.get('certificate_authority'),
16726            client_certificate=d.get('client_certificate'),
16727            client_key=d.get('client_key'),
16728            database=d.get('database'),
16729            egress_filter=d.get('egress_filter'),
16730            healthy=d.get('healthy'),
16731            hostname=d.get('hostname'),
16732            id=d.get('id'),
16733            name=d.get('name'),
16734            override_database=d.get('override_database'),
16735            password=d.get('password'),
16736            port=d.get('port'),
16737            port_override=d.get('port_override'),
16738            proxy_cluster_id=d.get('proxy_cluster_id'),
16739            secret_store_id=d.get('secret_store_id'),
16740            server_name=d.get('server_name'),
16741            subdomain=d.get('subdomain'),
16742            tags=d.get('tags'),
16743            username=d.get('username'),
16744        )
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)
16569    def __init__(
16570        self,
16571        bind_interface=None,
16572        certificate_authority=None,
16573        client_certificate=None,
16574        client_key=None,
16575        database=None,
16576        egress_filter=None,
16577        healthy=None,
16578        hostname=None,
16579        id=None,
16580        name=None,
16581        override_database=None,
16582        password=None,
16583        port=None,
16584        port_override=None,
16585        proxy_cluster_id=None,
16586        secret_store_id=None,
16587        server_name=None,
16588        subdomain=None,
16589        tags=None,
16590        username=None,
16591    ):
16592        self.bind_interface = bind_interface if bind_interface is not None else ''
16593        '''
16594         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16595        '''
16596        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
16597        '''
16598         The CA to authenticate TLS connections with.
16599        '''
16600        self.client_certificate = client_certificate if client_certificate is not None else ''
16601        '''
16602         The certificate to authenticate TLS connections with.
16603        '''
16604        self.client_key = client_key if client_key is not None else ''
16605        '''
16606         The key to authenticate TLS connections with.
16607        '''
16608        self.database = database if database is not None else ''
16609        '''
16610         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
16611        '''
16612        self.egress_filter = egress_filter if egress_filter is not None else ''
16613        '''
16614         A filter applied to the routing logic to pin datasource to nodes.
16615        '''
16616        self.healthy = healthy if healthy is not None else False
16617        '''
16618         True if the datasource is reachable and the credentials are valid.
16619        '''
16620        self.hostname = hostname if hostname is not None else ''
16621        '''
16622         The host to dial to initiate a connection from the egress node to this resource.
16623        '''
16624        self.id = id if id is not None else ''
16625        '''
16626         Unique identifier of the Resource.
16627        '''
16628        self.name = name if name is not None else ''
16629        '''
16630         Unique human-readable name of the Resource.
16631        '''
16632        self.override_database = override_database if override_database is not None else False
16633        '''
16634         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
16635        '''
16636        self.password = password if password is not None else ''
16637        '''
16638         The password to authenticate with.
16639        '''
16640        self.port = port if port is not None else 0
16641        '''
16642         The port to dial to initiate a connection from the egress node to this resource.
16643        '''
16644        self.port_override = port_override if port_override is not None else 0
16645        '''
16646         The local port used by clients to connect to this resource.
16647        '''
16648        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16649        '''
16650         ID of the proxy cluster for this resource, if any.
16651        '''
16652        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16653        '''
16654         ID of the secret store containing credentials for this resource, if any.
16655        '''
16656        self.server_name = server_name if server_name is not None else ''
16657        '''
16658         Server name for TLS verification (unverified by StrongDM if empty)
16659        '''
16660        self.subdomain = subdomain if subdomain is not None else ''
16661        '''
16662         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16663        '''
16664        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16665        '''
16666         Tags is a map of key, value pairs.
16667        '''
16668        self.username = username if username is not None else ''
16669        '''
16670         The username to authenticate with.
16671        '''
bind_interface

The bind interface is the IP 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)
16697    def to_dict(self):
16698        return {
16699            'bind_interface': self.bind_interface,
16700            'certificate_authority': self.certificate_authority,
16701            'client_certificate': self.client_certificate,
16702            'client_key': self.client_key,
16703            'database': self.database,
16704            'egress_filter': self.egress_filter,
16705            'healthy': self.healthy,
16706            'hostname': self.hostname,
16707            'id': self.id,
16708            'name': self.name,
16709            'override_database': self.override_database,
16710            'password': self.password,
16711            'port': self.port,
16712            'port_override': self.port_override,
16713            'proxy_cluster_id': self.proxy_cluster_id,
16714            'secret_store_id': self.secret_store_id,
16715            'server_name': self.server_name,
16716            'subdomain': self.subdomain,
16717            'tags': self.tags,
16718            'username': self.username,
16719        }
@classmethod
def from_dict(cls, d)
16721    @classmethod
16722    def from_dict(cls, d):
16723        return cls(
16724            bind_interface=d.get('bind_interface'),
16725            certificate_authority=d.get('certificate_authority'),
16726            client_certificate=d.get('client_certificate'),
16727            client_key=d.get('client_key'),
16728            database=d.get('database'),
16729            egress_filter=d.get('egress_filter'),
16730            healthy=d.get('healthy'),
16731            hostname=d.get('hostname'),
16732            id=d.get('id'),
16733            name=d.get('name'),
16734            override_database=d.get('override_database'),
16735            password=d.get('password'),
16736            port=d.get('port'),
16737            port_override=d.get('port_override'),
16738            proxy_cluster_id=d.get('proxy_cluster_id'),
16739            secret_store_id=d.get('secret_store_id'),
16740            server_name=d.get('server_name'),
16741            subdomain=d.get('subdomain'),
16742            tags=d.get('tags'),
16743            username=d.get('username'),
16744        )
class ManagedSecret:
16747class ManagedSecret:
16748    '''
16749         ManagedSecret contains details about managed secret
16750    '''
16751    __slots__ = [
16752        'config',
16753        'expires_at',
16754        'id',
16755        'last_rotated_at',
16756        'name',
16757        'policy',
16758        'secret_engine_id',
16759        'secret_store_path',
16760        'tags',
16761        'value',
16762    ]
16763
16764    def __init__(
16765        self,
16766        config=None,
16767        expires_at=None,
16768        id=None,
16769        last_rotated_at=None,
16770        name=None,
16771        policy=None,
16772        secret_engine_id=None,
16773        secret_store_path=None,
16774        tags=None,
16775        value=None,
16776    ):
16777        self.config = config if config is not None else ''
16778        '''
16779         public part of the secret value
16780        '''
16781        self.expires_at = expires_at if expires_at is not None else None
16782        '''
16783         Timestamp of when secret is going to be rotated
16784        '''
16785        self.id = id if id is not None else ''
16786        '''
16787         Unique identifier of the Managed Secret.
16788        '''
16789        self.last_rotated_at = last_rotated_at if last_rotated_at is not None else None
16790        '''
16791         Timestamp of when secret was last rotated
16792        '''
16793        self.name = name if name is not None else ''
16794        '''
16795         Unique human-readable name of the Managed Secret.
16796        '''
16797        self.policy = policy if policy is not None else None
16798        '''
16799         Password and rotation policy for the secret
16800        '''
16801        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
16802        '''
16803         An ID of a Secret Engine linked with the Managed Secret.
16804        '''
16805        self.secret_store_path = secret_store_path if secret_store_path is not None else ''
16806        '''
16807         Path in a secret store.
16808        '''
16809        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16810        '''
16811         Tags is a map of key, value pairs.
16812        '''
16813        self.value = value if value is not None else b''
16814        '''
16815         Sensitive value of the secret.
16816        '''
16817
16818    def __repr__(self):
16819        return '<sdm.ManagedSecret ' + \
16820            'config: ' + repr(self.config) + ' ' +\
16821            'expires_at: ' + repr(self.expires_at) + ' ' +\
16822            'id: ' + repr(self.id) + ' ' +\
16823            'last_rotated_at: ' + repr(self.last_rotated_at) + ' ' +\
16824            'name: ' + repr(self.name) + ' ' +\
16825            'policy: ' + repr(self.policy) + ' ' +\
16826            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
16827            'secret_store_path: ' + repr(self.secret_store_path) + ' ' +\
16828            'tags: ' + repr(self.tags) + ' ' +\
16829            'value: ' + repr(self.value) + ' ' +\
16830            '>'
16831
16832    def to_dict(self):
16833        return {
16834            'config': self.config,
16835            'expires_at': self.expires_at,
16836            'id': self.id,
16837            'last_rotated_at': self.last_rotated_at,
16838            'name': self.name,
16839            'policy': self.policy,
16840            'secret_engine_id': self.secret_engine_id,
16841            'secret_store_path': self.secret_store_path,
16842            'tags': self.tags,
16843            'value': self.value,
16844        }
16845
16846    @classmethod
16847    def from_dict(cls, d):
16848        return cls(
16849            config=d.get('config'),
16850            expires_at=d.get('expires_at'),
16851            id=d.get('id'),
16852            last_rotated_at=d.get('last_rotated_at'),
16853            name=d.get('name'),
16854            policy=d.get('policy'),
16855            secret_engine_id=d.get('secret_engine_id'),
16856            secret_store_path=d.get('secret_store_path'),
16857            tags=d.get('tags'),
16858            value=d.get('value'),
16859        )

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)
16764    def __init__(
16765        self,
16766        config=None,
16767        expires_at=None,
16768        id=None,
16769        last_rotated_at=None,
16770        name=None,
16771        policy=None,
16772        secret_engine_id=None,
16773        secret_store_path=None,
16774        tags=None,
16775        value=None,
16776    ):
16777        self.config = config if config is not None else ''
16778        '''
16779         public part of the secret value
16780        '''
16781        self.expires_at = expires_at if expires_at is not None else None
16782        '''
16783         Timestamp of when secret is going to be rotated
16784        '''
16785        self.id = id if id is not None else ''
16786        '''
16787         Unique identifier of the Managed Secret.
16788        '''
16789        self.last_rotated_at = last_rotated_at if last_rotated_at is not None else None
16790        '''
16791         Timestamp of when secret was last rotated
16792        '''
16793        self.name = name if name is not None else ''
16794        '''
16795         Unique human-readable name of the Managed Secret.
16796        '''
16797        self.policy = policy if policy is not None else None
16798        '''
16799         Password and rotation policy for the secret
16800        '''
16801        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
16802        '''
16803         An ID of a Secret Engine linked with the Managed Secret.
16804        '''
16805        self.secret_store_path = secret_store_path if secret_store_path is not None else ''
16806        '''
16807         Path in a secret store.
16808        '''
16809        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16810        '''
16811         Tags is a map of key, value pairs.
16812        '''
16813        self.value = value if value is not None else b''
16814        '''
16815         Sensitive value of the secret.
16816        '''
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)
16832    def to_dict(self):
16833        return {
16834            'config': self.config,
16835            'expires_at': self.expires_at,
16836            'id': self.id,
16837            'last_rotated_at': self.last_rotated_at,
16838            'name': self.name,
16839            'policy': self.policy,
16840            'secret_engine_id': self.secret_engine_id,
16841            'secret_store_path': self.secret_store_path,
16842            'tags': self.tags,
16843            'value': self.value,
16844        }
@classmethod
def from_dict(cls, d)
16846    @classmethod
16847    def from_dict(cls, d):
16848        return cls(
16849            config=d.get('config'),
16850            expires_at=d.get('expires_at'),
16851            id=d.get('id'),
16852            last_rotated_at=d.get('last_rotated_at'),
16853            name=d.get('name'),
16854            policy=d.get('policy'),
16855            secret_engine_id=d.get('secret_engine_id'),
16856            secret_store_path=d.get('secret_store_path'),
16857            tags=d.get('tags'),
16858            value=d.get('value'),
16859        )
class ManagedSecretCreateRequest:
16862class ManagedSecretCreateRequest:
16863    '''
16864         ManagedSecretCreateRequest specifies a Managed Secret to create.
16865    '''
16866    __slots__ = [
16867        'managed_secret',
16868    ]
16869
16870    def __init__(
16871        self,
16872        managed_secret=None,
16873    ):
16874        self.managed_secret = managed_secret if managed_secret is not None else None
16875        '''
16876         Parameters to define the new Managed Secret.
16877        '''
16878
16879    def __repr__(self):
16880        return '<sdm.ManagedSecretCreateRequest ' + \
16881            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
16882            '>'
16883
16884    def to_dict(self):
16885        return {
16886            'managed_secret': self.managed_secret,
16887        }
16888
16889    @classmethod
16890    def from_dict(cls, d):
16891        return cls(managed_secret=d.get('managed_secret'), )

ManagedSecretCreateRequest specifies a Managed Secret to create.

ManagedSecretCreateRequest(managed_secret=None)
16870    def __init__(
16871        self,
16872        managed_secret=None,
16873    ):
16874        self.managed_secret = managed_secret if managed_secret is not None else None
16875        '''
16876         Parameters to define the new Managed Secret.
16877        '''
managed_secret

Parameters to define the new Managed Secret.

def to_dict(self)
16884    def to_dict(self):
16885        return {
16886            'managed_secret': self.managed_secret,
16887        }
@classmethod
def from_dict(cls, d)
16889    @classmethod
16890    def from_dict(cls, d):
16891        return cls(managed_secret=d.get('managed_secret'), )
class ManagedSecretCreateResponse:
16894class ManagedSecretCreateResponse:
16895    '''
16896         ManagedSecretCreateResponse contains information about a Managed Secret after
16897     successful creation.
16898    '''
16899    __slots__ = [
16900        'managed_secret',
16901        'meta',
16902        'rate_limit',
16903    ]
16904
16905    def __init__(
16906        self,
16907        managed_secret=None,
16908        meta=None,
16909        rate_limit=None,
16910    ):
16911        self.managed_secret = managed_secret if managed_secret is not None else None
16912        '''
16913         The requested Managed Secret.
16914        '''
16915        self.meta = meta if meta is not None else None
16916        '''
16917         Reserved for future use.
16918        '''
16919        self.rate_limit = rate_limit if rate_limit is not None else None
16920        '''
16921         Rate limit information.
16922        '''
16923
16924    def __repr__(self):
16925        return '<sdm.ManagedSecretCreateResponse ' + \
16926            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
16927            'meta: ' + repr(self.meta) + ' ' +\
16928            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16929            '>'
16930
16931    def to_dict(self):
16932        return {
16933            'managed_secret': self.managed_secret,
16934            'meta': self.meta,
16935            'rate_limit': self.rate_limit,
16936        }
16937
16938    @classmethod
16939    def from_dict(cls, d):
16940        return cls(
16941            managed_secret=d.get('managed_secret'),
16942            meta=d.get('meta'),
16943            rate_limit=d.get('rate_limit'),
16944        )

ManagedSecretCreateResponse contains information about a Managed Secret after successful creation.

ManagedSecretCreateResponse(managed_secret=None, meta=None, rate_limit=None)
16905    def __init__(
16906        self,
16907        managed_secret=None,
16908        meta=None,
16909        rate_limit=None,
16910    ):
16911        self.managed_secret = managed_secret if managed_secret is not None else None
16912        '''
16913         The requested Managed Secret.
16914        '''
16915        self.meta = meta if meta is not None else None
16916        '''
16917         Reserved for future use.
16918        '''
16919        self.rate_limit = rate_limit if rate_limit is not None else None
16920        '''
16921         Rate limit information.
16922        '''
managed_secret

The requested Managed Secret.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
16931    def to_dict(self):
16932        return {
16933            'managed_secret': self.managed_secret,
16934            'meta': self.meta,
16935            'rate_limit': self.rate_limit,
16936        }
@classmethod
def from_dict(cls, d)
16938    @classmethod
16939    def from_dict(cls, d):
16940        return cls(
16941            managed_secret=d.get('managed_secret'),
16942            meta=d.get('meta'),
16943            rate_limit=d.get('rate_limit'),
16944        )
class ManagedSecretDeleteRequest:
16947class ManagedSecretDeleteRequest:
16948    '''
16949         ManagedSecretDeleteRequest specified the ID of a Managed Secret to be
16950     deleted.
16951    '''
16952    __slots__ = [
16953        'id',
16954    ]
16955
16956    def __init__(
16957        self,
16958        id=None,
16959    ):
16960        self.id = id if id is not None else ''
16961        '''
16962         The unique identifier of the Managed Secret to delete.
16963        '''
16964
16965    def __repr__(self):
16966        return '<sdm.ManagedSecretDeleteRequest ' + \
16967            'id: ' + repr(self.id) + ' ' +\
16968            '>'
16969
16970    def to_dict(self):
16971        return {
16972            'id': self.id,
16973        }
16974
16975    @classmethod
16976    def from_dict(cls, d):
16977        return cls(id=d.get('id'), )

ManagedSecretDeleteRequest specified the ID of a Managed Secret to be deleted.

ManagedSecretDeleteRequest(id=None)
16956    def __init__(
16957        self,
16958        id=None,
16959    ):
16960        self.id = id if id is not None else ''
16961        '''
16962         The unique identifier of the Managed Secret to delete.
16963        '''
id

The unique identifier of the Managed Secret to delete.

def to_dict(self)
16970    def to_dict(self):
16971        return {
16972            'id': self.id,
16973        }
@classmethod
def from_dict(cls, d)
16975    @classmethod
16976    def from_dict(cls, d):
16977        return cls(id=d.get('id'), )
class ManagedSecretDeleteResponse:
16980class ManagedSecretDeleteResponse:
16981    '''
16982         ManagedSecretDeleteResponse contains information about a Managed Secret after
16983     it was deleted.
16984    '''
16985    __slots__ = [
16986        'rate_limit',
16987    ]
16988
16989    def __init__(
16990        self,
16991        rate_limit=None,
16992    ):
16993        self.rate_limit = rate_limit if rate_limit is not None else None
16994        '''
16995         Rate limit information.
16996        '''
16997
16998    def __repr__(self):
16999        return '<sdm.ManagedSecretDeleteResponse ' + \
17000            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17001            '>'
17002
17003    def to_dict(self):
17004        return {
17005            'rate_limit': self.rate_limit,
17006        }
17007
17008    @classmethod
17009    def from_dict(cls, d):
17010        return cls(rate_limit=d.get('rate_limit'), )

ManagedSecretDeleteResponse contains information about a Managed Secret after it was deleted.

ManagedSecretDeleteResponse(rate_limit=None)
16989    def __init__(
16990        self,
16991        rate_limit=None,
16992    ):
16993        self.rate_limit = rate_limit if rate_limit is not None else None
16994        '''
16995         Rate limit information.
16996        '''
rate_limit

Rate limit information.

def to_dict(self)
17003    def to_dict(self):
17004        return {
17005            'rate_limit': self.rate_limit,
17006        }
@classmethod
def from_dict(cls, d)
17008    @classmethod
17009    def from_dict(cls, d):
17010        return cls(rate_limit=d.get('rate_limit'), )
class ManagedSecretGetRequest:
17013class ManagedSecretGetRequest:
17014    '''
17015         ManagedSecretGetRequest specifies which Managed Secret to retrieve
17016    '''
17017    __slots__ = [
17018        'id',
17019    ]
17020
17021    def __init__(
17022        self,
17023        id=None,
17024    ):
17025        self.id = id if id is not None else ''
17026        '''
17027         The unique identifier of the Managed Secret to retrieve.
17028        '''
17029
17030    def __repr__(self):
17031        return '<sdm.ManagedSecretGetRequest ' + \
17032            'id: ' + repr(self.id) + ' ' +\
17033            '>'
17034
17035    def to_dict(self):
17036        return {
17037            'id': self.id,
17038        }
17039
17040    @classmethod
17041    def from_dict(cls, d):
17042        return cls(id=d.get('id'), )

ManagedSecretGetRequest specifies which Managed Secret to retrieve

ManagedSecretGetRequest(id=None)
17021    def __init__(
17022        self,
17023        id=None,
17024    ):
17025        self.id = id if id is not None else ''
17026        '''
17027         The unique identifier of the Managed Secret to retrieve.
17028        '''
id

The unique identifier of the Managed Secret to retrieve.

def to_dict(self)
17035    def to_dict(self):
17036        return {
17037            'id': self.id,
17038        }
@classmethod
def from_dict(cls, d)
17040    @classmethod
17041    def from_dict(cls, d):
17042        return cls(id=d.get('id'), )
class ManagedSecretGetResponse:
17045class ManagedSecretGetResponse:
17046    '''
17047         ManagedSecretGetResponse contains information about requested Managed Secret
17048    '''
17049    __slots__ = [
17050        'managed_secret',
17051        'meta',
17052        'rate_limit',
17053    ]
17054
17055    def __init__(
17056        self,
17057        managed_secret=None,
17058        meta=None,
17059        rate_limit=None,
17060    ):
17061        self.managed_secret = managed_secret if managed_secret is not None else None
17062        '''
17063         The requested Managed Secret.
17064        '''
17065        self.meta = meta if meta is not None else None
17066        '''
17067         Reserved for future use.
17068        '''
17069        self.rate_limit = rate_limit if rate_limit is not None else None
17070        '''
17071         Rate limit information.
17072        '''
17073
17074    def __repr__(self):
17075        return '<sdm.ManagedSecretGetResponse ' + \
17076            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
17077            'meta: ' + repr(self.meta) + ' ' +\
17078            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17079            '>'
17080
17081    def to_dict(self):
17082        return {
17083            'managed_secret': self.managed_secret,
17084            'meta': self.meta,
17085            'rate_limit': self.rate_limit,
17086        }
17087
17088    @classmethod
17089    def from_dict(cls, d):
17090        return cls(
17091            managed_secret=d.get('managed_secret'),
17092            meta=d.get('meta'),
17093            rate_limit=d.get('rate_limit'),
17094        )

ManagedSecretGetResponse contains information about requested Managed Secret

ManagedSecretGetResponse(managed_secret=None, meta=None, rate_limit=None)
17055    def __init__(
17056        self,
17057        managed_secret=None,
17058        meta=None,
17059        rate_limit=None,
17060    ):
17061        self.managed_secret = managed_secret if managed_secret is not None else None
17062        '''
17063         The requested Managed Secret.
17064        '''
17065        self.meta = meta if meta is not None else None
17066        '''
17067         Reserved for future use.
17068        '''
17069        self.rate_limit = rate_limit if rate_limit is not None else None
17070        '''
17071         Rate limit information.
17072        '''
managed_secret

The requested Managed Secret.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
17081    def to_dict(self):
17082        return {
17083            'managed_secret': self.managed_secret,
17084            'meta': self.meta,
17085            'rate_limit': self.rate_limit,
17086        }
@classmethod
def from_dict(cls, d)
17088    @classmethod
17089    def from_dict(cls, d):
17090        return cls(
17091            managed_secret=d.get('managed_secret'),
17092            meta=d.get('meta'),
17093            rate_limit=d.get('rate_limit'),
17094        )
class ManagedSecretListRequest:
17097class ManagedSecretListRequest:
17098    '''
17099         ManagedSecretListRequest specifies criteria for retrieving a list of Managed
17100     Secrets.
17101    '''
17102    __slots__ = [
17103        'filter',
17104    ]
17105
17106    def __init__(
17107        self,
17108        filter=None,
17109    ):
17110        self.filter = filter if filter is not None else ''
17111        '''
17112         A human-readable filter query string.
17113        '''
17114
17115    def __repr__(self):
17116        return '<sdm.ManagedSecretListRequest ' + \
17117            'filter: ' + repr(self.filter) + ' ' +\
17118            '>'
17119
17120    def to_dict(self):
17121        return {
17122            'filter': self.filter,
17123        }
17124
17125    @classmethod
17126    def from_dict(cls, d):
17127        return cls(filter=d.get('filter'), )

ManagedSecretListRequest specifies criteria for retrieving a list of Managed Secrets.

ManagedSecretListRequest(filter=None)
17106    def __init__(
17107        self,
17108        filter=None,
17109    ):
17110        self.filter = filter if filter is not None else ''
17111        '''
17112         A human-readable filter query string.
17113        '''
filter

A human-readable filter query string.

def to_dict(self)
17120    def to_dict(self):
17121        return {
17122            'filter': self.filter,
17123        }
@classmethod
def from_dict(cls, d)
17125    @classmethod
17126    def from_dict(cls, d):
17127        return cls(filter=d.get('filter'), )
class ManagedSecretListResponse:
17130class ManagedSecretListResponse:
17131    '''
17132         ManagedSecretListResponse contains a list of requested Managed Secrets
17133    '''
17134    __slots__ = [
17135        'rate_limit',
17136    ]
17137
17138    def __init__(
17139        self,
17140        rate_limit=None,
17141    ):
17142        self.rate_limit = rate_limit if rate_limit is not None else None
17143        '''
17144         Rate limit information.
17145        '''
17146
17147    def __repr__(self):
17148        return '<sdm.ManagedSecretListResponse ' + \
17149            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17150            '>'
17151
17152    def to_dict(self):
17153        return {
17154            'rate_limit': self.rate_limit,
17155        }
17156
17157    @classmethod
17158    def from_dict(cls, d):
17159        return cls(rate_limit=d.get('rate_limit'), )

ManagedSecretListResponse contains a list of requested Managed Secrets

ManagedSecretListResponse(rate_limit=None)
17138    def __init__(
17139        self,
17140        rate_limit=None,
17141    ):
17142        self.rate_limit = rate_limit if rate_limit is not None else None
17143        '''
17144         Rate limit information.
17145        '''
rate_limit

Rate limit information.

def to_dict(self)
17152    def to_dict(self):
17153        return {
17154            'rate_limit': self.rate_limit,
17155        }
@classmethod
def from_dict(cls, d)
17157    @classmethod
17158    def from_dict(cls, d):
17159        return cls(rate_limit=d.get('rate_limit'), )
class ManagedSecretLog:
17162class ManagedSecretLog:
17163    '''
17164         ManagedSecretLog contains details about action performed against a managed
17165     secret
17166    '''
17167    __slots__ = [
17168        'account_id',
17169        'action',
17170        'created_at',
17171        'debug',
17172        'id',
17173        'managed_secret_id',
17174        'secret_engine_id',
17175    ]
17176
17177    def __init__(
17178        self,
17179        account_id=None,
17180        action=None,
17181        created_at=None,
17182        debug=None,
17183        id=None,
17184        managed_secret_id=None,
17185        secret_engine_id=None,
17186    ):
17187        self.account_id = account_id if account_id is not None else ''
17188        '''
17189         An ID of the account the action was performed by.
17190        '''
17191        self.action = action if action is not None else ''
17192        '''
17193         The action performed by the account against the managed secret.
17194        '''
17195        self.created_at = created_at if created_at is not None else None
17196        '''
17197         Timestamp of when action was performed.
17198        '''
17199        self.debug = debug if debug is not None else ''
17200        '''
17201         Any debug logs associated with the action.
17202        '''
17203        self.id = id if id is not None else ''
17204        '''
17205         Unique identifier of the Managed Secret Log.
17206        '''
17207        self.managed_secret_id = managed_secret_id if managed_secret_id is not None else ''
17208        '''
17209         An ID of the Managed Secret the action was performed against.
17210        '''
17211        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
17212        '''
17213         An ID of the Secret Engine linked with the Managed Secret.
17214        '''
17215
17216    def __repr__(self):
17217        return '<sdm.ManagedSecretLog ' + \
17218            'account_id: ' + repr(self.account_id) + ' ' +\
17219            'action: ' + repr(self.action) + ' ' +\
17220            'created_at: ' + repr(self.created_at) + ' ' +\
17221            'debug: ' + repr(self.debug) + ' ' +\
17222            'id: ' + repr(self.id) + ' ' +\
17223            'managed_secret_id: ' + repr(self.managed_secret_id) + ' ' +\
17224            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
17225            '>'
17226
17227    def to_dict(self):
17228        return {
17229            'account_id': self.account_id,
17230            'action': self.action,
17231            'created_at': self.created_at,
17232            'debug': self.debug,
17233            'id': self.id,
17234            'managed_secret_id': self.managed_secret_id,
17235            'secret_engine_id': self.secret_engine_id,
17236        }
17237
17238    @classmethod
17239    def from_dict(cls, d):
17240        return cls(
17241            account_id=d.get('account_id'),
17242            action=d.get('action'),
17243            created_at=d.get('created_at'),
17244            debug=d.get('debug'),
17245            id=d.get('id'),
17246            managed_secret_id=d.get('managed_secret_id'),
17247            secret_engine_id=d.get('secret_engine_id'),
17248        )

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)
17177    def __init__(
17178        self,
17179        account_id=None,
17180        action=None,
17181        created_at=None,
17182        debug=None,
17183        id=None,
17184        managed_secret_id=None,
17185        secret_engine_id=None,
17186    ):
17187        self.account_id = account_id if account_id is not None else ''
17188        '''
17189         An ID of the account the action was performed by.
17190        '''
17191        self.action = action if action is not None else ''
17192        '''
17193         The action performed by the account against the managed secret.
17194        '''
17195        self.created_at = created_at if created_at is not None else None
17196        '''
17197         Timestamp of when action was performed.
17198        '''
17199        self.debug = debug if debug is not None else ''
17200        '''
17201         Any debug logs associated with the action.
17202        '''
17203        self.id = id if id is not None else ''
17204        '''
17205         Unique identifier of the Managed Secret Log.
17206        '''
17207        self.managed_secret_id = managed_secret_id if managed_secret_id is not None else ''
17208        '''
17209         An ID of the Managed Secret the action was performed against.
17210        '''
17211        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
17212        '''
17213         An ID of the Secret Engine linked with the Managed Secret.
17214        '''
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)
17227    def to_dict(self):
17228        return {
17229            'account_id': self.account_id,
17230            'action': self.action,
17231            'created_at': self.created_at,
17232            'debug': self.debug,
17233            'id': self.id,
17234            'managed_secret_id': self.managed_secret_id,
17235            'secret_engine_id': self.secret_engine_id,
17236        }
@classmethod
def from_dict(cls, d)
17238    @classmethod
17239    def from_dict(cls, d):
17240        return cls(
17241            account_id=d.get('account_id'),
17242            action=d.get('action'),
17243            created_at=d.get('created_at'),
17244            debug=d.get('debug'),
17245            id=d.get('id'),
17246            managed_secret_id=d.get('managed_secret_id'),
17247            secret_engine_id=d.get('secret_engine_id'),
17248        )
class ManagedSecretLogsRequest:
17251class ManagedSecretLogsRequest:
17252    '''
17253         ManagedSecretLogsRequest specifies criteria for retrieving a log of Managed
17254     Secrets actions.
17255    '''
17256    __slots__ = [
17257        'filter',
17258    ]
17259
17260    def __init__(
17261        self,
17262        filter=None,
17263    ):
17264        self.filter = filter if filter is not None else ''
17265        '''
17266         A human-readable filter query string.
17267        '''
17268
17269    def __repr__(self):
17270        return '<sdm.ManagedSecretLogsRequest ' + \
17271            'filter: ' + repr(self.filter) + ' ' +\
17272            '>'
17273
17274    def to_dict(self):
17275        return {
17276            'filter': self.filter,
17277        }
17278
17279    @classmethod
17280    def from_dict(cls, d):
17281        return cls(filter=d.get('filter'), )

ManagedSecretLogsRequest specifies criteria for retrieving a log of Managed Secrets actions.

ManagedSecretLogsRequest(filter=None)
17260    def __init__(
17261        self,
17262        filter=None,
17263    ):
17264        self.filter = filter if filter is not None else ''
17265        '''
17266         A human-readable filter query string.
17267        '''
filter

A human-readable filter query string.

def to_dict(self)
17274    def to_dict(self):
17275        return {
17276            'filter': self.filter,
17277        }
@classmethod
def from_dict(cls, d)
17279    @classmethod
17280    def from_dict(cls, d):
17281        return cls(filter=d.get('filter'), )
class ManagedSecretLogsResponse:
17284class ManagedSecretLogsResponse:
17285    '''
17286         ManagedSecretLogsResponse contains a list of requested Managed Secrets
17287    '''
17288    __slots__ = [
17289        'rate_limit',
17290    ]
17291
17292    def __init__(
17293        self,
17294        rate_limit=None,
17295    ):
17296        self.rate_limit = rate_limit if rate_limit is not None else None
17297        '''
17298         Rate limit information.
17299        '''
17300
17301    def __repr__(self):
17302        return '<sdm.ManagedSecretLogsResponse ' + \
17303            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17304            '>'
17305
17306    def to_dict(self):
17307        return {
17308            'rate_limit': self.rate_limit,
17309        }
17310
17311    @classmethod
17312    def from_dict(cls, d):
17313        return cls(rate_limit=d.get('rate_limit'), )

ManagedSecretLogsResponse contains a list of requested Managed Secrets

ManagedSecretLogsResponse(rate_limit=None)
17292    def __init__(
17293        self,
17294        rate_limit=None,
17295    ):
17296        self.rate_limit = rate_limit if rate_limit is not None else None
17297        '''
17298         Rate limit information.
17299        '''
rate_limit

Rate limit information.

def to_dict(self)
17306    def to_dict(self):
17307        return {
17308            'rate_limit': self.rate_limit,
17309        }
@classmethod
def from_dict(cls, d)
17311    @classmethod
17312    def from_dict(cls, d):
17313        return cls(rate_limit=d.get('rate_limit'), )
class ManagedSecretPasswordPolicy:
17316class ManagedSecretPasswordPolicy:
17317    __slots__ = [
17318        'allow_repeat',
17319        'exclude_characters',
17320        'exclude_upper_case',
17321        'length',
17322        'num_digits',
17323        'num_symbols',
17324    ]
17325
17326    def __init__(
17327        self,
17328        allow_repeat=None,
17329        exclude_characters=None,
17330        exclude_upper_case=None,
17331        length=None,
17332        num_digits=None,
17333        num_symbols=None,
17334    ):
17335        self.allow_repeat = allow_repeat if allow_repeat is not None else False
17336        '''
17337         If set to true allows for consecutive characters to repeat itself
17338        '''
17339        self.exclude_characters = exclude_characters if exclude_characters is not None else ''
17340        '''
17341         Characters to exclude when generating password
17342        '''
17343        self.exclude_upper_case = exclude_upper_case if exclude_upper_case is not None else False
17344        '''
17345         If set to true do not include upper case letters when generating password
17346        '''
17347        self.length = length if length is not None else 0
17348        '''
17349         Password length
17350        '''
17351        self.num_digits = num_digits if num_digits is not None else 0
17352        '''
17353         Numbers of digits to use when generating password
17354        '''
17355        self.num_symbols = num_symbols if num_symbols is not None else 0
17356        '''
17357         Number of symbols to use when generating password
17358        '''
17359
17360    def __repr__(self):
17361        return '<sdm.ManagedSecretPasswordPolicy ' + \
17362            'allow_repeat: ' + repr(self.allow_repeat) + ' ' +\
17363            'exclude_characters: ' + repr(self.exclude_characters) + ' ' +\
17364            'exclude_upper_case: ' + repr(self.exclude_upper_case) + ' ' +\
17365            'length: ' + repr(self.length) + ' ' +\
17366            'num_digits: ' + repr(self.num_digits) + ' ' +\
17367            'num_symbols: ' + repr(self.num_symbols) + ' ' +\
17368            '>'
17369
17370    def to_dict(self):
17371        return {
17372            'allow_repeat': self.allow_repeat,
17373            'exclude_characters': self.exclude_characters,
17374            'exclude_upper_case': self.exclude_upper_case,
17375            'length': self.length,
17376            'num_digits': self.num_digits,
17377            'num_symbols': self.num_symbols,
17378        }
17379
17380    @classmethod
17381    def from_dict(cls, d):
17382        return cls(
17383            allow_repeat=d.get('allow_repeat'),
17384            exclude_characters=d.get('exclude_characters'),
17385            exclude_upper_case=d.get('exclude_upper_case'),
17386            length=d.get('length'),
17387            num_digits=d.get('num_digits'),
17388            num_symbols=d.get('num_symbols'),
17389        )
ManagedSecretPasswordPolicy( allow_repeat=None, exclude_characters=None, exclude_upper_case=None, length=None, num_digits=None, num_symbols=None)
17326    def __init__(
17327        self,
17328        allow_repeat=None,
17329        exclude_characters=None,
17330        exclude_upper_case=None,
17331        length=None,
17332        num_digits=None,
17333        num_symbols=None,
17334    ):
17335        self.allow_repeat = allow_repeat if allow_repeat is not None else False
17336        '''
17337         If set to true allows for consecutive characters to repeat itself
17338        '''
17339        self.exclude_characters = exclude_characters if exclude_characters is not None else ''
17340        '''
17341         Characters to exclude when generating password
17342        '''
17343        self.exclude_upper_case = exclude_upper_case if exclude_upper_case is not None else False
17344        '''
17345         If set to true do not include upper case letters when generating password
17346        '''
17347        self.length = length if length is not None else 0
17348        '''
17349         Password length
17350        '''
17351        self.num_digits = num_digits if num_digits is not None else 0
17352        '''
17353         Numbers of digits to use when generating password
17354        '''
17355        self.num_symbols = num_symbols if num_symbols is not None else 0
17356        '''
17357         Number of symbols to use when generating password
17358        '''
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)
17370    def to_dict(self):
17371        return {
17372            'allow_repeat': self.allow_repeat,
17373            'exclude_characters': self.exclude_characters,
17374            'exclude_upper_case': self.exclude_upper_case,
17375            'length': self.length,
17376            'num_digits': self.num_digits,
17377            'num_symbols': self.num_symbols,
17378        }
@classmethod
def from_dict(cls, d)
17380    @classmethod
17381    def from_dict(cls, d):
17382        return cls(
17383            allow_repeat=d.get('allow_repeat'),
17384            exclude_characters=d.get('exclude_characters'),
17385            exclude_upper_case=d.get('exclude_upper_case'),
17386            length=d.get('length'),
17387            num_digits=d.get('num_digits'),
17388            num_symbols=d.get('num_symbols'),
17389        )
class ManagedSecretPolicy:
17392class ManagedSecretPolicy:
17393    '''
17394         ManagedSecretPolicy contains password and rotation policy for managed secret
17395    '''
17396    __slots__ = [
17397        'password_policy',
17398        'rotation_policy',
17399    ]
17400
17401    def __init__(
17402        self,
17403        password_policy=None,
17404        rotation_policy=None,
17405    ):
17406        self.password_policy = password_policy if password_policy is not None else None
17407        '''
17408         Password policy for a managed secret
17409        '''
17410        self.rotation_policy = rotation_policy if rotation_policy is not None else None
17411        '''
17412         Rotation policy for a managed secret
17413        '''
17414
17415    def __repr__(self):
17416        return '<sdm.ManagedSecretPolicy ' + \
17417            'password_policy: ' + repr(self.password_policy) + ' ' +\
17418            'rotation_policy: ' + repr(self.rotation_policy) + ' ' +\
17419            '>'
17420
17421    def to_dict(self):
17422        return {
17423            'password_policy': self.password_policy,
17424            'rotation_policy': self.rotation_policy,
17425        }
17426
17427    @classmethod
17428    def from_dict(cls, d):
17429        return cls(
17430            password_policy=d.get('password_policy'),
17431            rotation_policy=d.get('rotation_policy'),
17432        )

ManagedSecretPolicy contains password and rotation policy for managed secret

ManagedSecretPolicy(password_policy=None, rotation_policy=None)
17401    def __init__(
17402        self,
17403        password_policy=None,
17404        rotation_policy=None,
17405    ):
17406        self.password_policy = password_policy if password_policy is not None else None
17407        '''
17408         Password policy for a managed secret
17409        '''
17410        self.rotation_policy = rotation_policy if rotation_policy is not None else None
17411        '''
17412         Rotation policy for a managed secret
17413        '''
password_policy

Password policy for a managed secret

rotation_policy

Rotation policy for a managed secret

def to_dict(self)
17421    def to_dict(self):
17422        return {
17423            'password_policy': self.password_policy,
17424            'rotation_policy': self.rotation_policy,
17425        }
@classmethod
def from_dict(cls, d)
17427    @classmethod
17428    def from_dict(cls, d):
17429        return cls(
17430            password_policy=d.get('password_policy'),
17431            rotation_policy=d.get('rotation_policy'),
17432        )
class ManagedSecretRetrieveRequest:
17435class ManagedSecretRetrieveRequest:
17436    '''
17437         ManagedSecretRetrieveRequest specifies which Managed Secret to retrieve
17438    '''
17439    __slots__ = [
17440        'id',
17441        'public_key',
17442    ]
17443
17444    def __init__(
17445        self,
17446        id=None,
17447        public_key=None,
17448    ):
17449        self.id = id if id is not None else ''
17450        '''
17451         The unique identifier of the Managed Secret to retrieve.
17452        '''
17453        self.public_key = public_key if public_key is not None else b''
17454        '''
17455         Public key to encrypt a sensitive value with
17456        '''
17457
17458    def __repr__(self):
17459        return '<sdm.ManagedSecretRetrieveRequest ' + \
17460            'id: ' + repr(self.id) + ' ' +\
17461            'public_key: ' + repr(self.public_key) + ' ' +\
17462            '>'
17463
17464    def to_dict(self):
17465        return {
17466            'id': self.id,
17467            'public_key': self.public_key,
17468        }
17469
17470    @classmethod
17471    def from_dict(cls, d):
17472        return cls(
17473            id=d.get('id'),
17474            public_key=d.get('public_key'),
17475        )

ManagedSecretRetrieveRequest specifies which Managed Secret to retrieve

ManagedSecretRetrieveRequest(id=None, public_key=None)
17444    def __init__(
17445        self,
17446        id=None,
17447        public_key=None,
17448    ):
17449        self.id = id if id is not None else ''
17450        '''
17451         The unique identifier of the Managed Secret to retrieve.
17452        '''
17453        self.public_key = public_key if public_key is not None else b''
17454        '''
17455         Public key to encrypt a sensitive value with
17456        '''
id

The unique identifier of the Managed Secret to retrieve.

public_key

Public key to encrypt a sensitive value with

def to_dict(self)
17464    def to_dict(self):
17465        return {
17466            'id': self.id,
17467            'public_key': self.public_key,
17468        }
@classmethod
def from_dict(cls, d)
17470    @classmethod
17471    def from_dict(cls, d):
17472        return cls(
17473            id=d.get('id'),
17474            public_key=d.get('public_key'),
17475        )
class ManagedSecretRetrieveResponse:
17478class ManagedSecretRetrieveResponse:
17479    '''
17480         ManagedSecretRetrieveResponse contains information about requested Managed
17481     Secret
17482    '''
17483    __slots__ = [
17484        'managed_secret',
17485        'meta',
17486        'rate_limit',
17487    ]
17488
17489    def __init__(
17490        self,
17491        managed_secret=None,
17492        meta=None,
17493        rate_limit=None,
17494    ):
17495        self.managed_secret = managed_secret if managed_secret is not None else None
17496        '''
17497         The requested Managed Secret.
17498        '''
17499        self.meta = meta if meta is not None else None
17500        '''
17501         Reserved for future use.
17502        '''
17503        self.rate_limit = rate_limit if rate_limit is not None else None
17504        '''
17505         Rate limit information.
17506        '''
17507
17508    def __repr__(self):
17509        return '<sdm.ManagedSecretRetrieveResponse ' + \
17510            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
17511            'meta: ' + repr(self.meta) + ' ' +\
17512            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17513            '>'
17514
17515    def to_dict(self):
17516        return {
17517            'managed_secret': self.managed_secret,
17518            'meta': self.meta,
17519            'rate_limit': self.rate_limit,
17520        }
17521
17522    @classmethod
17523    def from_dict(cls, d):
17524        return cls(
17525            managed_secret=d.get('managed_secret'),
17526            meta=d.get('meta'),
17527            rate_limit=d.get('rate_limit'),
17528        )

ManagedSecretRetrieveResponse contains information about requested Managed Secret

ManagedSecretRetrieveResponse(managed_secret=None, meta=None, rate_limit=None)
17489    def __init__(
17490        self,
17491        managed_secret=None,
17492        meta=None,
17493        rate_limit=None,
17494    ):
17495        self.managed_secret = managed_secret if managed_secret is not None else None
17496        '''
17497         The requested Managed Secret.
17498        '''
17499        self.meta = meta if meta is not None else None
17500        '''
17501         Reserved for future use.
17502        '''
17503        self.rate_limit = rate_limit if rate_limit is not None else None
17504        '''
17505         Rate limit information.
17506        '''
managed_secret

The requested Managed Secret.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
17515    def to_dict(self):
17516        return {
17517            'managed_secret': self.managed_secret,
17518            'meta': self.meta,
17519            'rate_limit': self.rate_limit,
17520        }
@classmethod
def from_dict(cls, d)
17522    @classmethod
17523    def from_dict(cls, d):
17524        return cls(
17525            managed_secret=d.get('managed_secret'),
17526            meta=d.get('meta'),
17527            rate_limit=d.get('rate_limit'),
17528        )
class ManagedSecretRotateRequest:
17531class ManagedSecretRotateRequest:
17532    '''
17533         ManagedSecretRotateRequest specifies Managed Secret to rotate
17534    '''
17535    __slots__ = [
17536        'id',
17537    ]
17538
17539    def __init__(
17540        self,
17541        id=None,
17542    ):
17543        self.id = id if id is not None else ''
17544        '''
17545         The unique identifier of the Managed Secret to rotate.
17546        '''
17547
17548    def __repr__(self):
17549        return '<sdm.ManagedSecretRotateRequest ' + \
17550            'id: ' + repr(self.id) + ' ' +\
17551            '>'
17552
17553    def to_dict(self):
17554        return {
17555            'id': self.id,
17556        }
17557
17558    @classmethod
17559    def from_dict(cls, d):
17560        return cls(id=d.get('id'), )

ManagedSecretRotateRequest specifies Managed Secret to rotate

ManagedSecretRotateRequest(id=None)
17539    def __init__(
17540        self,
17541        id=None,
17542    ):
17543        self.id = id if id is not None else ''
17544        '''
17545         The unique identifier of the Managed Secret to rotate.
17546        '''
id

The unique identifier of the Managed Secret to rotate.

def to_dict(self)
17553    def to_dict(self):
17554        return {
17555            'id': self.id,
17556        }
@classmethod
def from_dict(cls, d)
17558    @classmethod
17559    def from_dict(cls, d):
17560        return cls(id=d.get('id'), )
class ManagedSecretRotateResponse:
17563class ManagedSecretRotateResponse:
17564    '''
17565         ManagedSecretRotateResponse contains information about Secret Engine after
17566     successful rotation.
17567    '''
17568    __slots__ = [
17569        'meta',
17570        'rate_limit',
17571    ]
17572
17573    def __init__(
17574        self,
17575        meta=None,
17576        rate_limit=None,
17577    ):
17578        self.meta = meta if meta is not None else None
17579        '''
17580         Reserved for future use.
17581        '''
17582        self.rate_limit = rate_limit if rate_limit is not None else None
17583        '''
17584         Rate limit information.
17585        '''
17586
17587    def __repr__(self):
17588        return '<sdm.ManagedSecretRotateResponse ' + \
17589            'meta: ' + repr(self.meta) + ' ' +\
17590            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17591            '>'
17592
17593    def to_dict(self):
17594        return {
17595            'meta': self.meta,
17596            'rate_limit': self.rate_limit,
17597        }
17598
17599    @classmethod
17600    def from_dict(cls, d):
17601        return cls(
17602            meta=d.get('meta'),
17603            rate_limit=d.get('rate_limit'),
17604        )

ManagedSecretRotateResponse contains information about Secret Engine after successful rotation.

ManagedSecretRotateResponse(meta=None, rate_limit=None)
17573    def __init__(
17574        self,
17575        meta=None,
17576        rate_limit=None,
17577    ):
17578        self.meta = meta if meta is not None else None
17579        '''
17580         Reserved for future use.
17581        '''
17582        self.rate_limit = rate_limit if rate_limit is not None else None
17583        '''
17584         Rate limit information.
17585        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
17593    def to_dict(self):
17594        return {
17595            'meta': self.meta,
17596            'rate_limit': self.rate_limit,
17597        }
@classmethod
def from_dict(cls, d)
17599    @classmethod
17600    def from_dict(cls, d):
17601        return cls(
17602            meta=d.get('meta'),
17603            rate_limit=d.get('rate_limit'),
17604        )
class ManagedSecretRotationPolicy:
17607class ManagedSecretRotationPolicy:
17608    __slots__ = []
17609
17610    def __init__(self, ):
17611        pass
17612
17613    def __repr__(self):
17614        return '<sdm.ManagedSecretRotationPolicy ' + \
17615            '>'
17616
17617    def to_dict(self):
17618        return {}
17619
17620    @classmethod
17621    def from_dict(cls, d):
17622        return cls()
ManagedSecretRotationPolicy()
17610    def __init__(self, ):
17611        pass
def to_dict(self)
17617    def to_dict(self):
17618        return {}
@classmethod
def from_dict(cls, d)
17620    @classmethod
17621    def from_dict(cls, d):
17622        return cls()
class ManagedSecretUpdateRequest:
17625class ManagedSecretUpdateRequest:
17626    '''
17627         ManagedSecretUpdateRequest specifies Managed Secret to update
17628    '''
17629    __slots__ = [
17630        'managed_secret',
17631    ]
17632
17633    def __init__(
17634        self,
17635        managed_secret=None,
17636    ):
17637        self.managed_secret = managed_secret if managed_secret is not None else None
17638        '''
17639         Managed Secret to update
17640        '''
17641
17642    def __repr__(self):
17643        return '<sdm.ManagedSecretUpdateRequest ' + \
17644            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
17645            '>'
17646
17647    def to_dict(self):
17648        return {
17649            'managed_secret': self.managed_secret,
17650        }
17651
17652    @classmethod
17653    def from_dict(cls, d):
17654        return cls(managed_secret=d.get('managed_secret'), )

ManagedSecretUpdateRequest specifies Managed Secret to update

ManagedSecretUpdateRequest(managed_secret=None)
17633    def __init__(
17634        self,
17635        managed_secret=None,
17636    ):
17637        self.managed_secret = managed_secret if managed_secret is not None else None
17638        '''
17639         Managed Secret to update
17640        '''
managed_secret

Managed Secret to update

def to_dict(self)
17647    def to_dict(self):
17648        return {
17649            'managed_secret': self.managed_secret,
17650        }
@classmethod
def from_dict(cls, d)
17652    @classmethod
17653    def from_dict(cls, d):
17654        return cls(managed_secret=d.get('managed_secret'), )
class ManagedSecretUpdateResponse:
17657class ManagedSecretUpdateResponse:
17658    '''
17659         ManagedSecretUpdateResponse contains information about Secret Engine after
17660     successful update.
17661    '''
17662    __slots__ = [
17663        'managed_secret',
17664        'meta',
17665        'rate_limit',
17666    ]
17667
17668    def __init__(
17669        self,
17670        managed_secret=None,
17671        meta=None,
17672        rate_limit=None,
17673    ):
17674        self.managed_secret = managed_secret if managed_secret is not None else None
17675        '''
17676         The requested Managed Secret.
17677        '''
17678        self.meta = meta if meta is not None else None
17679        '''
17680         Reserved for future use.
17681        '''
17682        self.rate_limit = rate_limit if rate_limit is not None else None
17683        '''
17684         Rate limit information.
17685        '''
17686
17687    def __repr__(self):
17688        return '<sdm.ManagedSecretUpdateResponse ' + \
17689            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
17690            'meta: ' + repr(self.meta) + ' ' +\
17691            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17692            '>'
17693
17694    def to_dict(self):
17695        return {
17696            'managed_secret': self.managed_secret,
17697            'meta': self.meta,
17698            'rate_limit': self.rate_limit,
17699        }
17700
17701    @classmethod
17702    def from_dict(cls, d):
17703        return cls(
17704            managed_secret=d.get('managed_secret'),
17705            meta=d.get('meta'),
17706            rate_limit=d.get('rate_limit'),
17707        )

ManagedSecretUpdateResponse contains information about Secret Engine after successful update.

ManagedSecretUpdateResponse(managed_secret=None, meta=None, rate_limit=None)
17668    def __init__(
17669        self,
17670        managed_secret=None,
17671        meta=None,
17672        rate_limit=None,
17673    ):
17674        self.managed_secret = managed_secret if managed_secret is not None else None
17675        '''
17676         The requested Managed Secret.
17677        '''
17678        self.meta = meta if meta is not None else None
17679        '''
17680         Reserved for future use.
17681        '''
17682        self.rate_limit = rate_limit if rate_limit is not None else None
17683        '''
17684         Rate limit information.
17685        '''
managed_secret

The requested Managed Secret.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
17694    def to_dict(self):
17695        return {
17696            'managed_secret': self.managed_secret,
17697            'meta': self.meta,
17698            'rate_limit': self.rate_limit,
17699        }
@classmethod
def from_dict(cls, d)
17701    @classmethod
17702    def from_dict(cls, d):
17703        return cls(
17704            managed_secret=d.get('managed_secret'),
17705            meta=d.get('meta'),
17706            rate_limit=d.get('rate_limit'),
17707        )
class ManagedSecretValidateRequest:
17710class ManagedSecretValidateRequest:
17711    '''
17712         ManagedSecretValidateRequest specifies which Managed Secret to validate
17713    '''
17714    __slots__ = [
17715        'id',
17716    ]
17717
17718    def __init__(
17719        self,
17720        id=None,
17721    ):
17722        self.id = id if id is not None else ''
17723        '''
17724         The unique identifier of the Managed Secret to validate.
17725        '''
17726
17727    def __repr__(self):
17728        return '<sdm.ManagedSecretValidateRequest ' + \
17729            'id: ' + repr(self.id) + ' ' +\
17730            '>'
17731
17732    def to_dict(self):
17733        return {
17734            'id': self.id,
17735        }
17736
17737    @classmethod
17738    def from_dict(cls, d):
17739        return cls(id=d.get('id'), )

ManagedSecretValidateRequest specifies which Managed Secret to validate

ManagedSecretValidateRequest(id=None)
17718    def __init__(
17719        self,
17720        id=None,
17721    ):
17722        self.id = id if id is not None else ''
17723        '''
17724         The unique identifier of the Managed Secret to validate.
17725        '''
id

The unique identifier of the Managed Secret to validate.

def to_dict(self)
17732    def to_dict(self):
17733        return {
17734            'id': self.id,
17735        }
@classmethod
def from_dict(cls, d)
17737    @classmethod
17738    def from_dict(cls, d):
17739        return cls(id=d.get('id'), )
class ManagedSecretValidateResponse:
17742class ManagedSecretValidateResponse:
17743    '''
17744         ManagedSecretValidateResponse contains validity of requested Managed
17745     Secret
17746    '''
17747    __slots__ = [
17748        'invalid_info',
17749        'meta',
17750        'rate_limit',
17751        'valid',
17752    ]
17753
17754    def __init__(
17755        self,
17756        invalid_info=None,
17757        meta=None,
17758        rate_limit=None,
17759        valid=None,
17760    ):
17761        self.invalid_info = invalid_info if invalid_info is not None else ''
17762        '''
17763         Information about why secret is invalid
17764        '''
17765        self.meta = meta if meta is not None else None
17766        '''
17767         Reserved for future use.
17768        '''
17769        self.rate_limit = rate_limit if rate_limit is not None else None
17770        '''
17771         Rate limit information.
17772        '''
17773        self.valid = valid if valid is not None else False
17774        '''
17775         Whether the secret is valid
17776        '''
17777
17778    def __repr__(self):
17779        return '<sdm.ManagedSecretValidateResponse ' + \
17780            'invalid_info: ' + repr(self.invalid_info) + ' ' +\
17781            'meta: ' + repr(self.meta) + ' ' +\
17782            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17783            'valid: ' + repr(self.valid) + ' ' +\
17784            '>'
17785
17786    def to_dict(self):
17787        return {
17788            'invalid_info': self.invalid_info,
17789            'meta': self.meta,
17790            'rate_limit': self.rate_limit,
17791            'valid': self.valid,
17792        }
17793
17794    @classmethod
17795    def from_dict(cls, d):
17796        return cls(
17797            invalid_info=d.get('invalid_info'),
17798            meta=d.get('meta'),
17799            rate_limit=d.get('rate_limit'),
17800            valid=d.get('valid'),
17801        )

ManagedSecretValidateResponse contains validity of requested Managed Secret

ManagedSecretValidateResponse(invalid_info=None, meta=None, rate_limit=None, valid=None)
17754    def __init__(
17755        self,
17756        invalid_info=None,
17757        meta=None,
17758        rate_limit=None,
17759        valid=None,
17760    ):
17761        self.invalid_info = invalid_info if invalid_info is not None else ''
17762        '''
17763         Information about why secret is invalid
17764        '''
17765        self.meta = meta if meta is not None else None
17766        '''
17767         Reserved for future use.
17768        '''
17769        self.rate_limit = rate_limit if rate_limit is not None else None
17770        '''
17771         Rate limit information.
17772        '''
17773        self.valid = valid if valid is not None else False
17774        '''
17775         Whether the secret is valid
17776        '''
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)
17786    def to_dict(self):
17787        return {
17788            'invalid_info': self.invalid_info,
17789            'meta': self.meta,
17790            'rate_limit': self.rate_limit,
17791            'valid': self.valid,
17792        }
@classmethod
def from_dict(cls, d)
17794    @classmethod
17795    def from_dict(cls, d):
17796        return cls(
17797            invalid_info=d.get('invalid_info'),
17798            meta=d.get('meta'),
17799            rate_limit=d.get('rate_limit'),
17800            valid=d.get('valid'),
17801        )
class Maria:
17804class Maria:
17805    __slots__ = [
17806        'bind_interface',
17807        'database',
17808        'egress_filter',
17809        'healthy',
17810        'hostname',
17811        'id',
17812        'name',
17813        'password',
17814        'port',
17815        'port_override',
17816        'proxy_cluster_id',
17817        'require_native_auth',
17818        'secret_store_id',
17819        'subdomain',
17820        'tags',
17821        'use_azure_single_server_usernames',
17822        'username',
17823    ]
17824
17825    def __init__(
17826        self,
17827        bind_interface=None,
17828        database=None,
17829        egress_filter=None,
17830        healthy=None,
17831        hostname=None,
17832        id=None,
17833        name=None,
17834        password=None,
17835        port=None,
17836        port_override=None,
17837        proxy_cluster_id=None,
17838        require_native_auth=None,
17839        secret_store_id=None,
17840        subdomain=None,
17841        tags=None,
17842        use_azure_single_server_usernames=None,
17843        username=None,
17844    ):
17845        self.bind_interface = bind_interface if bind_interface is not None else ''
17846        '''
17847         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
17848        '''
17849        self.database = database if database is not None else ''
17850        '''
17851         The database for healthchecks. Does not affect client requests.
17852        '''
17853        self.egress_filter = egress_filter if egress_filter is not None else ''
17854        '''
17855         A filter applied to the routing logic to pin datasource to nodes.
17856        '''
17857        self.healthy = healthy if healthy is not None else False
17858        '''
17859         True if the datasource is reachable and the credentials are valid.
17860        '''
17861        self.hostname = hostname if hostname is not None else ''
17862        '''
17863         The host to dial to initiate a connection from the egress node to this resource.
17864        '''
17865        self.id = id if id is not None else ''
17866        '''
17867         Unique identifier of the Resource.
17868        '''
17869        self.name = name if name is not None else ''
17870        '''
17871         Unique human-readable name of the Resource.
17872        '''
17873        self.password = password if password is not None else ''
17874        '''
17875         The password to authenticate with.
17876        '''
17877        self.port = port if port is not None else 0
17878        '''
17879         The port to dial to initiate a connection from the egress node to this resource.
17880        '''
17881        self.port_override = port_override if port_override is not None else 0
17882        '''
17883         The local port used by clients to connect to this resource.
17884        '''
17885        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17886        '''
17887         ID of the proxy cluster for this resource, if any.
17888        '''
17889        self.require_native_auth = require_native_auth if require_native_auth is not None else False
17890        '''
17891         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
17892        '''
17893        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17894        '''
17895         ID of the secret store containing credentials for this resource, if any.
17896        '''
17897        self.subdomain = subdomain if subdomain is not None else ''
17898        '''
17899         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
17900        '''
17901        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17902        '''
17903         Tags is a map of key, value pairs.
17904        '''
17905        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
17906        '''
17907         If true, appends the hostname to the username when hitting a database.azure.com address
17908        '''
17909        self.username = username if username is not None else ''
17910        '''
17911         The username to authenticate with.
17912        '''
17913
17914    def __repr__(self):
17915        return '<sdm.Maria ' + \
17916            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
17917            'database: ' + repr(self.database) + ' ' +\
17918            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
17919            'healthy: ' + repr(self.healthy) + ' ' +\
17920            'hostname: ' + repr(self.hostname) + ' ' +\
17921            'id: ' + repr(self.id) + ' ' +\
17922            'name: ' + repr(self.name) + ' ' +\
17923            'password: ' + repr(self.password) + ' ' +\
17924            'port: ' + repr(self.port) + ' ' +\
17925            'port_override: ' + repr(self.port_override) + ' ' +\
17926            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
17927            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
17928            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
17929            'subdomain: ' + repr(self.subdomain) + ' ' +\
17930            'tags: ' + repr(self.tags) + ' ' +\
17931            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
17932            'username: ' + repr(self.username) + ' ' +\
17933            '>'
17934
17935    def to_dict(self):
17936        return {
17937            'bind_interface': self.bind_interface,
17938            'database': self.database,
17939            'egress_filter': self.egress_filter,
17940            'healthy': self.healthy,
17941            'hostname': self.hostname,
17942            'id': self.id,
17943            'name': self.name,
17944            'password': self.password,
17945            'port': self.port,
17946            'port_override': self.port_override,
17947            'proxy_cluster_id': self.proxy_cluster_id,
17948            'require_native_auth': self.require_native_auth,
17949            'secret_store_id': self.secret_store_id,
17950            'subdomain': self.subdomain,
17951            'tags': self.tags,
17952            'use_azure_single_server_usernames':
17953            self.use_azure_single_server_usernames,
17954            'username': self.username,
17955        }
17956
17957    @classmethod
17958    def from_dict(cls, d):
17959        return cls(
17960            bind_interface=d.get('bind_interface'),
17961            database=d.get('database'),
17962            egress_filter=d.get('egress_filter'),
17963            healthy=d.get('healthy'),
17964            hostname=d.get('hostname'),
17965            id=d.get('id'),
17966            name=d.get('name'),
17967            password=d.get('password'),
17968            port=d.get('port'),
17969            port_override=d.get('port_override'),
17970            proxy_cluster_id=d.get('proxy_cluster_id'),
17971            require_native_auth=d.get('require_native_auth'),
17972            secret_store_id=d.get('secret_store_id'),
17973            subdomain=d.get('subdomain'),
17974            tags=d.get('tags'),
17975            use_azure_single_server_usernames=d.get(
17976                'use_azure_single_server_usernames'),
17977            username=d.get('username'),
17978        )
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)
17825    def __init__(
17826        self,
17827        bind_interface=None,
17828        database=None,
17829        egress_filter=None,
17830        healthy=None,
17831        hostname=None,
17832        id=None,
17833        name=None,
17834        password=None,
17835        port=None,
17836        port_override=None,
17837        proxy_cluster_id=None,
17838        require_native_auth=None,
17839        secret_store_id=None,
17840        subdomain=None,
17841        tags=None,
17842        use_azure_single_server_usernames=None,
17843        username=None,
17844    ):
17845        self.bind_interface = bind_interface if bind_interface is not None else ''
17846        '''
17847         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
17848        '''
17849        self.database = database if database is not None else ''
17850        '''
17851         The database for healthchecks. Does not affect client requests.
17852        '''
17853        self.egress_filter = egress_filter if egress_filter is not None else ''
17854        '''
17855         A filter applied to the routing logic to pin datasource to nodes.
17856        '''
17857        self.healthy = healthy if healthy is not None else False
17858        '''
17859         True if the datasource is reachable and the credentials are valid.
17860        '''
17861        self.hostname = hostname if hostname is not None else ''
17862        '''
17863         The host to dial to initiate a connection from the egress node to this resource.
17864        '''
17865        self.id = id if id is not None else ''
17866        '''
17867         Unique identifier of the Resource.
17868        '''
17869        self.name = name if name is not None else ''
17870        '''
17871         Unique human-readable name of the Resource.
17872        '''
17873        self.password = password if password is not None else ''
17874        '''
17875         The password to authenticate with.
17876        '''
17877        self.port = port if port is not None else 0
17878        '''
17879         The port to dial to initiate a connection from the egress node to this resource.
17880        '''
17881        self.port_override = port_override if port_override is not None else 0
17882        '''
17883         The local port used by clients to connect to this resource.
17884        '''
17885        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17886        '''
17887         ID of the proxy cluster for this resource, if any.
17888        '''
17889        self.require_native_auth = require_native_auth if require_native_auth is not None else False
17890        '''
17891         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
17892        '''
17893        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17894        '''
17895         ID of the secret store containing credentials for this resource, if any.
17896        '''
17897        self.subdomain = subdomain if subdomain is not None else ''
17898        '''
17899         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
17900        '''
17901        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17902        '''
17903         Tags is a map of key, value pairs.
17904        '''
17905        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
17906        '''
17907         If true, appends the hostname to the username when hitting a database.azure.com address
17908        '''
17909        self.username = username if username is not None else ''
17910        '''
17911         The username to authenticate with.
17912        '''
bind_interface

The bind interface is the IP 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)
17935    def to_dict(self):
17936        return {
17937            'bind_interface': self.bind_interface,
17938            'database': self.database,
17939            'egress_filter': self.egress_filter,
17940            'healthy': self.healthy,
17941            'hostname': self.hostname,
17942            'id': self.id,
17943            'name': self.name,
17944            'password': self.password,
17945            'port': self.port,
17946            'port_override': self.port_override,
17947            'proxy_cluster_id': self.proxy_cluster_id,
17948            'require_native_auth': self.require_native_auth,
17949            'secret_store_id': self.secret_store_id,
17950            'subdomain': self.subdomain,
17951            'tags': self.tags,
17952            'use_azure_single_server_usernames':
17953            self.use_azure_single_server_usernames,
17954            'username': self.username,
17955        }
@classmethod
def from_dict(cls, d)
17957    @classmethod
17958    def from_dict(cls, d):
17959        return cls(
17960            bind_interface=d.get('bind_interface'),
17961            database=d.get('database'),
17962            egress_filter=d.get('egress_filter'),
17963            healthy=d.get('healthy'),
17964            hostname=d.get('hostname'),
17965            id=d.get('id'),
17966            name=d.get('name'),
17967            password=d.get('password'),
17968            port=d.get('port'),
17969            port_override=d.get('port_override'),
17970            proxy_cluster_id=d.get('proxy_cluster_id'),
17971            require_native_auth=d.get('require_native_auth'),
17972            secret_store_id=d.get('secret_store_id'),
17973            subdomain=d.get('subdomain'),
17974            tags=d.get('tags'),
17975            use_azure_single_server_usernames=d.get(
17976                'use_azure_single_server_usernames'),
17977            username=d.get('username'),
17978        )
class Memcached:
17981class Memcached:
17982    __slots__ = [
17983        'bind_interface',
17984        'egress_filter',
17985        'healthy',
17986        'hostname',
17987        'id',
17988        'name',
17989        'port',
17990        'port_override',
17991        'proxy_cluster_id',
17992        'secret_store_id',
17993        'subdomain',
17994        'tags',
17995    ]
17996
17997    def __init__(
17998        self,
17999        bind_interface=None,
18000        egress_filter=None,
18001        healthy=None,
18002        hostname=None,
18003        id=None,
18004        name=None,
18005        port=None,
18006        port_override=None,
18007        proxy_cluster_id=None,
18008        secret_store_id=None,
18009        subdomain=None,
18010        tags=None,
18011    ):
18012        self.bind_interface = bind_interface if bind_interface is not None else ''
18013        '''
18014         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18015        '''
18016        self.egress_filter = egress_filter if egress_filter is not None else ''
18017        '''
18018         A filter applied to the routing logic to pin datasource to nodes.
18019        '''
18020        self.healthy = healthy if healthy is not None else False
18021        '''
18022         True if the datasource is reachable and the credentials are valid.
18023        '''
18024        self.hostname = hostname if hostname is not None else ''
18025        '''
18026         The host to dial to initiate a connection from the egress node to this resource.
18027        '''
18028        self.id = id if id is not None else ''
18029        '''
18030         Unique identifier of the Resource.
18031        '''
18032        self.name = name if name is not None else ''
18033        '''
18034         Unique human-readable name of the Resource.
18035        '''
18036        self.port = port if port is not None else 0
18037        '''
18038         The port to dial to initiate a connection from the egress node to this resource.
18039        '''
18040        self.port_override = port_override if port_override is not None else 0
18041        '''
18042         The local port used by clients to connect to this resource.
18043        '''
18044        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18045        '''
18046         ID of the proxy cluster for this resource, if any.
18047        '''
18048        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18049        '''
18050         ID of the secret store containing credentials for this resource, if any.
18051        '''
18052        self.subdomain = subdomain if subdomain is not None else ''
18053        '''
18054         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18055        '''
18056        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18057        '''
18058         Tags is a map of key, value pairs.
18059        '''
18060
18061    def __repr__(self):
18062        return '<sdm.Memcached ' + \
18063            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18064            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18065            'healthy: ' + repr(self.healthy) + ' ' +\
18066            'hostname: ' + repr(self.hostname) + ' ' +\
18067            'id: ' + repr(self.id) + ' ' +\
18068            'name: ' + repr(self.name) + ' ' +\
18069            'port: ' + repr(self.port) + ' ' +\
18070            'port_override: ' + repr(self.port_override) + ' ' +\
18071            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18072            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18073            'subdomain: ' + repr(self.subdomain) + ' ' +\
18074            'tags: ' + repr(self.tags) + ' ' +\
18075            '>'
18076
18077    def to_dict(self):
18078        return {
18079            'bind_interface': self.bind_interface,
18080            'egress_filter': self.egress_filter,
18081            'healthy': self.healthy,
18082            'hostname': self.hostname,
18083            'id': self.id,
18084            'name': self.name,
18085            'port': self.port,
18086            'port_override': self.port_override,
18087            'proxy_cluster_id': self.proxy_cluster_id,
18088            'secret_store_id': self.secret_store_id,
18089            'subdomain': self.subdomain,
18090            'tags': self.tags,
18091        }
18092
18093    @classmethod
18094    def from_dict(cls, d):
18095        return cls(
18096            bind_interface=d.get('bind_interface'),
18097            egress_filter=d.get('egress_filter'),
18098            healthy=d.get('healthy'),
18099            hostname=d.get('hostname'),
18100            id=d.get('id'),
18101            name=d.get('name'),
18102            port=d.get('port'),
18103            port_override=d.get('port_override'),
18104            proxy_cluster_id=d.get('proxy_cluster_id'),
18105            secret_store_id=d.get('secret_store_id'),
18106            subdomain=d.get('subdomain'),
18107            tags=d.get('tags'),
18108        )
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)
17997    def __init__(
17998        self,
17999        bind_interface=None,
18000        egress_filter=None,
18001        healthy=None,
18002        hostname=None,
18003        id=None,
18004        name=None,
18005        port=None,
18006        port_override=None,
18007        proxy_cluster_id=None,
18008        secret_store_id=None,
18009        subdomain=None,
18010        tags=None,
18011    ):
18012        self.bind_interface = bind_interface if bind_interface is not None else ''
18013        '''
18014         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18015        '''
18016        self.egress_filter = egress_filter if egress_filter is not None else ''
18017        '''
18018         A filter applied to the routing logic to pin datasource to nodes.
18019        '''
18020        self.healthy = healthy if healthy is not None else False
18021        '''
18022         True if the datasource is reachable and the credentials are valid.
18023        '''
18024        self.hostname = hostname if hostname is not None else ''
18025        '''
18026         The host to dial to initiate a connection from the egress node to this resource.
18027        '''
18028        self.id = id if id is not None else ''
18029        '''
18030         Unique identifier of the Resource.
18031        '''
18032        self.name = name if name is not None else ''
18033        '''
18034         Unique human-readable name of the Resource.
18035        '''
18036        self.port = port if port is not None else 0
18037        '''
18038         The port to dial to initiate a connection from the egress node to this resource.
18039        '''
18040        self.port_override = port_override if port_override is not None else 0
18041        '''
18042         The local port used by clients to connect to this resource.
18043        '''
18044        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18045        '''
18046         ID of the proxy cluster for this resource, if any.
18047        '''
18048        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18049        '''
18050         ID of the secret store containing credentials for this resource, if any.
18051        '''
18052        self.subdomain = subdomain if subdomain is not None else ''
18053        '''
18054         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18055        '''
18056        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18057        '''
18058         Tags is a map of key, value pairs.
18059        '''
bind_interface

The bind interface is the IP 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)
18077    def to_dict(self):
18078        return {
18079            'bind_interface': self.bind_interface,
18080            'egress_filter': self.egress_filter,
18081            'healthy': self.healthy,
18082            'hostname': self.hostname,
18083            'id': self.id,
18084            'name': self.name,
18085            'port': self.port,
18086            'port_override': self.port_override,
18087            'proxy_cluster_id': self.proxy_cluster_id,
18088            'secret_store_id': self.secret_store_id,
18089            'subdomain': self.subdomain,
18090            'tags': self.tags,
18091        }
@classmethod
def from_dict(cls, d)
18093    @classmethod
18094    def from_dict(cls, d):
18095        return cls(
18096            bind_interface=d.get('bind_interface'),
18097            egress_filter=d.get('egress_filter'),
18098            healthy=d.get('healthy'),
18099            hostname=d.get('hostname'),
18100            id=d.get('id'),
18101            name=d.get('name'),
18102            port=d.get('port'),
18103            port_override=d.get('port_override'),
18104            proxy_cluster_id=d.get('proxy_cluster_id'),
18105            secret_store_id=d.get('secret_store_id'),
18106            subdomain=d.get('subdomain'),
18107            tags=d.get('tags'),
18108        )
class Memsql:
18111class Memsql:
18112    __slots__ = [
18113        'bind_interface',
18114        'database',
18115        'egress_filter',
18116        'healthy',
18117        'hostname',
18118        'id',
18119        'name',
18120        'password',
18121        'port',
18122        'port_override',
18123        'proxy_cluster_id',
18124        'require_native_auth',
18125        'secret_store_id',
18126        'subdomain',
18127        'tags',
18128        'use_azure_single_server_usernames',
18129        'username',
18130    ]
18131
18132    def __init__(
18133        self,
18134        bind_interface=None,
18135        database=None,
18136        egress_filter=None,
18137        healthy=None,
18138        hostname=None,
18139        id=None,
18140        name=None,
18141        password=None,
18142        port=None,
18143        port_override=None,
18144        proxy_cluster_id=None,
18145        require_native_auth=None,
18146        secret_store_id=None,
18147        subdomain=None,
18148        tags=None,
18149        use_azure_single_server_usernames=None,
18150        username=None,
18151    ):
18152        self.bind_interface = bind_interface if bind_interface is not None else ''
18153        '''
18154         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18155        '''
18156        self.database = database if database is not None else ''
18157        '''
18158         The database for healthchecks. Does not affect client requests.
18159        '''
18160        self.egress_filter = egress_filter if egress_filter is not None else ''
18161        '''
18162         A filter applied to the routing logic to pin datasource to nodes.
18163        '''
18164        self.healthy = healthy if healthy is not None else False
18165        '''
18166         True if the datasource is reachable and the credentials are valid.
18167        '''
18168        self.hostname = hostname if hostname is not None else ''
18169        '''
18170         The host to dial to initiate a connection from the egress node to this resource.
18171        '''
18172        self.id = id if id is not None else ''
18173        '''
18174         Unique identifier of the Resource.
18175        '''
18176        self.name = name if name is not None else ''
18177        '''
18178         Unique human-readable name of the Resource.
18179        '''
18180        self.password = password if password is not None else ''
18181        '''
18182         The password to authenticate with.
18183        '''
18184        self.port = port if port is not None else 0
18185        '''
18186         The port to dial to initiate a connection from the egress node to this resource.
18187        '''
18188        self.port_override = port_override if port_override is not None else 0
18189        '''
18190         The local port used by clients to connect to this resource.
18191        '''
18192        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18193        '''
18194         ID of the proxy cluster for this resource, if any.
18195        '''
18196        self.require_native_auth = require_native_auth if require_native_auth is not None else False
18197        '''
18198         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
18199        '''
18200        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18201        '''
18202         ID of the secret store containing credentials for this resource, if any.
18203        '''
18204        self.subdomain = subdomain if subdomain is not None else ''
18205        '''
18206         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18207        '''
18208        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18209        '''
18210         Tags is a map of key, value pairs.
18211        '''
18212        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
18213        '''
18214         If true, appends the hostname to the username when hitting a database.azure.com address
18215        '''
18216        self.username = username if username is not None else ''
18217        '''
18218         The username to authenticate with.
18219        '''
18220
18221    def __repr__(self):
18222        return '<sdm.Memsql ' + \
18223            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18224            'database: ' + repr(self.database) + ' ' +\
18225            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18226            'healthy: ' + repr(self.healthy) + ' ' +\
18227            'hostname: ' + repr(self.hostname) + ' ' +\
18228            'id: ' + repr(self.id) + ' ' +\
18229            'name: ' + repr(self.name) + ' ' +\
18230            'password: ' + repr(self.password) + ' ' +\
18231            'port: ' + repr(self.port) + ' ' +\
18232            'port_override: ' + repr(self.port_override) + ' ' +\
18233            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18234            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
18235            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18236            'subdomain: ' + repr(self.subdomain) + ' ' +\
18237            'tags: ' + repr(self.tags) + ' ' +\
18238            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
18239            'username: ' + repr(self.username) + ' ' +\
18240            '>'
18241
18242    def to_dict(self):
18243        return {
18244            'bind_interface': self.bind_interface,
18245            'database': self.database,
18246            'egress_filter': self.egress_filter,
18247            'healthy': self.healthy,
18248            'hostname': self.hostname,
18249            'id': self.id,
18250            'name': self.name,
18251            'password': self.password,
18252            'port': self.port,
18253            'port_override': self.port_override,
18254            'proxy_cluster_id': self.proxy_cluster_id,
18255            'require_native_auth': self.require_native_auth,
18256            'secret_store_id': self.secret_store_id,
18257            'subdomain': self.subdomain,
18258            'tags': self.tags,
18259            'use_azure_single_server_usernames':
18260            self.use_azure_single_server_usernames,
18261            'username': self.username,
18262        }
18263
18264    @classmethod
18265    def from_dict(cls, d):
18266        return cls(
18267            bind_interface=d.get('bind_interface'),
18268            database=d.get('database'),
18269            egress_filter=d.get('egress_filter'),
18270            healthy=d.get('healthy'),
18271            hostname=d.get('hostname'),
18272            id=d.get('id'),
18273            name=d.get('name'),
18274            password=d.get('password'),
18275            port=d.get('port'),
18276            port_override=d.get('port_override'),
18277            proxy_cluster_id=d.get('proxy_cluster_id'),
18278            require_native_auth=d.get('require_native_auth'),
18279            secret_store_id=d.get('secret_store_id'),
18280            subdomain=d.get('subdomain'),
18281            tags=d.get('tags'),
18282            use_azure_single_server_usernames=d.get(
18283                'use_azure_single_server_usernames'),
18284            username=d.get('username'),
18285        )
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)
18132    def __init__(
18133        self,
18134        bind_interface=None,
18135        database=None,
18136        egress_filter=None,
18137        healthy=None,
18138        hostname=None,
18139        id=None,
18140        name=None,
18141        password=None,
18142        port=None,
18143        port_override=None,
18144        proxy_cluster_id=None,
18145        require_native_auth=None,
18146        secret_store_id=None,
18147        subdomain=None,
18148        tags=None,
18149        use_azure_single_server_usernames=None,
18150        username=None,
18151    ):
18152        self.bind_interface = bind_interface if bind_interface is not None else ''
18153        '''
18154         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18155        '''
18156        self.database = database if database is not None else ''
18157        '''
18158         The database for healthchecks. Does not affect client requests.
18159        '''
18160        self.egress_filter = egress_filter if egress_filter is not None else ''
18161        '''
18162         A filter applied to the routing logic to pin datasource to nodes.
18163        '''
18164        self.healthy = healthy if healthy is not None else False
18165        '''
18166         True if the datasource is reachable and the credentials are valid.
18167        '''
18168        self.hostname = hostname if hostname is not None else ''
18169        '''
18170         The host to dial to initiate a connection from the egress node to this resource.
18171        '''
18172        self.id = id if id is not None else ''
18173        '''
18174         Unique identifier of the Resource.
18175        '''
18176        self.name = name if name is not None else ''
18177        '''
18178         Unique human-readable name of the Resource.
18179        '''
18180        self.password = password if password is not None else ''
18181        '''
18182         The password to authenticate with.
18183        '''
18184        self.port = port if port is not None else 0
18185        '''
18186         The port to dial to initiate a connection from the egress node to this resource.
18187        '''
18188        self.port_override = port_override if port_override is not None else 0
18189        '''
18190         The local port used by clients to connect to this resource.
18191        '''
18192        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18193        '''
18194         ID of the proxy cluster for this resource, if any.
18195        '''
18196        self.require_native_auth = require_native_auth if require_native_auth is not None else False
18197        '''
18198         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
18199        '''
18200        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18201        '''
18202         ID of the secret store containing credentials for this resource, if any.
18203        '''
18204        self.subdomain = subdomain if subdomain is not None else ''
18205        '''
18206         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18207        '''
18208        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18209        '''
18210         Tags is a map of key, value pairs.
18211        '''
18212        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
18213        '''
18214         If true, appends the hostname to the username when hitting a database.azure.com address
18215        '''
18216        self.username = username if username is not None else ''
18217        '''
18218         The username to authenticate with.
18219        '''
bind_interface

The bind interface is the IP 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)
18242    def to_dict(self):
18243        return {
18244            'bind_interface': self.bind_interface,
18245            'database': self.database,
18246            'egress_filter': self.egress_filter,
18247            'healthy': self.healthy,
18248            'hostname': self.hostname,
18249            'id': self.id,
18250            'name': self.name,
18251            'password': self.password,
18252            'port': self.port,
18253            'port_override': self.port_override,
18254            'proxy_cluster_id': self.proxy_cluster_id,
18255            'require_native_auth': self.require_native_auth,
18256            'secret_store_id': self.secret_store_id,
18257            'subdomain': self.subdomain,
18258            'tags': self.tags,
18259            'use_azure_single_server_usernames':
18260            self.use_azure_single_server_usernames,
18261            'username': self.username,
18262        }
@classmethod
def from_dict(cls, d)
18264    @classmethod
18265    def from_dict(cls, d):
18266        return cls(
18267            bind_interface=d.get('bind_interface'),
18268            database=d.get('database'),
18269            egress_filter=d.get('egress_filter'),
18270            healthy=d.get('healthy'),
18271            hostname=d.get('hostname'),
18272            id=d.get('id'),
18273            name=d.get('name'),
18274            password=d.get('password'),
18275            port=d.get('port'),
18276            port_override=d.get('port_override'),
18277            proxy_cluster_id=d.get('proxy_cluster_id'),
18278            require_native_auth=d.get('require_native_auth'),
18279            secret_store_id=d.get('secret_store_id'),
18280            subdomain=d.get('subdomain'),
18281            tags=d.get('tags'),
18282            use_azure_single_server_usernames=d.get(
18283                'use_azure_single_server_usernames'),
18284            username=d.get('username'),
18285        )
class MongoHost:
18288class MongoHost:
18289    __slots__ = [
18290        'auth_database',
18291        'bind_interface',
18292        'egress_filter',
18293        'healthy',
18294        'hostname',
18295        'id',
18296        'name',
18297        'password',
18298        'port',
18299        'port_override',
18300        'proxy_cluster_id',
18301        'secret_store_id',
18302        'subdomain',
18303        'tags',
18304        'tls_required',
18305        'username',
18306    ]
18307
18308    def __init__(
18309        self,
18310        auth_database=None,
18311        bind_interface=None,
18312        egress_filter=None,
18313        healthy=None,
18314        hostname=None,
18315        id=None,
18316        name=None,
18317        password=None,
18318        port=None,
18319        port_override=None,
18320        proxy_cluster_id=None,
18321        secret_store_id=None,
18322        subdomain=None,
18323        tags=None,
18324        tls_required=None,
18325        username=None,
18326    ):
18327        self.auth_database = auth_database if auth_database is not None else ''
18328        '''
18329         The authentication database to use.
18330        '''
18331        self.bind_interface = bind_interface if bind_interface is not None else ''
18332        '''
18333         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18334        '''
18335        self.egress_filter = egress_filter if egress_filter is not None else ''
18336        '''
18337         A filter applied to the routing logic to pin datasource to nodes.
18338        '''
18339        self.healthy = healthy if healthy is not None else False
18340        '''
18341         True if the datasource is reachable and the credentials are valid.
18342        '''
18343        self.hostname = hostname if hostname is not None else ''
18344        '''
18345         The host to dial to initiate a connection from the egress node to this resource.
18346        '''
18347        self.id = id if id is not None else ''
18348        '''
18349         Unique identifier of the Resource.
18350        '''
18351        self.name = name if name is not None else ''
18352        '''
18353         Unique human-readable name of the Resource.
18354        '''
18355        self.password = password if password is not None else ''
18356        '''
18357         The password to authenticate with.
18358        '''
18359        self.port = port if port is not None else 0
18360        '''
18361         The port to dial to initiate a connection from the egress node to this resource.
18362        '''
18363        self.port_override = port_override if port_override is not None else 0
18364        '''
18365         The local port used by clients to connect to this resource.
18366        '''
18367        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18368        '''
18369         ID of the proxy cluster for this resource, if any.
18370        '''
18371        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18372        '''
18373         ID of the secret store containing credentials for this resource, if any.
18374        '''
18375        self.subdomain = subdomain if subdomain is not None else ''
18376        '''
18377         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18378        '''
18379        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18380        '''
18381         Tags is a map of key, value pairs.
18382        '''
18383        self.tls_required = tls_required if tls_required is not None else False
18384        '''
18385         If set, TLS must be used to connect to this resource.
18386        '''
18387        self.username = username if username is not None else ''
18388        '''
18389         The username to authenticate with.
18390        '''
18391
18392    def __repr__(self):
18393        return '<sdm.MongoHost ' + \
18394            'auth_database: ' + repr(self.auth_database) + ' ' +\
18395            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18396            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18397            'healthy: ' + repr(self.healthy) + ' ' +\
18398            'hostname: ' + repr(self.hostname) + ' ' +\
18399            'id: ' + repr(self.id) + ' ' +\
18400            'name: ' + repr(self.name) + ' ' +\
18401            'password: ' + repr(self.password) + ' ' +\
18402            'port: ' + repr(self.port) + ' ' +\
18403            'port_override: ' + repr(self.port_override) + ' ' +\
18404            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18405            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18406            'subdomain: ' + repr(self.subdomain) + ' ' +\
18407            'tags: ' + repr(self.tags) + ' ' +\
18408            'tls_required: ' + repr(self.tls_required) + ' ' +\
18409            'username: ' + repr(self.username) + ' ' +\
18410            '>'
18411
18412    def to_dict(self):
18413        return {
18414            'auth_database': self.auth_database,
18415            'bind_interface': self.bind_interface,
18416            'egress_filter': self.egress_filter,
18417            'healthy': self.healthy,
18418            'hostname': self.hostname,
18419            'id': self.id,
18420            'name': self.name,
18421            'password': self.password,
18422            'port': self.port,
18423            'port_override': self.port_override,
18424            'proxy_cluster_id': self.proxy_cluster_id,
18425            'secret_store_id': self.secret_store_id,
18426            'subdomain': self.subdomain,
18427            'tags': self.tags,
18428            'tls_required': self.tls_required,
18429            'username': self.username,
18430        }
18431
18432    @classmethod
18433    def from_dict(cls, d):
18434        return cls(
18435            auth_database=d.get('auth_database'),
18436            bind_interface=d.get('bind_interface'),
18437            egress_filter=d.get('egress_filter'),
18438            healthy=d.get('healthy'),
18439            hostname=d.get('hostname'),
18440            id=d.get('id'),
18441            name=d.get('name'),
18442            password=d.get('password'),
18443            port=d.get('port'),
18444            port_override=d.get('port_override'),
18445            proxy_cluster_id=d.get('proxy_cluster_id'),
18446            secret_store_id=d.get('secret_store_id'),
18447            subdomain=d.get('subdomain'),
18448            tags=d.get('tags'),
18449            tls_required=d.get('tls_required'),
18450            username=d.get('username'),
18451        )
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)
18308    def __init__(
18309        self,
18310        auth_database=None,
18311        bind_interface=None,
18312        egress_filter=None,
18313        healthy=None,
18314        hostname=None,
18315        id=None,
18316        name=None,
18317        password=None,
18318        port=None,
18319        port_override=None,
18320        proxy_cluster_id=None,
18321        secret_store_id=None,
18322        subdomain=None,
18323        tags=None,
18324        tls_required=None,
18325        username=None,
18326    ):
18327        self.auth_database = auth_database if auth_database is not None else ''
18328        '''
18329         The authentication database to use.
18330        '''
18331        self.bind_interface = bind_interface if bind_interface is not None else ''
18332        '''
18333         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18334        '''
18335        self.egress_filter = egress_filter if egress_filter is not None else ''
18336        '''
18337         A filter applied to the routing logic to pin datasource to nodes.
18338        '''
18339        self.healthy = healthy if healthy is not None else False
18340        '''
18341         True if the datasource is reachable and the credentials are valid.
18342        '''
18343        self.hostname = hostname if hostname is not None else ''
18344        '''
18345         The host to dial to initiate a connection from the egress node to this resource.
18346        '''
18347        self.id = id if id is not None else ''
18348        '''
18349         Unique identifier of the Resource.
18350        '''
18351        self.name = name if name is not None else ''
18352        '''
18353         Unique human-readable name of the Resource.
18354        '''
18355        self.password = password if password is not None else ''
18356        '''
18357         The password to authenticate with.
18358        '''
18359        self.port = port if port is not None else 0
18360        '''
18361         The port to dial to initiate a connection from the egress node to this resource.
18362        '''
18363        self.port_override = port_override if port_override is not None else 0
18364        '''
18365         The local port used by clients to connect to this resource.
18366        '''
18367        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18368        '''
18369         ID of the proxy cluster for this resource, if any.
18370        '''
18371        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18372        '''
18373         ID of the secret store containing credentials for this resource, if any.
18374        '''
18375        self.subdomain = subdomain if subdomain is not None else ''
18376        '''
18377         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18378        '''
18379        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18380        '''
18381         Tags is a map of key, value pairs.
18382        '''
18383        self.tls_required = tls_required if tls_required is not None else False
18384        '''
18385         If set, TLS must be used to connect to this resource.
18386        '''
18387        self.username = username if username is not None else ''
18388        '''
18389         The username to authenticate with.
18390        '''
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)
18412    def to_dict(self):
18413        return {
18414            'auth_database': self.auth_database,
18415            'bind_interface': self.bind_interface,
18416            'egress_filter': self.egress_filter,
18417            'healthy': self.healthy,
18418            'hostname': self.hostname,
18419            'id': self.id,
18420            'name': self.name,
18421            'password': self.password,
18422            'port': self.port,
18423            'port_override': self.port_override,
18424            'proxy_cluster_id': self.proxy_cluster_id,
18425            'secret_store_id': self.secret_store_id,
18426            'subdomain': self.subdomain,
18427            'tags': self.tags,
18428            'tls_required': self.tls_required,
18429            'username': self.username,
18430        }
@classmethod
def from_dict(cls, d)
18432    @classmethod
18433    def from_dict(cls, d):
18434        return cls(
18435            auth_database=d.get('auth_database'),
18436            bind_interface=d.get('bind_interface'),
18437            egress_filter=d.get('egress_filter'),
18438            healthy=d.get('healthy'),
18439            hostname=d.get('hostname'),
18440            id=d.get('id'),
18441            name=d.get('name'),
18442            password=d.get('password'),
18443            port=d.get('port'),
18444            port_override=d.get('port_override'),
18445            proxy_cluster_id=d.get('proxy_cluster_id'),
18446            secret_store_id=d.get('secret_store_id'),
18447            subdomain=d.get('subdomain'),
18448            tags=d.get('tags'),
18449            tls_required=d.get('tls_required'),
18450            username=d.get('username'),
18451        )
class MongoLegacyHost:
18454class MongoLegacyHost:
18455    '''
18456    MongoLegacyHost is currently unstable, and its API may change, or it may be removed,
18457    without a major version bump.
18458    '''
18459    __slots__ = [
18460        'auth_database',
18461        'bind_interface',
18462        'egress_filter',
18463        'healthy',
18464        'hostname',
18465        'id',
18466        'name',
18467        'password',
18468        'port',
18469        'port_override',
18470        'proxy_cluster_id',
18471        'secret_store_id',
18472        'subdomain',
18473        'tags',
18474        'tls_required',
18475        'username',
18476    ]
18477
18478    def __init__(
18479        self,
18480        auth_database=None,
18481        bind_interface=None,
18482        egress_filter=None,
18483        healthy=None,
18484        hostname=None,
18485        id=None,
18486        name=None,
18487        password=None,
18488        port=None,
18489        port_override=None,
18490        proxy_cluster_id=None,
18491        secret_store_id=None,
18492        subdomain=None,
18493        tags=None,
18494        tls_required=None,
18495        username=None,
18496    ):
18497        self.auth_database = auth_database if auth_database is not None else ''
18498        '''
18499         The authentication database to use.
18500        '''
18501        self.bind_interface = bind_interface if bind_interface is not None else ''
18502        '''
18503         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18504        '''
18505        self.egress_filter = egress_filter if egress_filter is not None else ''
18506        '''
18507         A filter applied to the routing logic to pin datasource to nodes.
18508        '''
18509        self.healthy = healthy if healthy is not None else False
18510        '''
18511         True if the datasource is reachable and the credentials are valid.
18512        '''
18513        self.hostname = hostname if hostname is not None else ''
18514        '''
18515         The host to dial to initiate a connection from the egress node to this resource.
18516        '''
18517        self.id = id if id is not None else ''
18518        '''
18519         Unique identifier of the Resource.
18520        '''
18521        self.name = name if name is not None else ''
18522        '''
18523         Unique human-readable name of the Resource.
18524        '''
18525        self.password = password if password is not None else ''
18526        '''
18527         The password to authenticate with.
18528        '''
18529        self.port = port if port is not None else 0
18530        '''
18531         The port to dial to initiate a connection from the egress node to this resource.
18532        '''
18533        self.port_override = port_override if port_override is not None else 0
18534        '''
18535         The local port used by clients to connect to this resource.
18536        '''
18537        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18538        '''
18539         ID of the proxy cluster for this resource, if any.
18540        '''
18541        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18542        '''
18543         ID of the secret store containing credentials for this resource, if any.
18544        '''
18545        self.subdomain = subdomain if subdomain is not None else ''
18546        '''
18547         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18548        '''
18549        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18550        '''
18551         Tags is a map of key, value pairs.
18552        '''
18553        self.tls_required = tls_required if tls_required is not None else False
18554        '''
18555         If set, TLS must be used to connect to this resource.
18556        '''
18557        self.username = username if username is not None else ''
18558        '''
18559         The username to authenticate with.
18560        '''
18561
18562    def __repr__(self):
18563        return '<sdm.MongoLegacyHost ' + \
18564            'auth_database: ' + repr(self.auth_database) + ' ' +\
18565            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18566            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18567            'healthy: ' + repr(self.healthy) + ' ' +\
18568            'hostname: ' + repr(self.hostname) + ' ' +\
18569            'id: ' + repr(self.id) + ' ' +\
18570            'name: ' + repr(self.name) + ' ' +\
18571            'password: ' + repr(self.password) + ' ' +\
18572            'port: ' + repr(self.port) + ' ' +\
18573            'port_override: ' + repr(self.port_override) + ' ' +\
18574            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
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            '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            'secret_store_id': self.secret_store_id,
18596            'subdomain': self.subdomain,
18597            'tags': self.tags,
18598            'tls_required': self.tls_required,
18599            'username': self.username,
18600        }
18601
18602    @classmethod
18603    def from_dict(cls, d):
18604        return cls(
18605            auth_database=d.get('auth_database'),
18606            bind_interface=d.get('bind_interface'),
18607            egress_filter=d.get('egress_filter'),
18608            healthy=d.get('healthy'),
18609            hostname=d.get('hostname'),
18610            id=d.get('id'),
18611            name=d.get('name'),
18612            password=d.get('password'),
18613            port=d.get('port'),
18614            port_override=d.get('port_override'),
18615            proxy_cluster_id=d.get('proxy_cluster_id'),
18616            secret_store_id=d.get('secret_store_id'),
18617            subdomain=d.get('subdomain'),
18618            tags=d.get('tags'),
18619            tls_required=d.get('tls_required'),
18620            username=d.get('username'),
18621        )

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)
18478    def __init__(
18479        self,
18480        auth_database=None,
18481        bind_interface=None,
18482        egress_filter=None,
18483        healthy=None,
18484        hostname=None,
18485        id=None,
18486        name=None,
18487        password=None,
18488        port=None,
18489        port_override=None,
18490        proxy_cluster_id=None,
18491        secret_store_id=None,
18492        subdomain=None,
18493        tags=None,
18494        tls_required=None,
18495        username=None,
18496    ):
18497        self.auth_database = auth_database if auth_database is not None else ''
18498        '''
18499         The authentication database to use.
18500        '''
18501        self.bind_interface = bind_interface if bind_interface is not None else ''
18502        '''
18503         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18504        '''
18505        self.egress_filter = egress_filter if egress_filter is not None else ''
18506        '''
18507         A filter applied to the routing logic to pin datasource to nodes.
18508        '''
18509        self.healthy = healthy if healthy is not None else False
18510        '''
18511         True if the datasource is reachable and the credentials are valid.
18512        '''
18513        self.hostname = hostname if hostname is not None else ''
18514        '''
18515         The host to dial to initiate a connection from the egress node to this resource.
18516        '''
18517        self.id = id if id is not None else ''
18518        '''
18519         Unique identifier of the Resource.
18520        '''
18521        self.name = name if name is not None else ''
18522        '''
18523         Unique human-readable name of the Resource.
18524        '''
18525        self.password = password if password is not None else ''
18526        '''
18527         The password to authenticate with.
18528        '''
18529        self.port = port if port is not None else 0
18530        '''
18531         The port to dial to initiate a connection from the egress node to this resource.
18532        '''
18533        self.port_override = port_override if port_override is not None else 0
18534        '''
18535         The local port used by clients to connect to this resource.
18536        '''
18537        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18538        '''
18539         ID of the proxy cluster for this resource, if any.
18540        '''
18541        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18542        '''
18543         ID of the secret store containing credentials for this resource, if any.
18544        '''
18545        self.subdomain = subdomain if subdomain is not None else ''
18546        '''
18547         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18548        '''
18549        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18550        '''
18551         Tags is a map of key, value pairs.
18552        '''
18553        self.tls_required = tls_required if tls_required is not None else False
18554        '''
18555         If set, TLS must be used to connect to this resource.
18556        '''
18557        self.username = username if username is not None else ''
18558        '''
18559         The username to authenticate with.
18560        '''
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)
18582    def to_dict(self):
18583        return {
18584            'auth_database': self.auth_database,
18585            'bind_interface': self.bind_interface,
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            'secret_store_id': self.secret_store_id,
18596            'subdomain': self.subdomain,
18597            'tags': self.tags,
18598            'tls_required': self.tls_required,
18599            'username': self.username,
18600        }
@classmethod
def from_dict(cls, d)
18602    @classmethod
18603    def from_dict(cls, d):
18604        return cls(
18605            auth_database=d.get('auth_database'),
18606            bind_interface=d.get('bind_interface'),
18607            egress_filter=d.get('egress_filter'),
18608            healthy=d.get('healthy'),
18609            hostname=d.get('hostname'),
18610            id=d.get('id'),
18611            name=d.get('name'),
18612            password=d.get('password'),
18613            port=d.get('port'),
18614            port_override=d.get('port_override'),
18615            proxy_cluster_id=d.get('proxy_cluster_id'),
18616            secret_store_id=d.get('secret_store_id'),
18617            subdomain=d.get('subdomain'),
18618            tags=d.get('tags'),
18619            tls_required=d.get('tls_required'),
18620            username=d.get('username'),
18621        )
class MongoLegacyReplicaset:
18624class MongoLegacyReplicaset:
18625    '''
18626    MongoLegacyReplicaset is currently unstable, and its API may change, or it may be removed,
18627    without a major version bump.
18628    '''
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.MongoLegacyReplicaset ' + \
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        )

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)
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 MongoReplicaSet:
18812class MongoReplicaSet:
18813    __slots__ = [
18814        'auth_database',
18815        'bind_interface',
18816        'connect_to_replica',
18817        'egress_filter',
18818        'healthy',
18819        'hostname',
18820        'id',
18821        'name',
18822        'password',
18823        'port',
18824        'port_override',
18825        'proxy_cluster_id',
18826        'replica_set',
18827        'secret_store_id',
18828        'subdomain',
18829        'tags',
18830        'tls_required',
18831        'username',
18832    ]
18833
18834    def __init__(
18835        self,
18836        auth_database=None,
18837        bind_interface=None,
18838        connect_to_replica=None,
18839        egress_filter=None,
18840        healthy=None,
18841        hostname=None,
18842        id=None,
18843        name=None,
18844        password=None,
18845        port=None,
18846        port_override=None,
18847        proxy_cluster_id=None,
18848        replica_set=None,
18849        secret_store_id=None,
18850        subdomain=None,
18851        tags=None,
18852        tls_required=None,
18853        username=None,
18854    ):
18855        self.auth_database = auth_database if auth_database is not None else ''
18856        '''
18857         The authentication database to use.
18858        '''
18859        self.bind_interface = bind_interface if bind_interface is not None else ''
18860        '''
18861         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18862        '''
18863        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
18864        '''
18865         Set to connect to a replica instead of the primary node.
18866        '''
18867        self.egress_filter = egress_filter if egress_filter is not None else ''
18868        '''
18869         A filter applied to the routing logic to pin datasource to nodes.
18870        '''
18871        self.healthy = healthy if healthy is not None else False
18872        '''
18873         True if the datasource is reachable and the credentials are valid.
18874        '''
18875        self.hostname = hostname if hostname is not None else ''
18876        '''
18877         The host to dial to initiate a connection from the egress node to this resource.
18878        '''
18879        self.id = id if id is not None else ''
18880        '''
18881         Unique identifier of the Resource.
18882        '''
18883        self.name = name if name is not None else ''
18884        '''
18885         Unique human-readable name of the Resource.
18886        '''
18887        self.password = password if password is not None else ''
18888        '''
18889         The password to authenticate with.
18890        '''
18891        self.port = port if port is not None else 0
18892        '''
18893         The port to dial to initiate a connection from the egress node to this resource.
18894        '''
18895        self.port_override = port_override if port_override is not None else 0
18896        '''
18897         The local port used by clients to connect to this resource.
18898        '''
18899        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18900        '''
18901         ID of the proxy cluster for this resource, if any.
18902        '''
18903        self.replica_set = replica_set if replica_set is not None else ''
18904        '''
18905         The name of the mongo replicaset.
18906        '''
18907        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18908        '''
18909         ID of the secret store containing credentials for this resource, if any.
18910        '''
18911        self.subdomain = subdomain if subdomain is not None else ''
18912        '''
18913         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18914        '''
18915        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18916        '''
18917         Tags is a map of key, value pairs.
18918        '''
18919        self.tls_required = tls_required if tls_required is not None else False
18920        '''
18921         If set, TLS must be used to connect to this resource.
18922        '''
18923        self.username = username if username is not None else ''
18924        '''
18925         The username to authenticate with.
18926        '''
18927
18928    def __repr__(self):
18929        return '<sdm.MongoReplicaSet ' + \
18930            'auth_database: ' + repr(self.auth_database) + ' ' +\
18931            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18932            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
18933            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18934            'healthy: ' + repr(self.healthy) + ' ' +\
18935            'hostname: ' + repr(self.hostname) + ' ' +\
18936            'id: ' + repr(self.id) + ' ' +\
18937            'name: ' + repr(self.name) + ' ' +\
18938            'password: ' + repr(self.password) + ' ' +\
18939            'port: ' + repr(self.port) + ' ' +\
18940            'port_override: ' + repr(self.port_override) + ' ' +\
18941            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18942            'replica_set: ' + repr(self.replica_set) + ' ' +\
18943            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18944            'subdomain: ' + repr(self.subdomain) + ' ' +\
18945            'tags: ' + repr(self.tags) + ' ' +\
18946            'tls_required: ' + repr(self.tls_required) + ' ' +\
18947            'username: ' + repr(self.username) + ' ' +\
18948            '>'
18949
18950    def to_dict(self):
18951        return {
18952            'auth_database': self.auth_database,
18953            'bind_interface': self.bind_interface,
18954            'connect_to_replica': self.connect_to_replica,
18955            'egress_filter': self.egress_filter,
18956            'healthy': self.healthy,
18957            'hostname': self.hostname,
18958            'id': self.id,
18959            'name': self.name,
18960            'password': self.password,
18961            'port': self.port,
18962            'port_override': self.port_override,
18963            'proxy_cluster_id': self.proxy_cluster_id,
18964            'replica_set': self.replica_set,
18965            'secret_store_id': self.secret_store_id,
18966            'subdomain': self.subdomain,
18967            'tags': self.tags,
18968            'tls_required': self.tls_required,
18969            'username': self.username,
18970        }
18971
18972    @classmethod
18973    def from_dict(cls, d):
18974        return cls(
18975            auth_database=d.get('auth_database'),
18976            bind_interface=d.get('bind_interface'),
18977            connect_to_replica=d.get('connect_to_replica'),
18978            egress_filter=d.get('egress_filter'),
18979            healthy=d.get('healthy'),
18980            hostname=d.get('hostname'),
18981            id=d.get('id'),
18982            name=d.get('name'),
18983            password=d.get('password'),
18984            port=d.get('port'),
18985            port_override=d.get('port_override'),
18986            proxy_cluster_id=d.get('proxy_cluster_id'),
18987            replica_set=d.get('replica_set'),
18988            secret_store_id=d.get('secret_store_id'),
18989            subdomain=d.get('subdomain'),
18990            tags=d.get('tags'),
18991            tls_required=d.get('tls_required'),
18992            username=d.get('username'),
18993        )
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)
18834    def __init__(
18835        self,
18836        auth_database=None,
18837        bind_interface=None,
18838        connect_to_replica=None,
18839        egress_filter=None,
18840        healthy=None,
18841        hostname=None,
18842        id=None,
18843        name=None,
18844        password=None,
18845        port=None,
18846        port_override=None,
18847        proxy_cluster_id=None,
18848        replica_set=None,
18849        secret_store_id=None,
18850        subdomain=None,
18851        tags=None,
18852        tls_required=None,
18853        username=None,
18854    ):
18855        self.auth_database = auth_database if auth_database is not None else ''
18856        '''
18857         The authentication database to use.
18858        '''
18859        self.bind_interface = bind_interface if bind_interface is not None else ''
18860        '''
18861         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18862        '''
18863        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
18864        '''
18865         Set to connect to a replica instead of the primary node.
18866        '''
18867        self.egress_filter = egress_filter if egress_filter is not None else ''
18868        '''
18869         A filter applied to the routing logic to pin datasource to nodes.
18870        '''
18871        self.healthy = healthy if healthy is not None else False
18872        '''
18873         True if the datasource is reachable and the credentials are valid.
18874        '''
18875        self.hostname = hostname if hostname is not None else ''
18876        '''
18877         The host to dial to initiate a connection from the egress node to this resource.
18878        '''
18879        self.id = id if id is not None else ''
18880        '''
18881         Unique identifier of the Resource.
18882        '''
18883        self.name = name if name is not None else ''
18884        '''
18885         Unique human-readable name of the Resource.
18886        '''
18887        self.password = password if password is not None else ''
18888        '''
18889         The password to authenticate with.
18890        '''
18891        self.port = port if port is not None else 0
18892        '''
18893         The port to dial to initiate a connection from the egress node to this resource.
18894        '''
18895        self.port_override = port_override if port_override is not None else 0
18896        '''
18897         The local port used by clients to connect to this resource.
18898        '''
18899        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18900        '''
18901         ID of the proxy cluster for this resource, if any.
18902        '''
18903        self.replica_set = replica_set if replica_set is not None else ''
18904        '''
18905         The name of the mongo replicaset.
18906        '''
18907        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18908        '''
18909         ID of the secret store containing credentials for this resource, if any.
18910        '''
18911        self.subdomain = subdomain if subdomain is not None else ''
18912        '''
18913         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18914        '''
18915        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18916        '''
18917         Tags is a map of key, value pairs.
18918        '''
18919        self.tls_required = tls_required if tls_required is not None else False
18920        '''
18921         If set, TLS must be used to connect to this resource.
18922        '''
18923        self.username = username if username is not None else ''
18924        '''
18925         The username to authenticate with.
18926        '''
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)
18950    def to_dict(self):
18951        return {
18952            'auth_database': self.auth_database,
18953            'bind_interface': self.bind_interface,
18954            'connect_to_replica': self.connect_to_replica,
18955            'egress_filter': self.egress_filter,
18956            'healthy': self.healthy,
18957            'hostname': self.hostname,
18958            'id': self.id,
18959            'name': self.name,
18960            'password': self.password,
18961            'port': self.port,
18962            'port_override': self.port_override,
18963            'proxy_cluster_id': self.proxy_cluster_id,
18964            'replica_set': self.replica_set,
18965            'secret_store_id': self.secret_store_id,
18966            'subdomain': self.subdomain,
18967            'tags': self.tags,
18968            'tls_required': self.tls_required,
18969            'username': self.username,
18970        }
@classmethod
def from_dict(cls, d)
18972    @classmethod
18973    def from_dict(cls, d):
18974        return cls(
18975            auth_database=d.get('auth_database'),
18976            bind_interface=d.get('bind_interface'),
18977            connect_to_replica=d.get('connect_to_replica'),
18978            egress_filter=d.get('egress_filter'),
18979            healthy=d.get('healthy'),
18980            hostname=d.get('hostname'),
18981            id=d.get('id'),
18982            name=d.get('name'),
18983            password=d.get('password'),
18984            port=d.get('port'),
18985            port_override=d.get('port_override'),
18986            proxy_cluster_id=d.get('proxy_cluster_id'),
18987            replica_set=d.get('replica_set'),
18988            secret_store_id=d.get('secret_store_id'),
18989            subdomain=d.get('subdomain'),
18990            tags=d.get('tags'),
18991            tls_required=d.get('tls_required'),
18992            username=d.get('username'),
18993        )
class MongoShardedCluster:
18996class MongoShardedCluster:
18997    __slots__ = [
18998        'auth_database',
18999        'bind_interface',
19000        'egress_filter',
19001        'healthy',
19002        'hostname',
19003        'id',
19004        'name',
19005        'password',
19006        'port_override',
19007        'proxy_cluster_id',
19008        'secret_store_id',
19009        'subdomain',
19010        'tags',
19011        'tls_required',
19012        'username',
19013    ]
19014
19015    def __init__(
19016        self,
19017        auth_database=None,
19018        bind_interface=None,
19019        egress_filter=None,
19020        healthy=None,
19021        hostname=None,
19022        id=None,
19023        name=None,
19024        password=None,
19025        port_override=None,
19026        proxy_cluster_id=None,
19027        secret_store_id=None,
19028        subdomain=None,
19029        tags=None,
19030        tls_required=None,
19031        username=None,
19032    ):
19033        self.auth_database = auth_database if auth_database is not None else ''
19034        '''
19035         The authentication database to use.
19036        '''
19037        self.bind_interface = bind_interface if bind_interface is not None else ''
19038        '''
19039         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19040        '''
19041        self.egress_filter = egress_filter if egress_filter is not None else ''
19042        '''
19043         A filter applied to the routing logic to pin datasource to nodes.
19044        '''
19045        self.healthy = healthy if healthy is not None else False
19046        '''
19047         True if the datasource is reachable and the credentials are valid.
19048        '''
19049        self.hostname = hostname if hostname is not None else ''
19050        '''
19051         The host to dial to initiate a connection from the egress node to this resource.
19052        '''
19053        self.id = id if id is not None else ''
19054        '''
19055         Unique identifier of the Resource.
19056        '''
19057        self.name = name if name is not None else ''
19058        '''
19059         Unique human-readable name of the Resource.
19060        '''
19061        self.password = password if password is not None else ''
19062        '''
19063         The password to authenticate with.
19064        '''
19065        self.port_override = port_override if port_override is not None else 0
19066        '''
19067         The local port used by clients to connect to this resource.
19068        '''
19069        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19070        '''
19071         ID of the proxy cluster for this resource, if any.
19072        '''
19073        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19074        '''
19075         ID of the secret store containing credentials for this resource, if any.
19076        '''
19077        self.subdomain = subdomain if subdomain is not None else ''
19078        '''
19079         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19080        '''
19081        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19082        '''
19083         Tags is a map of key, value pairs.
19084        '''
19085        self.tls_required = tls_required if tls_required is not None else False
19086        '''
19087         If set, TLS must be used to connect to this resource.
19088        '''
19089        self.username = username if username is not None else ''
19090        '''
19091         The username to authenticate with.
19092        '''
19093
19094    def __repr__(self):
19095        return '<sdm.MongoShardedCluster ' + \
19096            'auth_database: ' + repr(self.auth_database) + ' ' +\
19097            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19098            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19099            'healthy: ' + repr(self.healthy) + ' ' +\
19100            'hostname: ' + repr(self.hostname) + ' ' +\
19101            'id: ' + repr(self.id) + ' ' +\
19102            'name: ' + repr(self.name) + ' ' +\
19103            'password: ' + repr(self.password) + ' ' +\
19104            'port_override: ' + repr(self.port_override) + ' ' +\
19105            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19106            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19107            'subdomain: ' + repr(self.subdomain) + ' ' +\
19108            'tags: ' + repr(self.tags) + ' ' +\
19109            'tls_required: ' + repr(self.tls_required) + ' ' +\
19110            'username: ' + repr(self.username) + ' ' +\
19111            '>'
19112
19113    def to_dict(self):
19114        return {
19115            'auth_database': self.auth_database,
19116            'bind_interface': self.bind_interface,
19117            'egress_filter': self.egress_filter,
19118            'healthy': self.healthy,
19119            'hostname': self.hostname,
19120            'id': self.id,
19121            'name': self.name,
19122            'password': self.password,
19123            'port_override': self.port_override,
19124            'proxy_cluster_id': self.proxy_cluster_id,
19125            'secret_store_id': self.secret_store_id,
19126            'subdomain': self.subdomain,
19127            'tags': self.tags,
19128            'tls_required': self.tls_required,
19129            'username': self.username,
19130        }
19131
19132    @classmethod
19133    def from_dict(cls, d):
19134        return cls(
19135            auth_database=d.get('auth_database'),
19136            bind_interface=d.get('bind_interface'),
19137            egress_filter=d.get('egress_filter'),
19138            healthy=d.get('healthy'),
19139            hostname=d.get('hostname'),
19140            id=d.get('id'),
19141            name=d.get('name'),
19142            password=d.get('password'),
19143            port_override=d.get('port_override'),
19144            proxy_cluster_id=d.get('proxy_cluster_id'),
19145            secret_store_id=d.get('secret_store_id'),
19146            subdomain=d.get('subdomain'),
19147            tags=d.get('tags'),
19148            tls_required=d.get('tls_required'),
19149            username=d.get('username'),
19150        )
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)
19015    def __init__(
19016        self,
19017        auth_database=None,
19018        bind_interface=None,
19019        egress_filter=None,
19020        healthy=None,
19021        hostname=None,
19022        id=None,
19023        name=None,
19024        password=None,
19025        port_override=None,
19026        proxy_cluster_id=None,
19027        secret_store_id=None,
19028        subdomain=None,
19029        tags=None,
19030        tls_required=None,
19031        username=None,
19032    ):
19033        self.auth_database = auth_database if auth_database is not None else ''
19034        '''
19035         The authentication database to use.
19036        '''
19037        self.bind_interface = bind_interface if bind_interface is not None else ''
19038        '''
19039         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19040        '''
19041        self.egress_filter = egress_filter if egress_filter is not None else ''
19042        '''
19043         A filter applied to the routing logic to pin datasource to nodes.
19044        '''
19045        self.healthy = healthy if healthy is not None else False
19046        '''
19047         True if the datasource is reachable and the credentials are valid.
19048        '''
19049        self.hostname = hostname if hostname is not None else ''
19050        '''
19051         The host to dial to initiate a connection from the egress node to this resource.
19052        '''
19053        self.id = id if id is not None else ''
19054        '''
19055         Unique identifier of the Resource.
19056        '''
19057        self.name = name if name is not None else ''
19058        '''
19059         Unique human-readable name of the Resource.
19060        '''
19061        self.password = password if password is not None else ''
19062        '''
19063         The password to authenticate with.
19064        '''
19065        self.port_override = port_override if port_override is not None else 0
19066        '''
19067         The local port used by clients to connect to this resource.
19068        '''
19069        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19070        '''
19071         ID of the proxy cluster for this resource, if any.
19072        '''
19073        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19074        '''
19075         ID of the secret store containing credentials for this resource, if any.
19076        '''
19077        self.subdomain = subdomain if subdomain is not None else ''
19078        '''
19079         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19080        '''
19081        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19082        '''
19083         Tags is a map of key, value pairs.
19084        '''
19085        self.tls_required = tls_required if tls_required is not None else False
19086        '''
19087         If set, TLS must be used to connect to this resource.
19088        '''
19089        self.username = username if username is not None else ''
19090        '''
19091         The username to authenticate with.
19092        '''
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)
19113    def to_dict(self):
19114        return {
19115            'auth_database': self.auth_database,
19116            'bind_interface': self.bind_interface,
19117            'egress_filter': self.egress_filter,
19118            'healthy': self.healthy,
19119            'hostname': self.hostname,
19120            'id': self.id,
19121            'name': self.name,
19122            'password': self.password,
19123            'port_override': self.port_override,
19124            'proxy_cluster_id': self.proxy_cluster_id,
19125            'secret_store_id': self.secret_store_id,
19126            'subdomain': self.subdomain,
19127            'tags': self.tags,
19128            'tls_required': self.tls_required,
19129            'username': self.username,
19130        }
@classmethod
def from_dict(cls, d)
19132    @classmethod
19133    def from_dict(cls, d):
19134        return cls(
19135            auth_database=d.get('auth_database'),
19136            bind_interface=d.get('bind_interface'),
19137            egress_filter=d.get('egress_filter'),
19138            healthy=d.get('healthy'),
19139            hostname=d.get('hostname'),
19140            id=d.get('id'),
19141            name=d.get('name'),
19142            password=d.get('password'),
19143            port_override=d.get('port_override'),
19144            proxy_cluster_id=d.get('proxy_cluster_id'),
19145            secret_store_id=d.get('secret_store_id'),
19146            subdomain=d.get('subdomain'),
19147            tags=d.get('tags'),
19148            tls_required=d.get('tls_required'),
19149            username=d.get('username'),
19150        )
class Mysql:
19153class Mysql:
19154    __slots__ = [
19155        'bind_interface',
19156        'database',
19157        'egress_filter',
19158        'healthy',
19159        'hostname',
19160        'id',
19161        'name',
19162        'password',
19163        'port',
19164        'port_override',
19165        'proxy_cluster_id',
19166        'require_native_auth',
19167        'secret_store_id',
19168        'subdomain',
19169        'tags',
19170        'use_azure_single_server_usernames',
19171        'username',
19172    ]
19173
19174    def __init__(
19175        self,
19176        bind_interface=None,
19177        database=None,
19178        egress_filter=None,
19179        healthy=None,
19180        hostname=None,
19181        id=None,
19182        name=None,
19183        password=None,
19184        port=None,
19185        port_override=None,
19186        proxy_cluster_id=None,
19187        require_native_auth=None,
19188        secret_store_id=None,
19189        subdomain=None,
19190        tags=None,
19191        use_azure_single_server_usernames=None,
19192        username=None,
19193    ):
19194        self.bind_interface = bind_interface if bind_interface is not None else ''
19195        '''
19196         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19197        '''
19198        self.database = database if database is not None else ''
19199        '''
19200         The database for healthchecks. Does not affect client requests.
19201        '''
19202        self.egress_filter = egress_filter if egress_filter is not None else ''
19203        '''
19204         A filter applied to the routing logic to pin datasource to nodes.
19205        '''
19206        self.healthy = healthy if healthy is not None else False
19207        '''
19208         True if the datasource is reachable and the credentials are valid.
19209        '''
19210        self.hostname = hostname if hostname is not None else ''
19211        '''
19212         The host to dial to initiate a connection from the egress node to this resource.
19213        '''
19214        self.id = id if id is not None else ''
19215        '''
19216         Unique identifier of the Resource.
19217        '''
19218        self.name = name if name is not None else ''
19219        '''
19220         Unique human-readable name of the Resource.
19221        '''
19222        self.password = password if password is not None else ''
19223        '''
19224         The password to authenticate with.
19225        '''
19226        self.port = port if port is not None else 0
19227        '''
19228         The port to dial to initiate a connection from the egress node to this resource.
19229        '''
19230        self.port_override = port_override if port_override is not None else 0
19231        '''
19232         The local port used by clients to connect to this resource.
19233        '''
19234        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19235        '''
19236         ID of the proxy cluster for this resource, if any.
19237        '''
19238        self.require_native_auth = require_native_auth if require_native_auth is not None else False
19239        '''
19240         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
19241        '''
19242        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19243        '''
19244         ID of the secret store containing credentials for this resource, if any.
19245        '''
19246        self.subdomain = subdomain if subdomain is not None else ''
19247        '''
19248         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19249        '''
19250        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19251        '''
19252         Tags is a map of key, value pairs.
19253        '''
19254        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
19255        '''
19256         If true, appends the hostname to the username when hitting a database.azure.com address
19257        '''
19258        self.username = username if username is not None else ''
19259        '''
19260         The username to authenticate with.
19261        '''
19262
19263    def __repr__(self):
19264        return '<sdm.Mysql ' + \
19265            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19266            'database: ' + repr(self.database) + ' ' +\
19267            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19268            'healthy: ' + repr(self.healthy) + ' ' +\
19269            'hostname: ' + repr(self.hostname) + ' ' +\
19270            'id: ' + repr(self.id) + ' ' +\
19271            'name: ' + repr(self.name) + ' ' +\
19272            'password: ' + repr(self.password) + ' ' +\
19273            'port: ' + repr(self.port) + ' ' +\
19274            'port_override: ' + repr(self.port_override) + ' ' +\
19275            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19276            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
19277            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19278            'subdomain: ' + repr(self.subdomain) + ' ' +\
19279            'tags: ' + repr(self.tags) + ' ' +\
19280            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
19281            'username: ' + repr(self.username) + ' ' +\
19282            '>'
19283
19284    def to_dict(self):
19285        return {
19286            'bind_interface': self.bind_interface,
19287            'database': self.database,
19288            'egress_filter': self.egress_filter,
19289            'healthy': self.healthy,
19290            'hostname': self.hostname,
19291            'id': self.id,
19292            'name': self.name,
19293            'password': self.password,
19294            'port': self.port,
19295            'port_override': self.port_override,
19296            'proxy_cluster_id': self.proxy_cluster_id,
19297            'require_native_auth': self.require_native_auth,
19298            'secret_store_id': self.secret_store_id,
19299            'subdomain': self.subdomain,
19300            'tags': self.tags,
19301            'use_azure_single_server_usernames':
19302            self.use_azure_single_server_usernames,
19303            'username': self.username,
19304        }
19305
19306    @classmethod
19307    def from_dict(cls, d):
19308        return cls(
19309            bind_interface=d.get('bind_interface'),
19310            database=d.get('database'),
19311            egress_filter=d.get('egress_filter'),
19312            healthy=d.get('healthy'),
19313            hostname=d.get('hostname'),
19314            id=d.get('id'),
19315            name=d.get('name'),
19316            password=d.get('password'),
19317            port=d.get('port'),
19318            port_override=d.get('port_override'),
19319            proxy_cluster_id=d.get('proxy_cluster_id'),
19320            require_native_auth=d.get('require_native_auth'),
19321            secret_store_id=d.get('secret_store_id'),
19322            subdomain=d.get('subdomain'),
19323            tags=d.get('tags'),
19324            use_azure_single_server_usernames=d.get(
19325                'use_azure_single_server_usernames'),
19326            username=d.get('username'),
19327        )
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)
19174    def __init__(
19175        self,
19176        bind_interface=None,
19177        database=None,
19178        egress_filter=None,
19179        healthy=None,
19180        hostname=None,
19181        id=None,
19182        name=None,
19183        password=None,
19184        port=None,
19185        port_override=None,
19186        proxy_cluster_id=None,
19187        require_native_auth=None,
19188        secret_store_id=None,
19189        subdomain=None,
19190        tags=None,
19191        use_azure_single_server_usernames=None,
19192        username=None,
19193    ):
19194        self.bind_interface = bind_interface if bind_interface is not None else ''
19195        '''
19196         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19197        '''
19198        self.database = database if database is not None else ''
19199        '''
19200         The database for healthchecks. Does not affect client requests.
19201        '''
19202        self.egress_filter = egress_filter if egress_filter is not None else ''
19203        '''
19204         A filter applied to the routing logic to pin datasource to nodes.
19205        '''
19206        self.healthy = healthy if healthy is not None else False
19207        '''
19208         True if the datasource is reachable and the credentials are valid.
19209        '''
19210        self.hostname = hostname if hostname is not None else ''
19211        '''
19212         The host to dial to initiate a connection from the egress node to this resource.
19213        '''
19214        self.id = id if id is not None else ''
19215        '''
19216         Unique identifier of the Resource.
19217        '''
19218        self.name = name if name is not None else ''
19219        '''
19220         Unique human-readable name of the Resource.
19221        '''
19222        self.password = password if password is not None else ''
19223        '''
19224         The password to authenticate with.
19225        '''
19226        self.port = port if port is not None else 0
19227        '''
19228         The port to dial to initiate a connection from the egress node to this resource.
19229        '''
19230        self.port_override = port_override if port_override is not None else 0
19231        '''
19232         The local port used by clients to connect to this resource.
19233        '''
19234        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19235        '''
19236         ID of the proxy cluster for this resource, if any.
19237        '''
19238        self.require_native_auth = require_native_auth if require_native_auth is not None else False
19239        '''
19240         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
19241        '''
19242        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19243        '''
19244         ID of the secret store containing credentials for this resource, if any.
19245        '''
19246        self.subdomain = subdomain if subdomain is not None else ''
19247        '''
19248         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19249        '''
19250        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19251        '''
19252         Tags is a map of key, value pairs.
19253        '''
19254        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
19255        '''
19256         If true, appends the hostname to the username when hitting a database.azure.com address
19257        '''
19258        self.username = username if username is not None else ''
19259        '''
19260         The username to authenticate with.
19261        '''
bind_interface

The bind interface is the IP 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)
19284    def to_dict(self):
19285        return {
19286            'bind_interface': self.bind_interface,
19287            'database': self.database,
19288            'egress_filter': self.egress_filter,
19289            'healthy': self.healthy,
19290            'hostname': self.hostname,
19291            'id': self.id,
19292            'name': self.name,
19293            'password': self.password,
19294            'port': self.port,
19295            'port_override': self.port_override,
19296            'proxy_cluster_id': self.proxy_cluster_id,
19297            'require_native_auth': self.require_native_auth,
19298            'secret_store_id': self.secret_store_id,
19299            'subdomain': self.subdomain,
19300            'tags': self.tags,
19301            'use_azure_single_server_usernames':
19302            self.use_azure_single_server_usernames,
19303            'username': self.username,
19304        }
@classmethod
def from_dict(cls, d)
19306    @classmethod
19307    def from_dict(cls, d):
19308        return cls(
19309            bind_interface=d.get('bind_interface'),
19310            database=d.get('database'),
19311            egress_filter=d.get('egress_filter'),
19312            healthy=d.get('healthy'),
19313            hostname=d.get('hostname'),
19314            id=d.get('id'),
19315            name=d.get('name'),
19316            password=d.get('password'),
19317            port=d.get('port'),
19318            port_override=d.get('port_override'),
19319            proxy_cluster_id=d.get('proxy_cluster_id'),
19320            require_native_auth=d.get('require_native_auth'),
19321            secret_store_id=d.get('secret_store_id'),
19322            subdomain=d.get('subdomain'),
19323            tags=d.get('tags'),
19324            use_azure_single_server_usernames=d.get(
19325                'use_azure_single_server_usernames'),
19326            username=d.get('username'),
19327        )
class Neptune:
19330class Neptune:
19331    __slots__ = [
19332        'bind_interface',
19333        'egress_filter',
19334        'endpoint',
19335        'healthy',
19336        'id',
19337        'name',
19338        'port',
19339        'port_override',
19340        'proxy_cluster_id',
19341        'secret_store_id',
19342        'subdomain',
19343        'tags',
19344    ]
19345
19346    def __init__(
19347        self,
19348        bind_interface=None,
19349        egress_filter=None,
19350        endpoint=None,
19351        healthy=None,
19352        id=None,
19353        name=None,
19354        port=None,
19355        port_override=None,
19356        proxy_cluster_id=None,
19357        secret_store_id=None,
19358        subdomain=None,
19359        tags=None,
19360    ):
19361        self.bind_interface = bind_interface if bind_interface is not None else ''
19362        '''
19363         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19364        '''
19365        self.egress_filter = egress_filter if egress_filter is not None else ''
19366        '''
19367         A filter applied to the routing logic to pin datasource to nodes.
19368        '''
19369        self.endpoint = endpoint if endpoint is not None else ''
19370        '''
19371         The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com
19372        '''
19373        self.healthy = healthy if healthy is not None else False
19374        '''
19375         True if the datasource is reachable and the credentials are valid.
19376        '''
19377        self.id = id if id is not None else ''
19378        '''
19379         Unique identifier of the Resource.
19380        '''
19381        self.name = name if name is not None else ''
19382        '''
19383         Unique human-readable name of the Resource.
19384        '''
19385        self.port = port if port is not None else 0
19386        '''
19387         The port to dial to initiate a connection from the egress node to this resource.
19388        '''
19389        self.port_override = port_override if port_override is not None else 0
19390        '''
19391         The local port used by clients to connect to this resource.
19392        '''
19393        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19394        '''
19395         ID of the proxy cluster for this resource, if any.
19396        '''
19397        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19398        '''
19399         ID of the secret store containing credentials for this resource, if any.
19400        '''
19401        self.subdomain = subdomain if subdomain is not None else ''
19402        '''
19403         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19404        '''
19405        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19406        '''
19407         Tags is a map of key, value pairs.
19408        '''
19409
19410    def __repr__(self):
19411        return '<sdm.Neptune ' + \
19412            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19413            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19414            'endpoint: ' + repr(self.endpoint) + ' ' +\
19415            'healthy: ' + repr(self.healthy) + ' ' +\
19416            'id: ' + repr(self.id) + ' ' +\
19417            'name: ' + repr(self.name) + ' ' +\
19418            'port: ' + repr(self.port) + ' ' +\
19419            'port_override: ' + repr(self.port_override) + ' ' +\
19420            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19421            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19422            'subdomain: ' + repr(self.subdomain) + ' ' +\
19423            'tags: ' + repr(self.tags) + ' ' +\
19424            '>'
19425
19426    def to_dict(self):
19427        return {
19428            'bind_interface': self.bind_interface,
19429            'egress_filter': self.egress_filter,
19430            'endpoint': self.endpoint,
19431            'healthy': self.healthy,
19432            'id': self.id,
19433            'name': self.name,
19434            'port': self.port,
19435            'port_override': self.port_override,
19436            'proxy_cluster_id': self.proxy_cluster_id,
19437            'secret_store_id': self.secret_store_id,
19438            'subdomain': self.subdomain,
19439            'tags': self.tags,
19440        }
19441
19442    @classmethod
19443    def from_dict(cls, d):
19444        return cls(
19445            bind_interface=d.get('bind_interface'),
19446            egress_filter=d.get('egress_filter'),
19447            endpoint=d.get('endpoint'),
19448            healthy=d.get('healthy'),
19449            id=d.get('id'),
19450            name=d.get('name'),
19451            port=d.get('port'),
19452            port_override=d.get('port_override'),
19453            proxy_cluster_id=d.get('proxy_cluster_id'),
19454            secret_store_id=d.get('secret_store_id'),
19455            subdomain=d.get('subdomain'),
19456            tags=d.get('tags'),
19457        )
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)
19346    def __init__(
19347        self,
19348        bind_interface=None,
19349        egress_filter=None,
19350        endpoint=None,
19351        healthy=None,
19352        id=None,
19353        name=None,
19354        port=None,
19355        port_override=None,
19356        proxy_cluster_id=None,
19357        secret_store_id=None,
19358        subdomain=None,
19359        tags=None,
19360    ):
19361        self.bind_interface = bind_interface if bind_interface is not None else ''
19362        '''
19363         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19364        '''
19365        self.egress_filter = egress_filter if egress_filter is not None else ''
19366        '''
19367         A filter applied to the routing logic to pin datasource to nodes.
19368        '''
19369        self.endpoint = endpoint if endpoint is not None else ''
19370        '''
19371         The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com
19372        '''
19373        self.healthy = healthy if healthy is not None else False
19374        '''
19375         True if the datasource is reachable and the credentials are valid.
19376        '''
19377        self.id = id if id is not None else ''
19378        '''
19379         Unique identifier of the Resource.
19380        '''
19381        self.name = name if name is not None else ''
19382        '''
19383         Unique human-readable name of the Resource.
19384        '''
19385        self.port = port if port is not None else 0
19386        '''
19387         The port to dial to initiate a connection from the egress node to this resource.
19388        '''
19389        self.port_override = port_override if port_override is not None else 0
19390        '''
19391         The local port used by clients to connect to this resource.
19392        '''
19393        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19394        '''
19395         ID of the proxy cluster for this resource, if any.
19396        '''
19397        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19398        '''
19399         ID of the secret store containing credentials for this resource, if any.
19400        '''
19401        self.subdomain = subdomain if subdomain is not None else ''
19402        '''
19403         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19404        '''
19405        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19406        '''
19407         Tags is a map of key, value pairs.
19408        '''
bind_interface

The bind interface is the IP 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)
19426    def to_dict(self):
19427        return {
19428            'bind_interface': self.bind_interface,
19429            'egress_filter': self.egress_filter,
19430            'endpoint': self.endpoint,
19431            'healthy': self.healthy,
19432            'id': self.id,
19433            'name': self.name,
19434            'port': self.port,
19435            'port_override': self.port_override,
19436            'proxy_cluster_id': self.proxy_cluster_id,
19437            'secret_store_id': self.secret_store_id,
19438            'subdomain': self.subdomain,
19439            'tags': self.tags,
19440        }
@classmethod
def from_dict(cls, d)
19442    @classmethod
19443    def from_dict(cls, d):
19444        return cls(
19445            bind_interface=d.get('bind_interface'),
19446            egress_filter=d.get('egress_filter'),
19447            endpoint=d.get('endpoint'),
19448            healthy=d.get('healthy'),
19449            id=d.get('id'),
19450            name=d.get('name'),
19451            port=d.get('port'),
19452            port_override=d.get('port_override'),
19453            proxy_cluster_id=d.get('proxy_cluster_id'),
19454            secret_store_id=d.get('secret_store_id'),
19455            subdomain=d.get('subdomain'),
19456            tags=d.get('tags'),
19457        )
class NeptuneIAM:
19460class NeptuneIAM:
19461    __slots__ = [
19462        'access_key',
19463        'bind_interface',
19464        'egress_filter',
19465        'endpoint',
19466        'healthy',
19467        'id',
19468        'name',
19469        'port',
19470        'port_override',
19471        'proxy_cluster_id',
19472        'region',
19473        'role_arn',
19474        'role_external_id',
19475        'secret_access_key',
19476        'secret_store_id',
19477        'subdomain',
19478        'tags',
19479    ]
19480
19481    def __init__(
19482        self,
19483        access_key=None,
19484        bind_interface=None,
19485        egress_filter=None,
19486        endpoint=None,
19487        healthy=None,
19488        id=None,
19489        name=None,
19490        port=None,
19491        port_override=None,
19492        proxy_cluster_id=None,
19493        region=None,
19494        role_arn=None,
19495        role_external_id=None,
19496        secret_access_key=None,
19497        secret_store_id=None,
19498        subdomain=None,
19499        tags=None,
19500    ):
19501        self.access_key = access_key if access_key is not None else ''
19502        '''
19503         The Access Key ID to use to authenticate.
19504        '''
19505        self.bind_interface = bind_interface if bind_interface is not None else ''
19506        '''
19507         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19508        '''
19509        self.egress_filter = egress_filter if egress_filter is not None else ''
19510        '''
19511         A filter applied to the routing logic to pin datasource to nodes.
19512        '''
19513        self.endpoint = endpoint if endpoint is not None else ''
19514        '''
19515         The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com
19516        '''
19517        self.healthy = healthy if healthy is not None else False
19518        '''
19519         True if the datasource is reachable and the credentials are valid.
19520        '''
19521        self.id = id if id is not None else ''
19522        '''
19523         Unique identifier of the Resource.
19524        '''
19525        self.name = name if name is not None else ''
19526        '''
19527         Unique human-readable name of the Resource.
19528        '''
19529        self.port = port if port is not None else 0
19530        '''
19531         The port to dial to initiate a connection from the egress node to this resource.
19532        '''
19533        self.port_override = port_override if port_override is not None else 0
19534        '''
19535         The local port used by clients to connect to this resource.
19536        '''
19537        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19538        '''
19539         ID of the proxy cluster for this resource, if any.
19540        '''
19541        self.region = region if region is not None else ''
19542        '''
19543         The AWS region to connect to.
19544        '''
19545        self.role_arn = role_arn if role_arn is not None else ''
19546        '''
19547         The role to assume after logging in.
19548        '''
19549        self.role_external_id = role_external_id if role_external_id is not None else ''
19550        '''
19551         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
19552        '''
19553        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
19554        '''
19555         The Secret Access Key to use to authenticate.
19556        '''
19557        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19558        '''
19559         ID of the secret store containing credentials for this resource, if any.
19560        '''
19561        self.subdomain = subdomain if subdomain is not None else ''
19562        '''
19563         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19564        '''
19565        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19566        '''
19567         Tags is a map of key, value pairs.
19568        '''
19569
19570    def __repr__(self):
19571        return '<sdm.NeptuneIAM ' + \
19572            'access_key: ' + repr(self.access_key) + ' ' +\
19573            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19574            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19575            'endpoint: ' + repr(self.endpoint) + ' ' +\
19576            'healthy: ' + repr(self.healthy) + ' ' +\
19577            'id: ' + repr(self.id) + ' ' +\
19578            'name: ' + repr(self.name) + ' ' +\
19579            'port: ' + repr(self.port) + ' ' +\
19580            'port_override: ' + repr(self.port_override) + ' ' +\
19581            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19582            'region: ' + repr(self.region) + ' ' +\
19583            'role_arn: ' + repr(self.role_arn) + ' ' +\
19584            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
19585            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
19586            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19587            'subdomain: ' + repr(self.subdomain) + ' ' +\
19588            'tags: ' + repr(self.tags) + ' ' +\
19589            '>'
19590
19591    def to_dict(self):
19592        return {
19593            'access_key': self.access_key,
19594            'bind_interface': self.bind_interface,
19595            'egress_filter': self.egress_filter,
19596            'endpoint': self.endpoint,
19597            'healthy': self.healthy,
19598            'id': self.id,
19599            'name': self.name,
19600            'port': self.port,
19601            'port_override': self.port_override,
19602            'proxy_cluster_id': self.proxy_cluster_id,
19603            'region': self.region,
19604            'role_arn': self.role_arn,
19605            'role_external_id': self.role_external_id,
19606            'secret_access_key': self.secret_access_key,
19607            'secret_store_id': self.secret_store_id,
19608            'subdomain': self.subdomain,
19609            'tags': self.tags,
19610        }
19611
19612    @classmethod
19613    def from_dict(cls, d):
19614        return cls(
19615            access_key=d.get('access_key'),
19616            bind_interface=d.get('bind_interface'),
19617            egress_filter=d.get('egress_filter'),
19618            endpoint=d.get('endpoint'),
19619            healthy=d.get('healthy'),
19620            id=d.get('id'),
19621            name=d.get('name'),
19622            port=d.get('port'),
19623            port_override=d.get('port_override'),
19624            proxy_cluster_id=d.get('proxy_cluster_id'),
19625            region=d.get('region'),
19626            role_arn=d.get('role_arn'),
19627            role_external_id=d.get('role_external_id'),
19628            secret_access_key=d.get('secret_access_key'),
19629            secret_store_id=d.get('secret_store_id'),
19630            subdomain=d.get('subdomain'),
19631            tags=d.get('tags'),
19632        )
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)
19481    def __init__(
19482        self,
19483        access_key=None,
19484        bind_interface=None,
19485        egress_filter=None,
19486        endpoint=None,
19487        healthy=None,
19488        id=None,
19489        name=None,
19490        port=None,
19491        port_override=None,
19492        proxy_cluster_id=None,
19493        region=None,
19494        role_arn=None,
19495        role_external_id=None,
19496        secret_access_key=None,
19497        secret_store_id=None,
19498        subdomain=None,
19499        tags=None,
19500    ):
19501        self.access_key = access_key if access_key is not None else ''
19502        '''
19503         The Access Key ID to use to authenticate.
19504        '''
19505        self.bind_interface = bind_interface if bind_interface is not None else ''
19506        '''
19507         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19508        '''
19509        self.egress_filter = egress_filter if egress_filter is not None else ''
19510        '''
19511         A filter applied to the routing logic to pin datasource to nodes.
19512        '''
19513        self.endpoint = endpoint if endpoint is not None else ''
19514        '''
19515         The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com
19516        '''
19517        self.healthy = healthy if healthy is not None else False
19518        '''
19519         True if the datasource is reachable and the credentials are valid.
19520        '''
19521        self.id = id if id is not None else ''
19522        '''
19523         Unique identifier of the Resource.
19524        '''
19525        self.name = name if name is not None else ''
19526        '''
19527         Unique human-readable name of the Resource.
19528        '''
19529        self.port = port if port is not None else 0
19530        '''
19531         The port to dial to initiate a connection from the egress node to this resource.
19532        '''
19533        self.port_override = port_override if port_override is not None else 0
19534        '''
19535         The local port used by clients to connect to this resource.
19536        '''
19537        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19538        '''
19539         ID of the proxy cluster for this resource, if any.
19540        '''
19541        self.region = region if region is not None else ''
19542        '''
19543         The AWS region to connect to.
19544        '''
19545        self.role_arn = role_arn if role_arn is not None else ''
19546        '''
19547         The role to assume after logging in.
19548        '''
19549        self.role_external_id = role_external_id if role_external_id is not None else ''
19550        '''
19551         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
19552        '''
19553        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
19554        '''
19555         The Secret Access Key to use to authenticate.
19556        '''
19557        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19558        '''
19559         ID of the secret store containing credentials for this resource, if any.
19560        '''
19561        self.subdomain = subdomain if subdomain is not None else ''
19562        '''
19563         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19564        '''
19565        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19566        '''
19567         Tags is a map of key, value pairs.
19568        '''
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)
19591    def to_dict(self):
19592        return {
19593            'access_key': self.access_key,
19594            'bind_interface': self.bind_interface,
19595            'egress_filter': self.egress_filter,
19596            'endpoint': self.endpoint,
19597            'healthy': self.healthy,
19598            'id': self.id,
19599            'name': self.name,
19600            'port': self.port,
19601            'port_override': self.port_override,
19602            'proxy_cluster_id': self.proxy_cluster_id,
19603            'region': self.region,
19604            'role_arn': self.role_arn,
19605            'role_external_id': self.role_external_id,
19606            'secret_access_key': self.secret_access_key,
19607            'secret_store_id': self.secret_store_id,
19608            'subdomain': self.subdomain,
19609            'tags': self.tags,
19610        }
@classmethod
def from_dict(cls, d)
19612    @classmethod
19613    def from_dict(cls, d):
19614        return cls(
19615            access_key=d.get('access_key'),
19616            bind_interface=d.get('bind_interface'),
19617            egress_filter=d.get('egress_filter'),
19618            endpoint=d.get('endpoint'),
19619            healthy=d.get('healthy'),
19620            id=d.get('id'),
19621            name=d.get('name'),
19622            port=d.get('port'),
19623            port_override=d.get('port_override'),
19624            proxy_cluster_id=d.get('proxy_cluster_id'),
19625            region=d.get('region'),
19626            role_arn=d.get('role_arn'),
19627            role_external_id=d.get('role_external_id'),
19628            secret_access_key=d.get('secret_access_key'),
19629            secret_store_id=d.get('secret_store_id'),
19630            subdomain=d.get('subdomain'),
19631            tags=d.get('tags'),
19632        )
class NodeCreateResponse:
19635class NodeCreateResponse:
19636    '''
19637         NodeCreateResponse reports how the Nodes were created in the system.
19638    '''
19639    __slots__ = [
19640        'meta',
19641        'node',
19642        'rate_limit',
19643        'token',
19644    ]
19645
19646    def __init__(
19647        self,
19648        meta=None,
19649        node=None,
19650        rate_limit=None,
19651        token=None,
19652    ):
19653        self.meta = meta if meta is not None else None
19654        '''
19655         Reserved for future use.
19656        '''
19657        self.node = node if node is not None else None
19658        '''
19659         The created Node.
19660        '''
19661        self.rate_limit = rate_limit if rate_limit is not None else None
19662        '''
19663         Rate limit information.
19664        '''
19665        self.token = token if token is not None else ''
19666        '''
19667         The auth token generated for the Node. The Node will use this token to
19668         authenticate with the strongDM API.
19669        '''
19670
19671    def __repr__(self):
19672        return '<sdm.NodeCreateResponse ' + \
19673            'meta: ' + repr(self.meta) + ' ' +\
19674            'node: ' + repr(self.node) + ' ' +\
19675            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19676            'token: ' + repr(self.token) + ' ' +\
19677            '>'
19678
19679    def to_dict(self):
19680        return {
19681            'meta': self.meta,
19682            'node': self.node,
19683            'rate_limit': self.rate_limit,
19684            'token': self.token,
19685        }
19686
19687    @classmethod
19688    def from_dict(cls, d):
19689        return cls(
19690            meta=d.get('meta'),
19691            node=d.get('node'),
19692            rate_limit=d.get('rate_limit'),
19693            token=d.get('token'),
19694        )

NodeCreateResponse reports how the Nodes were created in the system.

NodeCreateResponse(meta=None, node=None, rate_limit=None, token=None)
19646    def __init__(
19647        self,
19648        meta=None,
19649        node=None,
19650        rate_limit=None,
19651        token=None,
19652    ):
19653        self.meta = meta if meta is not None else None
19654        '''
19655         Reserved for future use.
19656        '''
19657        self.node = node if node is not None else None
19658        '''
19659         The created Node.
19660        '''
19661        self.rate_limit = rate_limit if rate_limit is not None else None
19662        '''
19663         Rate limit information.
19664        '''
19665        self.token = token if token is not None else ''
19666        '''
19667         The auth token generated for the Node. The Node will use this token to
19668         authenticate with the strongDM API.
19669        '''
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)
19679    def to_dict(self):
19680        return {
19681            'meta': self.meta,
19682            'node': self.node,
19683            'rate_limit': self.rate_limit,
19684            'token': self.token,
19685        }
@classmethod
def from_dict(cls, d)
19687    @classmethod
19688    def from_dict(cls, d):
19689        return cls(
19690            meta=d.get('meta'),
19691            node=d.get('node'),
19692            rate_limit=d.get('rate_limit'),
19693            token=d.get('token'),
19694        )
class NodeDeleteResponse:
19697class NodeDeleteResponse:
19698    '''
19699         NodeDeleteResponse returns information about a Node that was deleted.
19700    '''
19701    __slots__ = [
19702        'meta',
19703        'rate_limit',
19704    ]
19705
19706    def __init__(
19707        self,
19708        meta=None,
19709        rate_limit=None,
19710    ):
19711        self.meta = meta if meta is not None else None
19712        '''
19713         Reserved for future use.
19714        '''
19715        self.rate_limit = rate_limit if rate_limit is not None else None
19716        '''
19717         Rate limit information.
19718        '''
19719
19720    def __repr__(self):
19721        return '<sdm.NodeDeleteResponse ' + \
19722            'meta: ' + repr(self.meta) + ' ' +\
19723            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19724            '>'
19725
19726    def to_dict(self):
19727        return {
19728            'meta': self.meta,
19729            'rate_limit': self.rate_limit,
19730        }
19731
19732    @classmethod
19733    def from_dict(cls, d):
19734        return cls(
19735            meta=d.get('meta'),
19736            rate_limit=d.get('rate_limit'),
19737        )

NodeDeleteResponse returns information about a Node that was deleted.

NodeDeleteResponse(meta=None, rate_limit=None)
19706    def __init__(
19707        self,
19708        meta=None,
19709        rate_limit=None,
19710    ):
19711        self.meta = meta if meta is not None else None
19712        '''
19713         Reserved for future use.
19714        '''
19715        self.rate_limit = rate_limit if rate_limit is not None else None
19716        '''
19717         Rate limit information.
19718        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
19726    def to_dict(self):
19727        return {
19728            'meta': self.meta,
19729            'rate_limit': self.rate_limit,
19730        }
@classmethod
def from_dict(cls, d)
19732    @classmethod
19733    def from_dict(cls, d):
19734        return cls(
19735            meta=d.get('meta'),
19736            rate_limit=d.get('rate_limit'),
19737        )
class NodeGetResponse:
19740class NodeGetResponse:
19741    '''
19742         NodeGetResponse returns a requested Node.
19743    '''
19744    __slots__ = [
19745        'meta',
19746        'node',
19747        'rate_limit',
19748    ]
19749
19750    def __init__(
19751        self,
19752        meta=None,
19753        node=None,
19754        rate_limit=None,
19755    ):
19756        self.meta = meta if meta is not None else None
19757        '''
19758         Reserved for future use.
19759        '''
19760        self.node = node if node is not None else None
19761        '''
19762         The requested Node.
19763        '''
19764        self.rate_limit = rate_limit if rate_limit is not None else None
19765        '''
19766         Rate limit information.
19767        '''
19768
19769    def __repr__(self):
19770        return '<sdm.NodeGetResponse ' + \
19771            'meta: ' + repr(self.meta) + ' ' +\
19772            'node: ' + repr(self.node) + ' ' +\
19773            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19774            '>'
19775
19776    def to_dict(self):
19777        return {
19778            'meta': self.meta,
19779            'node': self.node,
19780            'rate_limit': self.rate_limit,
19781        }
19782
19783    @classmethod
19784    def from_dict(cls, d):
19785        return cls(
19786            meta=d.get('meta'),
19787            node=d.get('node'),
19788            rate_limit=d.get('rate_limit'),
19789        )

NodeGetResponse returns a requested Node.

NodeGetResponse(meta=None, node=None, rate_limit=None)
19750    def __init__(
19751        self,
19752        meta=None,
19753        node=None,
19754        rate_limit=None,
19755    ):
19756        self.meta = meta if meta is not None else None
19757        '''
19758         Reserved for future use.
19759        '''
19760        self.node = node if node is not None else None
19761        '''
19762         The requested Node.
19763        '''
19764        self.rate_limit = rate_limit if rate_limit is not None else None
19765        '''
19766         Rate limit information.
19767        '''
meta

Reserved for future use.

node

The requested Node.

rate_limit

Rate limit information.

def to_dict(self)
19776    def to_dict(self):
19777        return {
19778            'meta': self.meta,
19779            'node': self.node,
19780            'rate_limit': self.rate_limit,
19781        }
@classmethod
def from_dict(cls, d)
19783    @classmethod
19784    def from_dict(cls, d):
19785        return cls(
19786            meta=d.get('meta'),
19787            node=d.get('node'),
19788            rate_limit=d.get('rate_limit'),
19789        )
class NodeHistory:
19792class NodeHistory:
19793    '''
19794         NodeHistory records the state of a Node at a given point in time,
19795     where every change (create, update and delete) to a Node produces an
19796     NodeHistory record.
19797    '''
19798    __slots__ = [
19799        'activity_id',
19800        'deleted_at',
19801        'node',
19802        'timestamp',
19803    ]
19804
19805    def __init__(
19806        self,
19807        activity_id=None,
19808        deleted_at=None,
19809        node=None,
19810        timestamp=None,
19811    ):
19812        self.activity_id = activity_id if activity_id is not None else ''
19813        '''
19814         The unique identifier of the Activity that produced this change to the Node.
19815         May be empty for some system-initiated updates.
19816        '''
19817        self.deleted_at = deleted_at if deleted_at is not None else None
19818        '''
19819         If this Node was deleted, the time it was deleted.
19820        '''
19821        self.node = node if node is not None else None
19822        '''
19823         The complete Node state at this time.
19824        '''
19825        self.timestamp = timestamp if timestamp is not None else None
19826        '''
19827         The time at which the Node state was recorded.
19828        '''
19829
19830    def __repr__(self):
19831        return '<sdm.NodeHistory ' + \
19832            'activity_id: ' + repr(self.activity_id) + ' ' +\
19833            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
19834            'node: ' + repr(self.node) + ' ' +\
19835            'timestamp: ' + repr(self.timestamp) + ' ' +\
19836            '>'
19837
19838    def to_dict(self):
19839        return {
19840            'activity_id': self.activity_id,
19841            'deleted_at': self.deleted_at,
19842            'node': self.node,
19843            'timestamp': self.timestamp,
19844        }
19845
19846    @classmethod
19847    def from_dict(cls, d):
19848        return cls(
19849            activity_id=d.get('activity_id'),
19850            deleted_at=d.get('deleted_at'),
19851            node=d.get('node'),
19852            timestamp=d.get('timestamp'),
19853        )

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)
19805    def __init__(
19806        self,
19807        activity_id=None,
19808        deleted_at=None,
19809        node=None,
19810        timestamp=None,
19811    ):
19812        self.activity_id = activity_id if activity_id is not None else ''
19813        '''
19814         The unique identifier of the Activity that produced this change to the Node.
19815         May be empty for some system-initiated updates.
19816        '''
19817        self.deleted_at = deleted_at if deleted_at is not None else None
19818        '''
19819         If this Node was deleted, the time it was deleted.
19820        '''
19821        self.node = node if node is not None else None
19822        '''
19823         The complete Node state at this time.
19824        '''
19825        self.timestamp = timestamp if timestamp is not None else None
19826        '''
19827         The time at which the Node state was recorded.
19828        '''
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)
19838    def to_dict(self):
19839        return {
19840            'activity_id': self.activity_id,
19841            'deleted_at': self.deleted_at,
19842            'node': self.node,
19843            'timestamp': self.timestamp,
19844        }
@classmethod
def from_dict(cls, d)
19846    @classmethod
19847    def from_dict(cls, d):
19848        return cls(
19849            activity_id=d.get('activity_id'),
19850            deleted_at=d.get('deleted_at'),
19851            node=d.get('node'),
19852            timestamp=d.get('timestamp'),
19853        )
class NodeMaintenanceWindow:
19856class NodeMaintenanceWindow:
19857    __slots__ = [
19858        'cron_schedule',
19859        'require_idleness',
19860    ]
19861
19862    def __init__(
19863        self,
19864        cron_schedule=None,
19865        require_idleness=None,
19866    ):
19867        self.cron_schedule = cron_schedule if cron_schedule is not None else ''
19868        '''
19869         Cron job syntax for when this maintenance window is active. On this schedule, associated
19870         nodes will restart if requested, provided other checks allow the restart to proceed. Times
19871         are represented in UTC.
19872         e.g. * 7 * * 0,6 to check for a restart at every minute from 7:00 to 8:00 UTC on Sunday and
19873         Saturday. Not all possible inputs are supported: the month and day of month selections
19874         must be '*'.
19875        '''
19876        self.require_idleness = require_idleness if require_idleness is not None else False
19877        '''
19878         Require Idleness defines whether this window can sever live connections. If true,
19879         this window will not allow a node to be restarted unless it is serving no connections.
19880         If false, given a restart of the node has been requested (for an update, usually), the
19881         node will restart as soon as it enters an allowed day / hour combination. At least one
19882         maintenance window, out of all configured windows for a node, must have this as false.
19883        '''
19884
19885    def __repr__(self):
19886        return '<sdm.NodeMaintenanceWindow ' + \
19887            'cron_schedule: ' + repr(self.cron_schedule) + ' ' +\
19888            'require_idleness: ' + repr(self.require_idleness) + ' ' +\
19889            '>'
19890
19891    def to_dict(self):
19892        return {
19893            'cron_schedule': self.cron_schedule,
19894            'require_idleness': self.require_idleness,
19895        }
19896
19897    @classmethod
19898    def from_dict(cls, d):
19899        return cls(
19900            cron_schedule=d.get('cron_schedule'),
19901            require_idleness=d.get('require_idleness'),
19902        )
NodeMaintenanceWindow(cron_schedule=None, require_idleness=None)
19862    def __init__(
19863        self,
19864        cron_schedule=None,
19865        require_idleness=None,
19866    ):
19867        self.cron_schedule = cron_schedule if cron_schedule is not None else ''
19868        '''
19869         Cron job syntax for when this maintenance window is active. On this schedule, associated
19870         nodes will restart if requested, provided other checks allow the restart to proceed. Times
19871         are represented in UTC.
19872         e.g. * 7 * * 0,6 to check for a restart at every minute from 7:00 to 8:00 UTC on Sunday and
19873         Saturday. Not all possible inputs are supported: the month and day of month selections
19874         must be '*'.
19875        '''
19876        self.require_idleness = require_idleness if require_idleness is not None else False
19877        '''
19878         Require Idleness defines whether this window can sever live connections. If true,
19879         this window will not allow a node to be restarted unless it is serving no connections.
19880         If false, given a restart of the node has been requested (for an update, usually), the
19881         node will restart as soon as it enters an allowed day / hour combination. At least one
19882         maintenance window, out of all configured windows for a node, must have this as false.
19883        '''
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)
19891    def to_dict(self):
19892        return {
19893            'cron_schedule': self.cron_schedule,
19894            'require_idleness': self.require_idleness,
19895        }
@classmethod
def from_dict(cls, d)
19897    @classmethod
19898    def from_dict(cls, d):
19899        return cls(
19900            cron_schedule=d.get('cron_schedule'),
19901            require_idleness=d.get('require_idleness'),
19902        )
class NodeUpdateResponse:
19905class NodeUpdateResponse:
19906    '''
19907         NodeUpdateResponse returns the fields of a Node after it has been updated by
19908     a NodeUpdateRequest.
19909    '''
19910    __slots__ = [
19911        'meta',
19912        'node',
19913        'rate_limit',
19914    ]
19915
19916    def __init__(
19917        self,
19918        meta=None,
19919        node=None,
19920        rate_limit=None,
19921    ):
19922        self.meta = meta if meta is not None else None
19923        '''
19924         Reserved for future use.
19925        '''
19926        self.node = node if node is not None else None
19927        '''
19928         The updated Node.
19929        '''
19930        self.rate_limit = rate_limit if rate_limit is not None else None
19931        '''
19932         Rate limit information.
19933        '''
19934
19935    def __repr__(self):
19936        return '<sdm.NodeUpdateResponse ' + \
19937            'meta: ' + repr(self.meta) + ' ' +\
19938            'node: ' + repr(self.node) + ' ' +\
19939            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19940            '>'
19941
19942    def to_dict(self):
19943        return {
19944            'meta': self.meta,
19945            'node': self.node,
19946            'rate_limit': self.rate_limit,
19947        }
19948
19949    @classmethod
19950    def from_dict(cls, d):
19951        return cls(
19952            meta=d.get('meta'),
19953            node=d.get('node'),
19954            rate_limit=d.get('rate_limit'),
19955        )

NodeUpdateResponse returns the fields of a Node after it has been updated by a NodeUpdateRequest.

NodeUpdateResponse(meta=None, node=None, rate_limit=None)
19916    def __init__(
19917        self,
19918        meta=None,
19919        node=None,
19920        rate_limit=None,
19921    ):
19922        self.meta = meta if meta is not None else None
19923        '''
19924         Reserved for future use.
19925        '''
19926        self.node = node if node is not None else None
19927        '''
19928         The updated Node.
19929        '''
19930        self.rate_limit = rate_limit if rate_limit is not None else None
19931        '''
19932         Rate limit information.
19933        '''
meta

Reserved for future use.

node

The updated Node.

rate_limit

Rate limit information.

def to_dict(self)
19942    def to_dict(self):
19943        return {
19944            'meta': self.meta,
19945            'node': self.node,
19946            'rate_limit': self.rate_limit,
19947        }
@classmethod
def from_dict(cls, d)
19949    @classmethod
19950    def from_dict(cls, d):
19951        return cls(
19952            meta=d.get('meta'),
19953            node=d.get('node'),
19954            rate_limit=d.get('rate_limit'),
19955        )
class Oracle:
19958class Oracle:
19959    __slots__ = [
19960        'bind_interface',
19961        'database',
19962        'egress_filter',
19963        'healthy',
19964        'hostname',
19965        'id',
19966        'name',
19967        'password',
19968        'port',
19969        'port_override',
19970        'proxy_cluster_id',
19971        'secret_store_id',
19972        'subdomain',
19973        'tags',
19974        'tls_required',
19975        'username',
19976    ]
19977
19978    def __init__(
19979        self,
19980        bind_interface=None,
19981        database=None,
19982        egress_filter=None,
19983        healthy=None,
19984        hostname=None,
19985        id=None,
19986        name=None,
19987        password=None,
19988        port=None,
19989        port_override=None,
19990        proxy_cluster_id=None,
19991        secret_store_id=None,
19992        subdomain=None,
19993        tags=None,
19994        tls_required=None,
19995        username=None,
19996    ):
19997        self.bind_interface = bind_interface if bind_interface is not None else ''
19998        '''
19999         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
20000        '''
20001        self.database = database if database is not None else ''
20002        '''
20003         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
20004        '''
20005        self.egress_filter = egress_filter if egress_filter is not None else ''
20006        '''
20007         A filter applied to the routing logic to pin datasource to nodes.
20008        '''
20009        self.healthy = healthy if healthy is not None else False
20010        '''
20011         True if the datasource is reachable and the credentials are valid.
20012        '''
20013        self.hostname = hostname if hostname is not None else ''
20014        '''
20015         The host to dial to initiate a connection from the egress node to this resource.
20016        '''
20017        self.id = id if id is not None else ''
20018        '''
20019         Unique identifier of the Resource.
20020        '''
20021        self.name = name if name is not None else ''
20022        '''
20023         Unique human-readable name of the Resource.
20024        '''
20025        self.password = password if password is not None else ''
20026        '''
20027         The password to authenticate with.
20028        '''
20029        self.port = port if port is not None else 0
20030        '''
20031         The port to dial to initiate a connection from the egress node to this resource.
20032        '''
20033        self.port_override = port_override if port_override is not None else 0
20034        '''
20035         The local port used by clients to connect to this resource.
20036        '''
20037        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20038        '''
20039         ID of the proxy cluster for this resource, if any.
20040        '''
20041        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20042        '''
20043         ID of the secret store containing credentials for this resource, if any.
20044        '''
20045        self.subdomain = subdomain if subdomain is not None else ''
20046        '''
20047         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
20048        '''
20049        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20050        '''
20051         Tags is a map of key, value pairs.
20052        '''
20053        self.tls_required = tls_required if tls_required is not None else False
20054        '''
20055         If set, TLS must be used to connect to this resource.
20056        '''
20057        self.username = username if username is not None else ''
20058        '''
20059         The username to authenticate with.
20060        '''
20061
20062    def __repr__(self):
20063        return '<sdm.Oracle ' + \
20064            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
20065            'database: ' + repr(self.database) + ' ' +\
20066            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
20067            'healthy: ' + repr(self.healthy) + ' ' +\
20068            'hostname: ' + repr(self.hostname) + ' ' +\
20069            'id: ' + repr(self.id) + ' ' +\
20070            'name: ' + repr(self.name) + ' ' +\
20071            'password: ' + repr(self.password) + ' ' +\
20072            'port: ' + repr(self.port) + ' ' +\
20073            'port_override: ' + repr(self.port_override) + ' ' +\
20074            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
20075            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
20076            'subdomain: ' + repr(self.subdomain) + ' ' +\
20077            'tags: ' + repr(self.tags) + ' ' +\
20078            'tls_required: ' + repr(self.tls_required) + ' ' +\
20079            'username: ' + repr(self.username) + ' ' +\
20080            '>'
20081
20082    def to_dict(self):
20083        return {
20084            'bind_interface': self.bind_interface,
20085            'database': self.database,
20086            'egress_filter': self.egress_filter,
20087            'healthy': self.healthy,
20088            'hostname': self.hostname,
20089            'id': self.id,
20090            'name': self.name,
20091            'password': self.password,
20092            'port': self.port,
20093            'port_override': self.port_override,
20094            'proxy_cluster_id': self.proxy_cluster_id,
20095            'secret_store_id': self.secret_store_id,
20096            'subdomain': self.subdomain,
20097            'tags': self.tags,
20098            'tls_required': self.tls_required,
20099            'username': self.username,
20100        }
20101
20102    @classmethod
20103    def from_dict(cls, d):
20104        return cls(
20105            bind_interface=d.get('bind_interface'),
20106            database=d.get('database'),
20107            egress_filter=d.get('egress_filter'),
20108            healthy=d.get('healthy'),
20109            hostname=d.get('hostname'),
20110            id=d.get('id'),
20111            name=d.get('name'),
20112            password=d.get('password'),
20113            port=d.get('port'),
20114            port_override=d.get('port_override'),
20115            proxy_cluster_id=d.get('proxy_cluster_id'),
20116            secret_store_id=d.get('secret_store_id'),
20117            subdomain=d.get('subdomain'),
20118            tags=d.get('tags'),
20119            tls_required=d.get('tls_required'),
20120            username=d.get('username'),
20121        )
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)
19978    def __init__(
19979        self,
19980        bind_interface=None,
19981        database=None,
19982        egress_filter=None,
19983        healthy=None,
19984        hostname=None,
19985        id=None,
19986        name=None,
19987        password=None,
19988        port=None,
19989        port_override=None,
19990        proxy_cluster_id=None,
19991        secret_store_id=None,
19992        subdomain=None,
19993        tags=None,
19994        tls_required=None,
19995        username=None,
19996    ):
19997        self.bind_interface = bind_interface if bind_interface is not None else ''
19998        '''
19999         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
20000        '''
20001        self.database = database if database is not None else ''
20002        '''
20003         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
20004        '''
20005        self.egress_filter = egress_filter if egress_filter is not None else ''
20006        '''
20007         A filter applied to the routing logic to pin datasource to nodes.
20008        '''
20009        self.healthy = healthy if healthy is not None else False
20010        '''
20011         True if the datasource is reachable and the credentials are valid.
20012        '''
20013        self.hostname = hostname if hostname is not None else ''
20014        '''
20015         The host to dial to initiate a connection from the egress node to this resource.
20016        '''
20017        self.id = id if id is not None else ''
20018        '''
20019         Unique identifier of the Resource.
20020        '''
20021        self.name = name if name is not None else ''
20022        '''
20023         Unique human-readable name of the Resource.
20024        '''
20025        self.password = password if password is not None else ''
20026        '''
20027         The password to authenticate with.
20028        '''
20029        self.port = port if port is not None else 0
20030        '''
20031         The port to dial to initiate a connection from the egress node to this resource.
20032        '''
20033        self.port_override = port_override if port_override is not None else 0
20034        '''
20035         The local port used by clients to connect to this resource.
20036        '''
20037        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20038        '''
20039         ID of the proxy cluster for this resource, if any.
20040        '''
20041        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20042        '''
20043         ID of the secret store containing credentials for this resource, if any.
20044        '''
20045        self.subdomain = subdomain if subdomain is not None else ''
20046        '''
20047         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
20048        '''
20049        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20050        '''
20051         Tags is a map of key, value pairs.
20052        '''
20053        self.tls_required = tls_required if tls_required is not None else False
20054        '''
20055         If set, TLS must be used to connect to this resource.
20056        '''
20057        self.username = username if username is not None else ''
20058        '''
20059         The username to authenticate with.
20060        '''
bind_interface

The bind interface is the IP 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)
20082    def to_dict(self):
20083        return {
20084            'bind_interface': self.bind_interface,
20085            'database': self.database,
20086            'egress_filter': self.egress_filter,
20087            'healthy': self.healthy,
20088            'hostname': self.hostname,
20089            'id': self.id,
20090            'name': self.name,
20091            'password': self.password,
20092            'port': self.port,
20093            'port_override': self.port_override,
20094            'proxy_cluster_id': self.proxy_cluster_id,
20095            'secret_store_id': self.secret_store_id,
20096            'subdomain': self.subdomain,
20097            'tags': self.tags,
20098            'tls_required': self.tls_required,
20099            'username': self.username,
20100        }
@classmethod
def from_dict(cls, d)
20102    @classmethod
20103    def from_dict(cls, d):
20104        return cls(
20105            bind_interface=d.get('bind_interface'),
20106            database=d.get('database'),
20107            egress_filter=d.get('egress_filter'),
20108            healthy=d.get('healthy'),
20109            hostname=d.get('hostname'),
20110            id=d.get('id'),
20111            name=d.get('name'),
20112            password=d.get('password'),
20113            port=d.get('port'),
20114            port_override=d.get('port_override'),
20115            proxy_cluster_id=d.get('proxy_cluster_id'),
20116            secret_store_id=d.get('secret_store_id'),
20117            subdomain=d.get('subdomain'),
20118            tags=d.get('tags'),
20119            tls_required=d.get('tls_required'),
20120            username=d.get('username'),
20121        )
class OracleNNE:
20124class OracleNNE:
20125    __slots__ = [
20126        'bind_interface',
20127        'database',
20128        'egress_filter',
20129        'healthy',
20130        'hostname',
20131        'id',
20132        'name',
20133        'password',
20134        'port',
20135        'port_override',
20136        'proxy_cluster_id',
20137        'secret_store_id',
20138        'subdomain',
20139        'tags',
20140        'username',
20141    ]
20142
20143    def __init__(
20144        self,
20145        bind_interface=None,
20146        database=None,
20147        egress_filter=None,
20148        healthy=None,
20149        hostname=None,
20150        id=None,
20151        name=None,
20152        password=None,
20153        port=None,
20154        port_override=None,
20155        proxy_cluster_id=None,
20156        secret_store_id=None,
20157        subdomain=None,
20158        tags=None,
20159        username=None,
20160    ):
20161        self.bind_interface = bind_interface if bind_interface is not None else ''
20162        '''
20163         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
20164        '''
20165        self.database = database if database is not None else ''
20166        '''
20167         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
20168        '''
20169        self.egress_filter = egress_filter if egress_filter is not None else ''
20170        '''
20171         A filter applied to the routing logic to pin datasource to nodes.
20172        '''
20173        self.healthy = healthy if healthy is not None else False
20174        '''
20175         True if the datasource is reachable and the credentials are valid.
20176        '''
20177        self.hostname = hostname if hostname is not None else ''
20178        '''
20179         The host to dial to initiate a connection from the egress node to this resource.
20180        '''
20181        self.id = id if id is not None else ''
20182        '''
20183         Unique identifier of the Resource.
20184        '''
20185        self.name = name if name is not None else ''
20186        '''
20187         Unique human-readable name of the Resource.
20188        '''
20189        self.password = password if password is not None else ''
20190        '''
20191         The password to authenticate with.
20192        '''
20193        self.port = port if port is not None else 0
20194        '''
20195         The port to dial to initiate a connection from the egress node to this resource.
20196        '''
20197        self.port_override = port_override if port_override is not None else 0
20198        '''
20199         The local port used by clients to connect to this resource.
20200        '''
20201        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20202        '''
20203         ID of the proxy cluster for this resource, if any.
20204        '''
20205        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20206        '''
20207         ID of the secret store containing credentials for this resource, if any.
20208        '''
20209        self.subdomain = subdomain if subdomain is not None else ''
20210        '''
20211         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
20212        '''
20213        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20214        '''
20215         Tags is a map of key, value pairs.
20216        '''
20217        self.username = username if username is not None else ''
20218        '''
20219         The username to authenticate with.
20220        '''
20221
20222    def __repr__(self):
20223        return '<sdm.OracleNNE ' + \
20224            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
20225            'database: ' + repr(self.database) + ' ' +\
20226            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
20227            'healthy: ' + repr(self.healthy) + ' ' +\
20228            'hostname: ' + repr(self.hostname) + ' ' +\
20229            'id: ' + repr(self.id) + ' ' +\
20230            'name: ' + repr(self.name) + ' ' +\
20231            'password: ' + repr(self.password) + ' ' +\
20232            'port: ' + repr(self.port) + ' ' +\
20233            'port_override: ' + repr(self.port_override) + ' ' +\
20234            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
20235            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
20236            'subdomain: ' + repr(self.subdomain) + ' ' +\
20237            'tags: ' + repr(self.tags) + ' ' +\
20238            'username: ' + repr(self.username) + ' ' +\
20239            '>'
20240
20241    def to_dict(self):
20242        return {
20243            'bind_interface': self.bind_interface,
20244            'database': self.database,
20245            'egress_filter': self.egress_filter,
20246            'healthy': self.healthy,
20247            'hostname': self.hostname,
20248            'id': self.id,
20249            'name': self.name,
20250            'password': self.password,
20251            'port': self.port,
20252            'port_override': self.port_override,
20253            'proxy_cluster_id': self.proxy_cluster_id,
20254            'secret_store_id': self.secret_store_id,
20255            'subdomain': self.subdomain,
20256            'tags': self.tags,
20257            'username': self.username,
20258        }
20259
20260    @classmethod
20261    def from_dict(cls, d):
20262        return cls(
20263            bind_interface=d.get('bind_interface'),
20264            database=d.get('database'),
20265            egress_filter=d.get('egress_filter'),
20266            healthy=d.get('healthy'),
20267            hostname=d.get('hostname'),
20268            id=d.get('id'),
20269            name=d.get('name'),
20270            password=d.get('password'),
20271            port=d.get('port'),
20272            port_override=d.get('port_override'),
20273            proxy_cluster_id=d.get('proxy_cluster_id'),
20274            secret_store_id=d.get('secret_store_id'),
20275            subdomain=d.get('subdomain'),
20276            tags=d.get('tags'),
20277            username=d.get('username'),
20278        )
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)
20143    def __init__(
20144        self,
20145        bind_interface=None,
20146        database=None,
20147        egress_filter=None,
20148        healthy=None,
20149        hostname=None,
20150        id=None,
20151        name=None,
20152        password=None,
20153        port=None,
20154        port_override=None,
20155        proxy_cluster_id=None,
20156        secret_store_id=None,
20157        subdomain=None,
20158        tags=None,
20159        username=None,
20160    ):
20161        self.bind_interface = bind_interface if bind_interface is not None else ''
20162        '''
20163         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
20164        '''
20165        self.database = database if database is not None else ''
20166        '''
20167         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
20168        '''
20169        self.egress_filter = egress_filter if egress_filter is not None else ''
20170        '''
20171         A filter applied to the routing logic to pin datasource to nodes.
20172        '''
20173        self.healthy = healthy if healthy is not None else False
20174        '''
20175         True if the datasource is reachable and the credentials are valid.
20176        '''
20177        self.hostname = hostname if hostname is not None else ''
20178        '''
20179         The host to dial to initiate a connection from the egress node to this resource.
20180        '''
20181        self.id = id if id is not None else ''
20182        '''
20183         Unique identifier of the Resource.
20184        '''
20185        self.name = name if name is not None else ''
20186        '''
20187         Unique human-readable name of the Resource.
20188        '''
20189        self.password = password if password is not None else ''
20190        '''
20191         The password to authenticate with.
20192        '''
20193        self.port = port if port is not None else 0
20194        '''
20195         The port to dial to initiate a connection from the egress node to this resource.
20196        '''
20197        self.port_override = port_override if port_override is not None else 0
20198        '''
20199         The local port used by clients to connect to this resource.
20200        '''
20201        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20202        '''
20203         ID of the proxy cluster for this resource, if any.
20204        '''
20205        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20206        '''
20207         ID of the secret store containing credentials for this resource, if any.
20208        '''
20209        self.subdomain = subdomain if subdomain is not None else ''
20210        '''
20211         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
20212        '''
20213        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20214        '''
20215         Tags is a map of key, value pairs.
20216        '''
20217        self.username = username if username is not None else ''
20218        '''
20219         The username to authenticate with.
20220        '''
bind_interface

The bind interface is the IP 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)
20241    def to_dict(self):
20242        return {
20243            'bind_interface': self.bind_interface,
20244            'database': self.database,
20245            'egress_filter': self.egress_filter,
20246            'healthy': self.healthy,
20247            'hostname': self.hostname,
20248            'id': self.id,
20249            'name': self.name,
20250            'password': self.password,
20251            'port': self.port,
20252            'port_override': self.port_override,
20253            'proxy_cluster_id': self.proxy_cluster_id,
20254            'secret_store_id': self.secret_store_id,
20255            'subdomain': self.subdomain,
20256            'tags': self.tags,
20257            'username': self.username,
20258        }
@classmethod
def from_dict(cls, d)
20260    @classmethod
20261    def from_dict(cls, d):
20262        return cls(
20263            bind_interface=d.get('bind_interface'),
20264            database=d.get('database'),
20265            egress_filter=d.get('egress_filter'),
20266            healthy=d.get('healthy'),
20267            hostname=d.get('hostname'),
20268            id=d.get('id'),
20269            name=d.get('name'),
20270            password=d.get('password'),
20271            port=d.get('port'),
20272            port_override=d.get('port_override'),
20273            proxy_cluster_id=d.get('proxy_cluster_id'),
20274            secret_store_id=d.get('secret_store_id'),
20275            subdomain=d.get('subdomain'),
20276            tags=d.get('tags'),
20277            username=d.get('username'),
20278        )
class Organization:
20281class Organization:
20282    __slots__ = [
20283        'auth_provider',
20284        'created_at',
20285        'device_trust_enabled',
20286        'device_trust_provider',
20287        'discard_replays',
20288        'enforce_single_session',
20289        'idle_timeout',
20290        'idle_timeout_enabled',
20291        'kind',
20292        'log_local_encoder',
20293        'log_local_format',
20294        'log_local_storage',
20295        'log_remote_encoder',
20296        'log_socket_path',
20297        'log_tcp_address',
20298        'loopback_range',
20299        'mfa_enabled',
20300        'mfa_provider',
20301        'name',
20302        'public_key_pem',
20303        'require_secret_store',
20304        'saml_metadata_url',
20305        'scim_provider',
20306        'sensitive_label',
20307        'session_timeout',
20308        'session_timeout_enabled',
20309        'ssh_certificate_authority_public_key',
20310        'ssh_certificate_authority_updated_at',
20311        'updated_at',
20312        'websites_subdomain',
20313    ]
20314
20315    def __init__(
20316        self,
20317        auth_provider=None,
20318        created_at=None,
20319        device_trust_enabled=None,
20320        device_trust_provider=None,
20321        discard_replays=None,
20322        enforce_single_session=None,
20323        idle_timeout=None,
20324        idle_timeout_enabled=None,
20325        kind=None,
20326        log_local_encoder=None,
20327        log_local_format=None,
20328        log_local_storage=None,
20329        log_remote_encoder=None,
20330        log_socket_path=None,
20331        log_tcp_address=None,
20332        loopback_range=None,
20333        mfa_enabled=None,
20334        mfa_provider=None,
20335        name=None,
20336        public_key_pem=None,
20337        require_secret_store=None,
20338        saml_metadata_url=None,
20339        scim_provider=None,
20340        sensitive_label=None,
20341        session_timeout=None,
20342        session_timeout_enabled=None,
20343        ssh_certificate_authority_public_key=None,
20344        ssh_certificate_authority_updated_at=None,
20345        updated_at=None,
20346        websites_subdomain=None,
20347    ):
20348        self.auth_provider = auth_provider if auth_provider is not None else ''
20349        '''
20350         The Organization's authentication provider, one of the AuthProvider constants.
20351        '''
20352        self.created_at = created_at if created_at is not None else None
20353        '''
20354         The time at which the Organization was created.
20355        '''
20356        self.device_trust_enabled = device_trust_enabled if device_trust_enabled is not None else False
20357        '''
20358         Indicates if the Organization has device trust enabled.
20359        '''
20360        self.device_trust_provider = device_trust_provider if device_trust_provider is not None else ''
20361        '''
20362         The Organization's device trust provider, one of the DeviceTrustProvider constants.
20363        '''
20364        self.discard_replays = discard_replays if discard_replays is not None else False
20365        '''
20366         Indicates if the Organization should drop replay data for SSH, RDP, and K8s logs.
20367        '''
20368        self.enforce_single_session = enforce_single_session if enforce_single_session is not None else False
20369        '''
20370         Indicates if the Organization enforces a single session per user for the CLI and AdminUI.
20371        '''
20372        self.idle_timeout = idle_timeout if idle_timeout is not None else None
20373        '''
20374         The Organization's idle timeout, if enabled.
20375        '''
20376        self.idle_timeout_enabled = idle_timeout_enabled if idle_timeout_enabled is not None else False
20377        '''
20378         Indicates if the Organization has idle timeouts enabled.
20379        '''
20380        self.kind = kind if kind is not None else ''
20381        '''
20382         The Organization's type, one of the OrgKind constants.
20383        '''
20384        self.log_local_encoder = log_local_encoder if log_local_encoder is not None else ''
20385        '''
20386         The Organization's local log encryption encoder, one of the LogLocalEncoder constants.
20387        '''
20388        self.log_local_format = log_local_format if log_local_format is not None else ''
20389        '''
20390         The Organization's local log format, one of the LogLocalFormat constants.
20391        '''
20392        self.log_local_storage = log_local_storage if log_local_storage is not None else ''
20393        '''
20394         The Organization's local log storage, one of the LogLocalStorage constants.
20395        '''
20396        self.log_remote_encoder = log_remote_encoder if log_remote_encoder is not None else ''
20397        '''
20398         The Organization's remote log encryption encoder, one of the LogRemoteEncoder constants.
20399        '''
20400        self.log_socket_path = log_socket_path if log_socket_path is not None else ''
20401        '''
20402         The Organization's socket path for Socket local log storage.
20403        '''
20404        self.log_tcp_address = log_tcp_address if log_tcp_address is not None else ''
20405        '''
20406         The Organization's TCP address for TCP or Syslog local log storage.
20407        '''
20408        self.loopback_range = loopback_range if loopback_range is not None else ''
20409        '''
20410         The Organization's loopback range.
20411        '''
20412        self.mfa_enabled = mfa_enabled if mfa_enabled is not None else False
20413        '''
20414         Indicates if the Organization has multi-factor authentication enabled.
20415        '''
20416        self.mfa_provider = mfa_provider if mfa_provider is not None else ''
20417        '''
20418         The Organization's multi-factor authentication provider, one of the MFAProvider constants.
20419        '''
20420        self.name = name if name is not None else ''
20421        '''
20422         The Organization's name.
20423        '''
20424        self.public_key_pem = public_key_pem if public_key_pem is not None else ''
20425        '''
20426         The Organization's public key PEM for encrypting remote logs.
20427        '''
20428        self.require_secret_store = require_secret_store if require_secret_store is not None else False
20429        '''
20430         Indicates if the Organization requires secret stores.
20431        '''
20432        self.saml_metadata_url = saml_metadata_url if saml_metadata_url is not None else ''
20433        '''
20434         The Organization's URL for SAML metadata.
20435        '''
20436        self.scim_provider = scim_provider if scim_provider is not None else ''
20437        '''
20438         The Organization's SCIM provider, one of the SCIMProvider constants.
20439        '''
20440        self.sensitive_label = sensitive_label if sensitive_label is not None else ''
20441        '''
20442         The Organization's label for sensitive resources.
20443        '''
20444        self.session_timeout = session_timeout if session_timeout is not None else None
20445        '''
20446         The Organization's session timeout, if enabled.
20447        '''
20448        self.session_timeout_enabled = session_timeout_enabled if session_timeout_enabled is not None else False
20449        '''
20450         Indicates if the Organization has session timeouts enabled.
20451        '''
20452        self.ssh_certificate_authority_public_key = ssh_certificate_authority_public_key if ssh_certificate_authority_public_key is not None else ''
20453        '''
20454         The Organization's SSH certificate authority public key.
20455        '''
20456        self.ssh_certificate_authority_updated_at = ssh_certificate_authority_updated_at if ssh_certificate_authority_updated_at is not None else None
20457        '''
20458         The time at which the Organization's SSH certificate authority was last updated.
20459        '''
20460        self.updated_at = updated_at if updated_at is not None else None
20461        '''
20462         The time at which the Organization was last updated.
20463        '''
20464        self.websites_subdomain = websites_subdomain if websites_subdomain is not None else ''
20465        '''
20466         The Organization's web site domain.
20467        '''
20468
20469    def __repr__(self):
20470        return '<sdm.Organization ' + \
20471            'auth_provider: ' + repr(self.auth_provider) + ' ' +\
20472            'created_at: ' + repr(self.created_at) + ' ' +\
20473            'device_trust_enabled: ' + repr(self.device_trust_enabled) + ' ' +\
20474            'device_trust_provider: ' + repr(self.device_trust_provider) + ' ' +\
20475            'discard_replays: ' + repr(self.discard_replays) + ' ' +\
20476            'enforce_single_session: ' + repr(self.enforce_single_session) + ' ' +\
20477            'idle_timeout: ' + repr(self.idle_timeout) + ' ' +\
20478            'idle_timeout_enabled: ' + repr(self.idle_timeout_enabled) + ' ' +\
20479            'kind: ' + repr(self.kind) + ' ' +\
20480            'log_local_encoder: ' + repr(self.log_local_encoder) + ' ' +\
20481            'log_local_format: ' + repr(self.log_local_format) + ' ' +\
20482            'log_local_storage: ' + repr(self.log_local_storage) + ' ' +\
20483            'log_remote_encoder: ' + repr(self.log_remote_encoder) + ' ' +\
20484            'log_socket_path: ' + repr(self.log_socket_path) + ' ' +\
20485            'log_tcp_address: ' + repr(self.log_tcp_address) + ' ' +\
20486            'loopback_range: ' + repr(self.loopback_range) + ' ' +\
20487            'mfa_enabled: ' + repr(self.mfa_enabled) + ' ' +\
20488            'mfa_provider: ' + repr(self.mfa_provider) + ' ' +\
20489            'name: ' + repr(self.name) + ' ' +\
20490            'public_key_pem: ' + repr(self.public_key_pem) + ' ' +\
20491            'require_secret_store: ' + repr(self.require_secret_store) + ' ' +\
20492            'saml_metadata_url: ' + repr(self.saml_metadata_url) + ' ' +\
20493            'scim_provider: ' + repr(self.scim_provider) + ' ' +\
20494            'sensitive_label: ' + repr(self.sensitive_label) + ' ' +\
20495            'session_timeout: ' + repr(self.session_timeout) + ' ' +\
20496            'session_timeout_enabled: ' + repr(self.session_timeout_enabled) + ' ' +\
20497            'ssh_certificate_authority_public_key: ' + repr(self.ssh_certificate_authority_public_key) + ' ' +\
20498            'ssh_certificate_authority_updated_at: ' + repr(self.ssh_certificate_authority_updated_at) + ' ' +\
20499            'updated_at: ' + repr(self.updated_at) + ' ' +\
20500            'websites_subdomain: ' + repr(self.websites_subdomain) + ' ' +\
20501            '>'
20502
20503    def to_dict(self):
20504        return {
20505            'auth_provider': self.auth_provider,
20506            'created_at': self.created_at,
20507            'device_trust_enabled': self.device_trust_enabled,
20508            'device_trust_provider': self.device_trust_provider,
20509            'discard_replays': self.discard_replays,
20510            'enforce_single_session': self.enforce_single_session,
20511            'idle_timeout': self.idle_timeout,
20512            'idle_timeout_enabled': self.idle_timeout_enabled,
20513            'kind': self.kind,
20514            'log_local_encoder': self.log_local_encoder,
20515            'log_local_format': self.log_local_format,
20516            'log_local_storage': self.log_local_storage,
20517            'log_remote_encoder': self.log_remote_encoder,
20518            'log_socket_path': self.log_socket_path,
20519            'log_tcp_address': self.log_tcp_address,
20520            'loopback_range': self.loopback_range,
20521            'mfa_enabled': self.mfa_enabled,
20522            'mfa_provider': self.mfa_provider,
20523            'name': self.name,
20524            'public_key_pem': self.public_key_pem,
20525            'require_secret_store': self.require_secret_store,
20526            'saml_metadata_url': self.saml_metadata_url,
20527            'scim_provider': self.scim_provider,
20528            'sensitive_label': self.sensitive_label,
20529            'session_timeout': self.session_timeout,
20530            'session_timeout_enabled': self.session_timeout_enabled,
20531            'ssh_certificate_authority_public_key':
20532            self.ssh_certificate_authority_public_key,
20533            'ssh_certificate_authority_updated_at':
20534            self.ssh_certificate_authority_updated_at,
20535            'updated_at': self.updated_at,
20536            'websites_subdomain': self.websites_subdomain,
20537        }
20538
20539    @classmethod
20540    def from_dict(cls, d):
20541        return cls(
20542            auth_provider=d.get('auth_provider'),
20543            created_at=d.get('created_at'),
20544            device_trust_enabled=d.get('device_trust_enabled'),
20545            device_trust_provider=d.get('device_trust_provider'),
20546            discard_replays=d.get('discard_replays'),
20547            enforce_single_session=d.get('enforce_single_session'),
20548            idle_timeout=d.get('idle_timeout'),
20549            idle_timeout_enabled=d.get('idle_timeout_enabled'),
20550            kind=d.get('kind'),
20551            log_local_encoder=d.get('log_local_encoder'),
20552            log_local_format=d.get('log_local_format'),
20553            log_local_storage=d.get('log_local_storage'),
20554            log_remote_encoder=d.get('log_remote_encoder'),
20555            log_socket_path=d.get('log_socket_path'),
20556            log_tcp_address=d.get('log_tcp_address'),
20557            loopback_range=d.get('loopback_range'),
20558            mfa_enabled=d.get('mfa_enabled'),
20559            mfa_provider=d.get('mfa_provider'),
20560            name=d.get('name'),
20561            public_key_pem=d.get('public_key_pem'),
20562            require_secret_store=d.get('require_secret_store'),
20563            saml_metadata_url=d.get('saml_metadata_url'),
20564            scim_provider=d.get('scim_provider'),
20565            sensitive_label=d.get('sensitive_label'),
20566            session_timeout=d.get('session_timeout'),
20567            session_timeout_enabled=d.get('session_timeout_enabled'),
20568            ssh_certificate_authority_public_key=d.get(
20569                'ssh_certificate_authority_public_key'),
20570            ssh_certificate_authority_updated_at=d.get(
20571                'ssh_certificate_authority_updated_at'),
20572            updated_at=d.get('updated_at'),
20573            websites_subdomain=d.get('websites_subdomain'),
20574        )
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)
20315    def __init__(
20316        self,
20317        auth_provider=None,
20318        created_at=None,
20319        device_trust_enabled=None,
20320        device_trust_provider=None,
20321        discard_replays=None,
20322        enforce_single_session=None,
20323        idle_timeout=None,
20324        idle_timeout_enabled=None,
20325        kind=None,
20326        log_local_encoder=None,
20327        log_local_format=None,
20328        log_local_storage=None,
20329        log_remote_encoder=None,
20330        log_socket_path=None,
20331        log_tcp_address=None,
20332        loopback_range=None,
20333        mfa_enabled=None,
20334        mfa_provider=None,
20335        name=None,
20336        public_key_pem=None,
20337        require_secret_store=None,
20338        saml_metadata_url=None,
20339        scim_provider=None,
20340        sensitive_label=None,
20341        session_timeout=None,
20342        session_timeout_enabled=None,
20343        ssh_certificate_authority_public_key=None,
20344        ssh_certificate_authority_updated_at=None,
20345        updated_at=None,
20346        websites_subdomain=None,
20347    ):
20348        self.auth_provider = auth_provider if auth_provider is not None else ''
20349        '''
20350         The Organization's authentication provider, one of the AuthProvider constants.
20351        '''
20352        self.created_at = created_at if created_at is not None else None
20353        '''
20354         The time at which the Organization was created.
20355        '''
20356        self.device_trust_enabled = device_trust_enabled if device_trust_enabled is not None else False
20357        '''
20358         Indicates if the Organization has device trust enabled.
20359        '''
20360        self.device_trust_provider = device_trust_provider if device_trust_provider is not None else ''
20361        '''
20362         The Organization's device trust provider, one of the DeviceTrustProvider constants.
20363        '''
20364        self.discard_replays = discard_replays if discard_replays is not None else False
20365        '''
20366         Indicates if the Organization should drop replay data for SSH, RDP, and K8s logs.
20367        '''
20368        self.enforce_single_session = enforce_single_session if enforce_single_session is not None else False
20369        '''
20370         Indicates if the Organization enforces a single session per user for the CLI and AdminUI.
20371        '''
20372        self.idle_timeout = idle_timeout if idle_timeout is not None else None
20373        '''
20374         The Organization's idle timeout, if enabled.
20375        '''
20376        self.idle_timeout_enabled = idle_timeout_enabled if idle_timeout_enabled is not None else False
20377        '''
20378         Indicates if the Organization has idle timeouts enabled.
20379        '''
20380        self.kind = kind if kind is not None else ''
20381        '''
20382         The Organization's type, one of the OrgKind constants.
20383        '''
20384        self.log_local_encoder = log_local_encoder if log_local_encoder is not None else ''
20385        '''
20386         The Organization's local log encryption encoder, one of the LogLocalEncoder constants.
20387        '''
20388        self.log_local_format = log_local_format if log_local_format is not None else ''
20389        '''
20390         The Organization's local log format, one of the LogLocalFormat constants.
20391        '''
20392        self.log_local_storage = log_local_storage if log_local_storage is not None else ''
20393        '''
20394         The Organization's local log storage, one of the LogLocalStorage constants.
20395        '''
20396        self.log_remote_encoder = log_remote_encoder if log_remote_encoder is not None else ''
20397        '''
20398         The Organization's remote log encryption encoder, one of the LogRemoteEncoder constants.
20399        '''
20400        self.log_socket_path = log_socket_path if log_socket_path is not None else ''
20401        '''
20402         The Organization's socket path for Socket local log storage.
20403        '''
20404        self.log_tcp_address = log_tcp_address if log_tcp_address is not None else ''
20405        '''
20406         The Organization's TCP address for TCP or Syslog local log storage.
20407        '''
20408        self.loopback_range = loopback_range if loopback_range is not None else ''
20409        '''
20410         The Organization's loopback range.
20411        '''
20412        self.mfa_enabled = mfa_enabled if mfa_enabled is not None else False
20413        '''
20414         Indicates if the Organization has multi-factor authentication enabled.
20415        '''
20416        self.mfa_provider = mfa_provider if mfa_provider is not None else ''
20417        '''
20418         The Organization's multi-factor authentication provider, one of the MFAProvider constants.
20419        '''
20420        self.name = name if name is not None else ''
20421        '''
20422         The Organization's name.
20423        '''
20424        self.public_key_pem = public_key_pem if public_key_pem is not None else ''
20425        '''
20426         The Organization's public key PEM for encrypting remote logs.
20427        '''
20428        self.require_secret_store = require_secret_store if require_secret_store is not None else False
20429        '''
20430         Indicates if the Organization requires secret stores.
20431        '''
20432        self.saml_metadata_url = saml_metadata_url if saml_metadata_url is not None else ''
20433        '''
20434         The Organization's URL for SAML metadata.
20435        '''
20436        self.scim_provider = scim_provider if scim_provider is not None else ''
20437        '''
20438         The Organization's SCIM provider, one of the SCIMProvider constants.
20439        '''
20440        self.sensitive_label = sensitive_label if sensitive_label is not None else ''
20441        '''
20442         The Organization's label for sensitive resources.
20443        '''
20444        self.session_timeout = session_timeout if session_timeout is not None else None
20445        '''
20446         The Organization's session timeout, if enabled.
20447        '''
20448        self.session_timeout_enabled = session_timeout_enabled if session_timeout_enabled is not None else False
20449        '''
20450         Indicates if the Organization has session timeouts enabled.
20451        '''
20452        self.ssh_certificate_authority_public_key = ssh_certificate_authority_public_key if ssh_certificate_authority_public_key is not None else ''
20453        '''
20454         The Organization's SSH certificate authority public key.
20455        '''
20456        self.ssh_certificate_authority_updated_at = ssh_certificate_authority_updated_at if ssh_certificate_authority_updated_at is not None else None
20457        '''
20458         The time at which the Organization's SSH certificate authority was last updated.
20459        '''
20460        self.updated_at = updated_at if updated_at is not None else None
20461        '''
20462         The time at which the Organization was last updated.
20463        '''
20464        self.websites_subdomain = websites_subdomain if websites_subdomain is not None else ''
20465        '''
20466         The Organization's web site domain.
20467        '''
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)
20503    def to_dict(self):
20504        return {
20505            'auth_provider': self.auth_provider,
20506            'created_at': self.created_at,
20507            'device_trust_enabled': self.device_trust_enabled,
20508            'device_trust_provider': self.device_trust_provider,
20509            'discard_replays': self.discard_replays,
20510            'enforce_single_session': self.enforce_single_session,
20511            'idle_timeout': self.idle_timeout,
20512            'idle_timeout_enabled': self.idle_timeout_enabled,
20513            'kind': self.kind,
20514            'log_local_encoder': self.log_local_encoder,
20515            'log_local_format': self.log_local_format,
20516            'log_local_storage': self.log_local_storage,
20517            'log_remote_encoder': self.log_remote_encoder,
20518            'log_socket_path': self.log_socket_path,
20519            'log_tcp_address': self.log_tcp_address,
20520            'loopback_range': self.loopback_range,
20521            'mfa_enabled': self.mfa_enabled,
20522            'mfa_provider': self.mfa_provider,
20523            'name': self.name,
20524            'public_key_pem': self.public_key_pem,
20525            'require_secret_store': self.require_secret_store,
20526            'saml_metadata_url': self.saml_metadata_url,
20527            'scim_provider': self.scim_provider,
20528            'sensitive_label': self.sensitive_label,
20529            'session_timeout': self.session_timeout,
20530            'session_timeout_enabled': self.session_timeout_enabled,
20531            'ssh_certificate_authority_public_key':
20532            self.ssh_certificate_authority_public_key,
20533            'ssh_certificate_authority_updated_at':
20534            self.ssh_certificate_authority_updated_at,
20535            'updated_at': self.updated_at,
20536            'websites_subdomain': self.websites_subdomain,
20537        }
@classmethod
def from_dict(cls, d)
20539    @classmethod
20540    def from_dict(cls, d):
20541        return cls(
20542            auth_provider=d.get('auth_provider'),
20543            created_at=d.get('created_at'),
20544            device_trust_enabled=d.get('device_trust_enabled'),
20545            device_trust_provider=d.get('device_trust_provider'),
20546            discard_replays=d.get('discard_replays'),
20547            enforce_single_session=d.get('enforce_single_session'),
20548            idle_timeout=d.get('idle_timeout'),
20549            idle_timeout_enabled=d.get('idle_timeout_enabled'),
20550            kind=d.get('kind'),
20551            log_local_encoder=d.get('log_local_encoder'),
20552            log_local_format=d.get('log_local_format'),
20553            log_local_storage=d.get('log_local_storage'),
20554            log_remote_encoder=d.get('log_remote_encoder'),
20555            log_socket_path=d.get('log_socket_path'),
20556            log_tcp_address=d.get('log_tcp_address'),
20557            loopback_range=d.get('loopback_range'),
20558            mfa_enabled=d.get('mfa_enabled'),
20559            mfa_provider=d.get('mfa_provider'),
20560            name=d.get('name'),
20561            public_key_pem=d.get('public_key_pem'),
20562            require_secret_store=d.get('require_secret_store'),
20563            saml_metadata_url=d.get('saml_metadata_url'),
20564            scim_provider=d.get('scim_provider'),
20565            sensitive_label=d.get('sensitive_label'),
20566            session_timeout=d.get('session_timeout'),
20567            session_timeout_enabled=d.get('session_timeout_enabled'),
20568            ssh_certificate_authority_public_key=d.get(
20569                'ssh_certificate_authority_public_key'),
20570            ssh_certificate_authority_updated_at=d.get(
20571                'ssh_certificate_authority_updated_at'),
20572            updated_at=d.get('updated_at'),
20573            websites_subdomain=d.get('websites_subdomain'),
20574        )
class OrganizationHistoryRecord:
20577class OrganizationHistoryRecord:
20578    '''
20579         OrganizationHistoryRecord records the state of an Organization at a given point in time,
20580     where every change to an Organization produces an OrganizationHistoryRecord.
20581    '''
20582    __slots__ = [
20583        'activity_id',
20584        'organization',
20585        'timestamp',
20586    ]
20587
20588    def __init__(
20589        self,
20590        activity_id=None,
20591        organization=None,
20592        timestamp=None,
20593    ):
20594        self.activity_id = activity_id if activity_id is not None else ''
20595        '''
20596         The unique identifier of the Activity that produced this change to the Organization.
20597         May be empty for some system-initiated organization updates.
20598        '''
20599        self.organization = organization if organization is not None else None
20600        '''
20601         The complete Organization state at this time.
20602        '''
20603        self.timestamp = timestamp if timestamp is not None else None
20604        '''
20605         The time at which the Organization state was recorded.
20606        '''
20607
20608    def __repr__(self):
20609        return '<sdm.OrganizationHistoryRecord ' + \
20610            'activity_id: ' + repr(self.activity_id) + ' ' +\
20611            'organization: ' + repr(self.organization) + ' ' +\
20612            'timestamp: ' + repr(self.timestamp) + ' ' +\
20613            '>'
20614
20615    def to_dict(self):
20616        return {
20617            'activity_id': self.activity_id,
20618            'organization': self.organization,
20619            'timestamp': self.timestamp,
20620        }
20621
20622    @classmethod
20623    def from_dict(cls, d):
20624        return cls(
20625            activity_id=d.get('activity_id'),
20626            organization=d.get('organization'),
20627            timestamp=d.get('timestamp'),
20628        )

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)
20588    def __init__(
20589        self,
20590        activity_id=None,
20591        organization=None,
20592        timestamp=None,
20593    ):
20594        self.activity_id = activity_id if activity_id is not None else ''
20595        '''
20596         The unique identifier of the Activity that produced this change to the Organization.
20597         May be empty for some system-initiated organization updates.
20598        '''
20599        self.organization = organization if organization is not None else None
20600        '''
20601         The complete Organization state at this time.
20602        '''
20603        self.timestamp = timestamp if timestamp is not None else None
20604        '''
20605         The time at which the Organization state was recorded.
20606        '''
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)
20615    def to_dict(self):
20616        return {
20617            'activity_id': self.activity_id,
20618            'organization': self.organization,
20619            'timestamp': self.timestamp,
20620        }
@classmethod
def from_dict(cls, d)
20622    @classmethod
20623    def from_dict(cls, d):
20624        return cls(
20625            activity_id=d.get('activity_id'),
20626            organization=d.get('organization'),
20627            timestamp=d.get('timestamp'),
20628        )
class PeeringGroup:
20631class PeeringGroup:
20632    '''
20633         PeeringGroups are the building blocks used for explicit network topology making.
20634     They may be linked to other peering groups. Sets of PeeringGroupResource and PeeringGroupNode can be attached to a peering group.
20635    '''
20636    __slots__ = [
20637        'id',
20638        'name',
20639    ]
20640
20641    def __init__(
20642        self,
20643        id=None,
20644        name=None,
20645    ):
20646        self.id = id if id is not None else ''
20647        '''
20648         Unique identifier of the PeeringGroup.
20649        '''
20650        self.name = name if name is not None else ''
20651        '''
20652         Unique human-readable name of the PeeringGroup.
20653        '''
20654
20655    def __repr__(self):
20656        return '<sdm.PeeringGroup ' + \
20657            'id: ' + repr(self.id) + ' ' +\
20658            'name: ' + repr(self.name) + ' ' +\
20659            '>'
20660
20661    def to_dict(self):
20662        return {
20663            'id': self.id,
20664            'name': self.name,
20665        }
20666
20667    @classmethod
20668    def from_dict(cls, d):
20669        return cls(
20670            id=d.get('id'),
20671            name=d.get('name'),
20672        )

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)
20641    def __init__(
20642        self,
20643        id=None,
20644        name=None,
20645    ):
20646        self.id = id if id is not None else ''
20647        '''
20648         Unique identifier of the PeeringGroup.
20649        '''
20650        self.name = name if name is not None else ''
20651        '''
20652         Unique human-readable name of the PeeringGroup.
20653        '''
id

Unique identifier of the PeeringGroup.

name

Unique human-readable name of the PeeringGroup.

def to_dict(self)
20661    def to_dict(self):
20662        return {
20663            'id': self.id,
20664            'name': self.name,
20665        }
@classmethod
def from_dict(cls, d)
20667    @classmethod
20668    def from_dict(cls, d):
20669        return cls(
20670            id=d.get('id'),
20671            name=d.get('name'),
20672        )
class PeeringGroupCreateResponse:
20675class PeeringGroupCreateResponse:
20676    '''
20677         PeeringGroupCreateResponse reports how the PeeringGroup was created in the system.
20678    '''
20679    __slots__ = [
20680        'meta',
20681        'peering_group',
20682        'rate_limit',
20683    ]
20684
20685    def __init__(
20686        self,
20687        meta=None,
20688        peering_group=None,
20689        rate_limit=None,
20690    ):
20691        self.meta = meta if meta is not None else None
20692        '''
20693         Reserved for future use.
20694        '''
20695        self.peering_group = peering_group if peering_group is not None else None
20696        '''
20697         The created PeeringGroup.
20698        '''
20699        self.rate_limit = rate_limit if rate_limit is not None else None
20700        '''
20701         Rate limit information.
20702        '''
20703
20704    def __repr__(self):
20705        return '<sdm.PeeringGroupCreateResponse ' + \
20706            'meta: ' + repr(self.meta) + ' ' +\
20707            'peering_group: ' + repr(self.peering_group) + ' ' +\
20708            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20709            '>'
20710
20711    def to_dict(self):
20712        return {
20713            'meta': self.meta,
20714            'peering_group': self.peering_group,
20715            'rate_limit': self.rate_limit,
20716        }
20717
20718    @classmethod
20719    def from_dict(cls, d):
20720        return cls(
20721            meta=d.get('meta'),
20722            peering_group=d.get('peering_group'),
20723            rate_limit=d.get('rate_limit'),
20724        )

PeeringGroupCreateResponse reports how the PeeringGroup was created in the system.

PeeringGroupCreateResponse(meta=None, peering_group=None, rate_limit=None)
20685    def __init__(
20686        self,
20687        meta=None,
20688        peering_group=None,
20689        rate_limit=None,
20690    ):
20691        self.meta = meta if meta is not None else None
20692        '''
20693         Reserved for future use.
20694        '''
20695        self.peering_group = peering_group if peering_group is not None else None
20696        '''
20697         The created PeeringGroup.
20698        '''
20699        self.rate_limit = rate_limit if rate_limit is not None else None
20700        '''
20701         Rate limit information.
20702        '''
meta

Reserved for future use.

peering_group

The created PeeringGroup.

rate_limit

Rate limit information.

def to_dict(self)
20711    def to_dict(self):
20712        return {
20713            'meta': self.meta,
20714            'peering_group': self.peering_group,
20715            'rate_limit': self.rate_limit,
20716        }
@classmethod
def from_dict(cls, d)
20718    @classmethod
20719    def from_dict(cls, d):
20720        return cls(
20721            meta=d.get('meta'),
20722            peering_group=d.get('peering_group'),
20723            rate_limit=d.get('rate_limit'),
20724        )
class PeeringGroupDeleteResponse:
20727class PeeringGroupDeleteResponse:
20728    '''
20729         PeeringGroupDeleteResponse returns information about a PeeringGroup that was deleted.
20730    '''
20731    __slots__ = [
20732        'meta',
20733        'rate_limit',
20734    ]
20735
20736    def __init__(
20737        self,
20738        meta=None,
20739        rate_limit=None,
20740    ):
20741        self.meta = meta if meta is not None else None
20742        '''
20743         Reserved for future use.
20744        '''
20745        self.rate_limit = rate_limit if rate_limit is not None else None
20746        '''
20747         Rate limit information.
20748        '''
20749
20750    def __repr__(self):
20751        return '<sdm.PeeringGroupDeleteResponse ' + \
20752            'meta: ' + repr(self.meta) + ' ' +\
20753            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20754            '>'
20755
20756    def to_dict(self):
20757        return {
20758            'meta': self.meta,
20759            'rate_limit': self.rate_limit,
20760        }
20761
20762    @classmethod
20763    def from_dict(cls, d):
20764        return cls(
20765            meta=d.get('meta'),
20766            rate_limit=d.get('rate_limit'),
20767        )

PeeringGroupDeleteResponse returns information about a PeeringGroup that was deleted.

PeeringGroupDeleteResponse(meta=None, rate_limit=None)
20736    def __init__(
20737        self,
20738        meta=None,
20739        rate_limit=None,
20740    ):
20741        self.meta = meta if meta is not None else None
20742        '''
20743         Reserved for future use.
20744        '''
20745        self.rate_limit = rate_limit if rate_limit is not None else None
20746        '''
20747         Rate limit information.
20748        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
20756    def to_dict(self):
20757        return {
20758            'meta': self.meta,
20759            'rate_limit': self.rate_limit,
20760        }
@classmethod
def from_dict(cls, d)
20762    @classmethod
20763    def from_dict(cls, d):
20764        return cls(
20765            meta=d.get('meta'),
20766            rate_limit=d.get('rate_limit'),
20767        )
class PeeringGroupGetResponse:
20770class PeeringGroupGetResponse:
20771    '''
20772         PeeringGroupGetResponse returns a requested PeeringGroup.
20773    '''
20774    __slots__ = [
20775        'meta',
20776        'peering_group',
20777        'rate_limit',
20778    ]
20779
20780    def __init__(
20781        self,
20782        meta=None,
20783        peering_group=None,
20784        rate_limit=None,
20785    ):
20786        self.meta = meta if meta is not None else None
20787        '''
20788         Reserved for future use.
20789        '''
20790        self.peering_group = peering_group if peering_group is not None else None
20791        '''
20792         The requested PeeringGroup.
20793        '''
20794        self.rate_limit = rate_limit if rate_limit is not None else None
20795        '''
20796         Rate limit information.
20797        '''
20798
20799    def __repr__(self):
20800        return '<sdm.PeeringGroupGetResponse ' + \
20801            'meta: ' + repr(self.meta) + ' ' +\
20802            'peering_group: ' + repr(self.peering_group) + ' ' +\
20803            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20804            '>'
20805
20806    def to_dict(self):
20807        return {
20808            'meta': self.meta,
20809            'peering_group': self.peering_group,
20810            'rate_limit': self.rate_limit,
20811        }
20812
20813    @classmethod
20814    def from_dict(cls, d):
20815        return cls(
20816            meta=d.get('meta'),
20817            peering_group=d.get('peering_group'),
20818            rate_limit=d.get('rate_limit'),
20819        )

PeeringGroupGetResponse returns a requested PeeringGroup.

PeeringGroupGetResponse(meta=None, peering_group=None, rate_limit=None)
20780    def __init__(
20781        self,
20782        meta=None,
20783        peering_group=None,
20784        rate_limit=None,
20785    ):
20786        self.meta = meta if meta is not None else None
20787        '''
20788         Reserved for future use.
20789        '''
20790        self.peering_group = peering_group if peering_group is not None else None
20791        '''
20792         The requested PeeringGroup.
20793        '''
20794        self.rate_limit = rate_limit if rate_limit is not None else None
20795        '''
20796         Rate limit information.
20797        '''
meta

Reserved for future use.

peering_group

The requested PeeringGroup.

rate_limit

Rate limit information.

def to_dict(self)
20806    def to_dict(self):
20807        return {
20808            'meta': self.meta,
20809            'peering_group': self.peering_group,
20810            'rate_limit': self.rate_limit,
20811        }
@classmethod
def from_dict(cls, d)
20813    @classmethod
20814    def from_dict(cls, d):
20815        return cls(
20816            meta=d.get('meta'),
20817            peering_group=d.get('peering_group'),
20818            rate_limit=d.get('rate_limit'),
20819        )
class PeeringGroupNode:
20822class PeeringGroupNode:
20823    '''
20824         PeeringGroupNode represents the attachment between a PeeringGroup and a Node.
20825    '''
20826    __slots__ = [
20827        'group_id',
20828        'id',
20829        'node_id',
20830    ]
20831
20832    def __init__(
20833        self,
20834        group_id=None,
20835        id=None,
20836        node_id=None,
20837    ):
20838        self.group_id = group_id if group_id is not None else ''
20839        '''
20840         Peering Group ID to which the node will be attached to.
20841        '''
20842        self.id = id if id is not None else ''
20843        '''
20844         Unique identifier of the Attachment.
20845        '''
20846        self.node_id = node_id if node_id is not None else ''
20847        '''
20848         Node ID to be attached.
20849        '''
20850
20851    def __repr__(self):
20852        return '<sdm.PeeringGroupNode ' + \
20853            'group_id: ' + repr(self.group_id) + ' ' +\
20854            'id: ' + repr(self.id) + ' ' +\
20855            'node_id: ' + repr(self.node_id) + ' ' +\
20856            '>'
20857
20858    def to_dict(self):
20859        return {
20860            'group_id': self.group_id,
20861            'id': self.id,
20862            'node_id': self.node_id,
20863        }
20864
20865    @classmethod
20866    def from_dict(cls, d):
20867        return cls(
20868            group_id=d.get('group_id'),
20869            id=d.get('id'),
20870            node_id=d.get('node_id'),
20871        )

PeeringGroupNode represents the attachment between a PeeringGroup and a Node.

PeeringGroupNode(group_id=None, id=None, node_id=None)
20832    def __init__(
20833        self,
20834        group_id=None,
20835        id=None,
20836        node_id=None,
20837    ):
20838        self.group_id = group_id if group_id is not None else ''
20839        '''
20840         Peering Group ID to which the node will be attached to.
20841        '''
20842        self.id = id if id is not None else ''
20843        '''
20844         Unique identifier of the Attachment.
20845        '''
20846        self.node_id = node_id if node_id is not None else ''
20847        '''
20848         Node ID to be attached.
20849        '''
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)
20858    def to_dict(self):
20859        return {
20860            'group_id': self.group_id,
20861            'id': self.id,
20862            'node_id': self.node_id,
20863        }
@classmethod
def from_dict(cls, d)
20865    @classmethod
20866    def from_dict(cls, d):
20867        return cls(
20868            group_id=d.get('group_id'),
20869            id=d.get('id'),
20870            node_id=d.get('node_id'),
20871        )
class PeeringGroupNodeCreateResponse:
20874class PeeringGroupNodeCreateResponse:
20875    '''
20876         PeeringGroupNodeCreateResponse reports how the PeeringGroupNode was created in the system.
20877    '''
20878    __slots__ = [
20879        'meta',
20880        'peering_group_node',
20881        'rate_limit',
20882    ]
20883
20884    def __init__(
20885        self,
20886        meta=None,
20887        peering_group_node=None,
20888        rate_limit=None,
20889    ):
20890        self.meta = meta if meta is not None else None
20891        '''
20892         Reserved for future use.
20893        '''
20894        self.peering_group_node = peering_group_node if peering_group_node is not None else None
20895        '''
20896         The created PeeringGroupNode.
20897        '''
20898        self.rate_limit = rate_limit if rate_limit is not None else None
20899        '''
20900         Rate limit information.
20901        '''
20902
20903    def __repr__(self):
20904        return '<sdm.PeeringGroupNodeCreateResponse ' + \
20905            'meta: ' + repr(self.meta) + ' ' +\
20906            'peering_group_node: ' + repr(self.peering_group_node) + ' ' +\
20907            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20908            '>'
20909
20910    def to_dict(self):
20911        return {
20912            'meta': self.meta,
20913            'peering_group_node': self.peering_group_node,
20914            'rate_limit': self.rate_limit,
20915        }
20916
20917    @classmethod
20918    def from_dict(cls, d):
20919        return cls(
20920            meta=d.get('meta'),
20921            peering_group_node=d.get('peering_group_node'),
20922            rate_limit=d.get('rate_limit'),
20923        )

PeeringGroupNodeCreateResponse reports how the PeeringGroupNode was created in the system.

PeeringGroupNodeCreateResponse(meta=None, peering_group_node=None, rate_limit=None)
20884    def __init__(
20885        self,
20886        meta=None,
20887        peering_group_node=None,
20888        rate_limit=None,
20889    ):
20890        self.meta = meta if meta is not None else None
20891        '''
20892         Reserved for future use.
20893        '''
20894        self.peering_group_node = peering_group_node if peering_group_node is not None else None
20895        '''
20896         The created PeeringGroupNode.
20897        '''
20898        self.rate_limit = rate_limit if rate_limit is not None else None
20899        '''
20900         Rate limit information.
20901        '''
meta

Reserved for future use.

peering_group_node

The created PeeringGroupNode.

rate_limit

Rate limit information.

def to_dict(self)
20910    def to_dict(self):
20911        return {
20912            'meta': self.meta,
20913            'peering_group_node': self.peering_group_node,
20914            'rate_limit': self.rate_limit,
20915        }
@classmethod
def from_dict(cls, d)
20917    @classmethod
20918    def from_dict(cls, d):
20919        return cls(
20920            meta=d.get('meta'),
20921            peering_group_node=d.get('peering_group_node'),
20922            rate_limit=d.get('rate_limit'),
20923        )
class PeeringGroupNodeDeleteResponse:
20926class PeeringGroupNodeDeleteResponse:
20927    '''
20928         PeeringGroupNodeDeleteResponse returns information about a PeeringGroupNode that was deleted.
20929    '''
20930    __slots__ = [
20931        'meta',
20932        'rate_limit',
20933    ]
20934
20935    def __init__(
20936        self,
20937        meta=None,
20938        rate_limit=None,
20939    ):
20940        self.meta = meta if meta is not None else None
20941        '''
20942         Reserved for future use.
20943        '''
20944        self.rate_limit = rate_limit if rate_limit is not None else None
20945        '''
20946         Rate limit information.
20947        '''
20948
20949    def __repr__(self):
20950        return '<sdm.PeeringGroupNodeDeleteResponse ' + \
20951            'meta: ' + repr(self.meta) + ' ' +\
20952            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20953            '>'
20954
20955    def to_dict(self):
20956        return {
20957            'meta': self.meta,
20958            'rate_limit': self.rate_limit,
20959        }
20960
20961    @classmethod
20962    def from_dict(cls, d):
20963        return cls(
20964            meta=d.get('meta'),
20965            rate_limit=d.get('rate_limit'),
20966        )

PeeringGroupNodeDeleteResponse returns information about a PeeringGroupNode that was deleted.

PeeringGroupNodeDeleteResponse(meta=None, rate_limit=None)
20935    def __init__(
20936        self,
20937        meta=None,
20938        rate_limit=None,
20939    ):
20940        self.meta = meta if meta is not None else None
20941        '''
20942         Reserved for future use.
20943        '''
20944        self.rate_limit = rate_limit if rate_limit is not None else None
20945        '''
20946         Rate limit information.
20947        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
20955    def to_dict(self):
20956        return {
20957            'meta': self.meta,
20958            'rate_limit': self.rate_limit,
20959        }
@classmethod
def from_dict(cls, d)
20961    @classmethod
20962    def from_dict(cls, d):
20963        return cls(
20964            meta=d.get('meta'),
20965            rate_limit=d.get('rate_limit'),
20966        )
class PeeringGroupNodeGetResponse:
20969class PeeringGroupNodeGetResponse:
20970    '''
20971         PeeringGroupNodeGetResponse returns a requested PeeringGroupNode.
20972    '''
20973    __slots__ = [
20974        'meta',
20975        'peering_group_node',
20976        'rate_limit',
20977    ]
20978
20979    def __init__(
20980        self,
20981        meta=None,
20982        peering_group_node=None,
20983        rate_limit=None,
20984    ):
20985        self.meta = meta if meta is not None else None
20986        '''
20987         Reserved for future use.
20988        '''
20989        self.peering_group_node = peering_group_node if peering_group_node is not None else None
20990        '''
20991         The requested PeeringGroupNode.
20992        '''
20993        self.rate_limit = rate_limit if rate_limit is not None else None
20994        '''
20995         Rate limit information.
20996        '''
20997
20998    def __repr__(self):
20999        return '<sdm.PeeringGroupNodeGetResponse ' + \
21000            'meta: ' + repr(self.meta) + ' ' +\
21001            'peering_group_node: ' + repr(self.peering_group_node) + ' ' +\
21002            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21003            '>'
21004
21005    def to_dict(self):
21006        return {
21007            'meta': self.meta,
21008            'peering_group_node': self.peering_group_node,
21009            'rate_limit': self.rate_limit,
21010        }
21011
21012    @classmethod
21013    def from_dict(cls, d):
21014        return cls(
21015            meta=d.get('meta'),
21016            peering_group_node=d.get('peering_group_node'),
21017            rate_limit=d.get('rate_limit'),
21018        )

PeeringGroupNodeGetResponse returns a requested PeeringGroupNode.

PeeringGroupNodeGetResponse(meta=None, peering_group_node=None, rate_limit=None)
20979    def __init__(
20980        self,
20981        meta=None,
20982        peering_group_node=None,
20983        rate_limit=None,
20984    ):
20985        self.meta = meta if meta is not None else None
20986        '''
20987         Reserved for future use.
20988        '''
20989        self.peering_group_node = peering_group_node if peering_group_node is not None else None
20990        '''
20991         The requested PeeringGroupNode.
20992        '''
20993        self.rate_limit = rate_limit if rate_limit is not None else None
20994        '''
20995         Rate limit information.
20996        '''
meta

Reserved for future use.

peering_group_node

The requested PeeringGroupNode.

rate_limit

Rate limit information.

def to_dict(self)
21005    def to_dict(self):
21006        return {
21007            'meta': self.meta,
21008            'peering_group_node': self.peering_group_node,
21009            'rate_limit': self.rate_limit,
21010        }
@classmethod
def from_dict(cls, d)
21012    @classmethod
21013    def from_dict(cls, d):
21014        return cls(
21015            meta=d.get('meta'),
21016            peering_group_node=d.get('peering_group_node'),
21017            rate_limit=d.get('rate_limit'),
21018        )
class PeeringGroupPeer:
21021class PeeringGroupPeer:
21022    '''
21023         PeeringGroupPeer represents the link between two PeeringGroups
21024    '''
21025    __slots__ = [
21026        'group_id',
21027        'id',
21028        'peers_with_group_id',
21029    ]
21030
21031    def __init__(
21032        self,
21033        group_id=None,
21034        id=None,
21035        peers_with_group_id=None,
21036    ):
21037        self.group_id = group_id if group_id is not None else ''
21038        '''
21039         Group ID from which the link will originate.
21040        '''
21041        self.id = id if id is not None else ''
21042        '''
21043         Unique identifier of the Attachment.
21044        '''
21045        self.peers_with_group_id = peers_with_group_id if peers_with_group_id is not None else ''
21046        '''
21047         Peering Group ID to which Group ID will link.
21048        '''
21049
21050    def __repr__(self):
21051        return '<sdm.PeeringGroupPeer ' + \
21052            'group_id: ' + repr(self.group_id) + ' ' +\
21053            'id: ' + repr(self.id) + ' ' +\
21054            'peers_with_group_id: ' + repr(self.peers_with_group_id) + ' ' +\
21055            '>'
21056
21057    def to_dict(self):
21058        return {
21059            'group_id': self.group_id,
21060            'id': self.id,
21061            'peers_with_group_id': self.peers_with_group_id,
21062        }
21063
21064    @classmethod
21065    def from_dict(cls, d):
21066        return cls(
21067            group_id=d.get('group_id'),
21068            id=d.get('id'),
21069            peers_with_group_id=d.get('peers_with_group_id'),
21070        )

PeeringGroupPeer represents the link between two PeeringGroups

PeeringGroupPeer(group_id=None, id=None, peers_with_group_id=None)
21031    def __init__(
21032        self,
21033        group_id=None,
21034        id=None,
21035        peers_with_group_id=None,
21036    ):
21037        self.group_id = group_id if group_id is not None else ''
21038        '''
21039         Group ID from which the link will originate.
21040        '''
21041        self.id = id if id is not None else ''
21042        '''
21043         Unique identifier of the Attachment.
21044        '''
21045        self.peers_with_group_id = peers_with_group_id if peers_with_group_id is not None else ''
21046        '''
21047         Peering Group ID to which Group ID will link.
21048        '''
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)
21057    def to_dict(self):
21058        return {
21059            'group_id': self.group_id,
21060            'id': self.id,
21061            'peers_with_group_id': self.peers_with_group_id,
21062        }
@classmethod
def from_dict(cls, d)
21064    @classmethod
21065    def from_dict(cls, d):
21066        return cls(
21067            group_id=d.get('group_id'),
21068            id=d.get('id'),
21069            peers_with_group_id=d.get('peers_with_group_id'),
21070        )
class PeeringGroupPeerCreateResponse:
21073class PeeringGroupPeerCreateResponse:
21074    '''
21075         PeeringGroupPeerCreateResponse reports how the PeeringGroupPeer was created in the system.
21076    '''
21077    __slots__ = [
21078        'meta',
21079        'peering_group_peer',
21080        'rate_limit',
21081    ]
21082
21083    def __init__(
21084        self,
21085        meta=None,
21086        peering_group_peer=None,
21087        rate_limit=None,
21088    ):
21089        self.meta = meta if meta is not None else None
21090        '''
21091         Reserved for future use.
21092        '''
21093        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
21094        '''
21095         The created PeeringGroupPeer.
21096        '''
21097        self.rate_limit = rate_limit if rate_limit is not None else None
21098        '''
21099         Rate limit information.
21100        '''
21101
21102    def __repr__(self):
21103        return '<sdm.PeeringGroupPeerCreateResponse ' + \
21104            'meta: ' + repr(self.meta) + ' ' +\
21105            'peering_group_peer: ' + repr(self.peering_group_peer) + ' ' +\
21106            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21107            '>'
21108
21109    def to_dict(self):
21110        return {
21111            'meta': self.meta,
21112            'peering_group_peer': self.peering_group_peer,
21113            'rate_limit': self.rate_limit,
21114        }
21115
21116    @classmethod
21117    def from_dict(cls, d):
21118        return cls(
21119            meta=d.get('meta'),
21120            peering_group_peer=d.get('peering_group_peer'),
21121            rate_limit=d.get('rate_limit'),
21122        )

PeeringGroupPeerCreateResponse reports how the PeeringGroupPeer was created in the system.

PeeringGroupPeerCreateResponse(meta=None, peering_group_peer=None, rate_limit=None)
21083    def __init__(
21084        self,
21085        meta=None,
21086        peering_group_peer=None,
21087        rate_limit=None,
21088    ):
21089        self.meta = meta if meta is not None else None
21090        '''
21091         Reserved for future use.
21092        '''
21093        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
21094        '''
21095         The created PeeringGroupPeer.
21096        '''
21097        self.rate_limit = rate_limit if rate_limit is not None else None
21098        '''
21099         Rate limit information.
21100        '''
meta

Reserved for future use.

peering_group_peer

The created PeeringGroupPeer.

rate_limit

Rate limit information.

def to_dict(self)
21109    def to_dict(self):
21110        return {
21111            'meta': self.meta,
21112            'peering_group_peer': self.peering_group_peer,
21113            'rate_limit': self.rate_limit,
21114        }
@classmethod
def from_dict(cls, d)
21116    @classmethod
21117    def from_dict(cls, d):
21118        return cls(
21119            meta=d.get('meta'),
21120            peering_group_peer=d.get('peering_group_peer'),
21121            rate_limit=d.get('rate_limit'),
21122        )
class PeeringGroupPeerDeleteResponse:
21125class PeeringGroupPeerDeleteResponse:
21126    '''
21127         PeeringGroupPeerDeleteResponse returns information about a PeeringGroupPeer that was deleted.
21128    '''
21129    __slots__ = [
21130        'meta',
21131        'rate_limit',
21132    ]
21133
21134    def __init__(
21135        self,
21136        meta=None,
21137        rate_limit=None,
21138    ):
21139        self.meta = meta if meta is not None else None
21140        '''
21141         Reserved for future use.
21142        '''
21143        self.rate_limit = rate_limit if rate_limit is not None else None
21144        '''
21145         Rate limit information.
21146        '''
21147
21148    def __repr__(self):
21149        return '<sdm.PeeringGroupPeerDeleteResponse ' + \
21150            'meta: ' + repr(self.meta) + ' ' +\
21151            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21152            '>'
21153
21154    def to_dict(self):
21155        return {
21156            'meta': self.meta,
21157            'rate_limit': self.rate_limit,
21158        }
21159
21160    @classmethod
21161    def from_dict(cls, d):
21162        return cls(
21163            meta=d.get('meta'),
21164            rate_limit=d.get('rate_limit'),
21165        )

PeeringGroupPeerDeleteResponse returns information about a PeeringGroupPeer that was deleted.

PeeringGroupPeerDeleteResponse(meta=None, rate_limit=None)
21134    def __init__(
21135        self,
21136        meta=None,
21137        rate_limit=None,
21138    ):
21139        self.meta = meta if meta is not None else None
21140        '''
21141         Reserved for future use.
21142        '''
21143        self.rate_limit = rate_limit if rate_limit is not None else None
21144        '''
21145         Rate limit information.
21146        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
21154    def to_dict(self):
21155        return {
21156            'meta': self.meta,
21157            'rate_limit': self.rate_limit,
21158        }
@classmethod
def from_dict(cls, d)
21160    @classmethod
21161    def from_dict(cls, d):
21162        return cls(
21163            meta=d.get('meta'),
21164            rate_limit=d.get('rate_limit'),
21165        )
class PeeringGroupPeerGetResponse:
21168class PeeringGroupPeerGetResponse:
21169    '''
21170         PeeringGroupPeerGetResponse returns a requested PeeringGroupPeer.
21171    '''
21172    __slots__ = [
21173        'meta',
21174        'peering_group_peer',
21175        'rate_limit',
21176    ]
21177
21178    def __init__(
21179        self,
21180        meta=None,
21181        peering_group_peer=None,
21182        rate_limit=None,
21183    ):
21184        self.meta = meta if meta is not None else None
21185        '''
21186         Reserved for future use.
21187        '''
21188        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
21189        '''
21190         The requested PeeringGroupPeer.
21191        '''
21192        self.rate_limit = rate_limit if rate_limit is not None else None
21193        '''
21194         Rate limit information.
21195        '''
21196
21197    def __repr__(self):
21198        return '<sdm.PeeringGroupPeerGetResponse ' + \
21199            'meta: ' + repr(self.meta) + ' ' +\
21200            'peering_group_peer: ' + repr(self.peering_group_peer) + ' ' +\
21201            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21202            '>'
21203
21204    def to_dict(self):
21205        return {
21206            'meta': self.meta,
21207            'peering_group_peer': self.peering_group_peer,
21208            'rate_limit': self.rate_limit,
21209        }
21210
21211    @classmethod
21212    def from_dict(cls, d):
21213        return cls(
21214            meta=d.get('meta'),
21215            peering_group_peer=d.get('peering_group_peer'),
21216            rate_limit=d.get('rate_limit'),
21217        )

PeeringGroupPeerGetResponse returns a requested PeeringGroupPeer.

PeeringGroupPeerGetResponse(meta=None, peering_group_peer=None, rate_limit=None)
21178    def __init__(
21179        self,
21180        meta=None,
21181        peering_group_peer=None,
21182        rate_limit=None,
21183    ):
21184        self.meta = meta if meta is not None else None
21185        '''
21186         Reserved for future use.
21187        '''
21188        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
21189        '''
21190         The requested PeeringGroupPeer.
21191        '''
21192        self.rate_limit = rate_limit if rate_limit is not None else None
21193        '''
21194         Rate limit information.
21195        '''
meta

Reserved for future use.

peering_group_peer

The requested PeeringGroupPeer.

rate_limit

Rate limit information.

def to_dict(self)
21204    def to_dict(self):
21205        return {
21206            'meta': self.meta,
21207            'peering_group_peer': self.peering_group_peer,
21208            'rate_limit': self.rate_limit,
21209        }
@classmethod
def from_dict(cls, d)
21211    @classmethod
21212    def from_dict(cls, d):
21213        return cls(
21214            meta=d.get('meta'),
21215            peering_group_peer=d.get('peering_group_peer'),
21216            rate_limit=d.get('rate_limit'),
21217        )
class PeeringGroupResource:
21220class PeeringGroupResource:
21221    '''
21222         PeeringGroupResource represents the attachment between a PeeringGroup and a Resource.
21223    '''
21224    __slots__ = [
21225        'group_id',
21226        'id',
21227        'resource_id',
21228    ]
21229
21230    def __init__(
21231        self,
21232        group_id=None,
21233        id=None,
21234        resource_id=None,
21235    ):
21236        self.group_id = group_id if group_id is not None else ''
21237        '''
21238         Peering Group ID to which the resource will be attached to.
21239        '''
21240        self.id = id if id is not None else ''
21241        '''
21242         Unique identifier of the Attachment.
21243        '''
21244        self.resource_id = resource_id if resource_id is not None else ''
21245        '''
21246         Resource ID to be attached.
21247        '''
21248
21249    def __repr__(self):
21250        return '<sdm.PeeringGroupResource ' + \
21251            'group_id: ' + repr(self.group_id) + ' ' +\
21252            'id: ' + repr(self.id) + ' ' +\
21253            'resource_id: ' + repr(self.resource_id) + ' ' +\
21254            '>'
21255
21256    def to_dict(self):
21257        return {
21258            'group_id': self.group_id,
21259            'id': self.id,
21260            'resource_id': self.resource_id,
21261        }
21262
21263    @classmethod
21264    def from_dict(cls, d):
21265        return cls(
21266            group_id=d.get('group_id'),
21267            id=d.get('id'),
21268            resource_id=d.get('resource_id'),
21269        )

PeeringGroupResource represents the attachment between a PeeringGroup and a Resource.

PeeringGroupResource(group_id=None, id=None, resource_id=None)
21230    def __init__(
21231        self,
21232        group_id=None,
21233        id=None,
21234        resource_id=None,
21235    ):
21236        self.group_id = group_id if group_id is not None else ''
21237        '''
21238         Peering Group ID to which the resource will be attached to.
21239        '''
21240        self.id = id if id is not None else ''
21241        '''
21242         Unique identifier of the Attachment.
21243        '''
21244        self.resource_id = resource_id if resource_id is not None else ''
21245        '''
21246         Resource ID to be attached.
21247        '''
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)
21256    def to_dict(self):
21257        return {
21258            'group_id': self.group_id,
21259            'id': self.id,
21260            'resource_id': self.resource_id,
21261        }
@classmethod
def from_dict(cls, d)
21263    @classmethod
21264    def from_dict(cls, d):
21265        return cls(
21266            group_id=d.get('group_id'),
21267            id=d.get('id'),
21268            resource_id=d.get('resource_id'),
21269        )
class PeeringGroupResourceCreateResponse:
21272class PeeringGroupResourceCreateResponse:
21273    '''
21274         PeeringGroupResourceCreateResponse reports how the attachment was created in the system.
21275    '''
21276    __slots__ = [
21277        'meta',
21278        'peering_group_resource',
21279        'rate_limit',
21280    ]
21281
21282    def __init__(
21283        self,
21284        meta=None,
21285        peering_group_resource=None,
21286        rate_limit=None,
21287    ):
21288        self.meta = meta if meta is not None else None
21289        '''
21290         Reserved for future use.
21291        '''
21292        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
21293        '''
21294         The created PeeringGroupResource.
21295        '''
21296        self.rate_limit = rate_limit if rate_limit is not None else None
21297        '''
21298         Rate limit information.
21299        '''
21300
21301    def __repr__(self):
21302        return '<sdm.PeeringGroupResourceCreateResponse ' + \
21303            'meta: ' + repr(self.meta) + ' ' +\
21304            'peering_group_resource: ' + repr(self.peering_group_resource) + ' ' +\
21305            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21306            '>'
21307
21308    def to_dict(self):
21309        return {
21310            'meta': self.meta,
21311            'peering_group_resource': self.peering_group_resource,
21312            'rate_limit': self.rate_limit,
21313        }
21314
21315    @classmethod
21316    def from_dict(cls, d):
21317        return cls(
21318            meta=d.get('meta'),
21319            peering_group_resource=d.get('peering_group_resource'),
21320            rate_limit=d.get('rate_limit'),
21321        )

PeeringGroupResourceCreateResponse reports how the attachment was created in the system.

PeeringGroupResourceCreateResponse(meta=None, peering_group_resource=None, rate_limit=None)
21282    def __init__(
21283        self,
21284        meta=None,
21285        peering_group_resource=None,
21286        rate_limit=None,
21287    ):
21288        self.meta = meta if meta is not None else None
21289        '''
21290         Reserved for future use.
21291        '''
21292        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
21293        '''
21294         The created PeeringGroupResource.
21295        '''
21296        self.rate_limit = rate_limit if rate_limit is not None else None
21297        '''
21298         Rate limit information.
21299        '''
meta

Reserved for future use.

peering_group_resource

The created PeeringGroupResource.

rate_limit

Rate limit information.

def to_dict(self)
21308    def to_dict(self):
21309        return {
21310            'meta': self.meta,
21311            'peering_group_resource': self.peering_group_resource,
21312            'rate_limit': self.rate_limit,
21313        }
@classmethod
def from_dict(cls, d)
21315    @classmethod
21316    def from_dict(cls, d):
21317        return cls(
21318            meta=d.get('meta'),
21319            peering_group_resource=d.get('peering_group_resource'),
21320            rate_limit=d.get('rate_limit'),
21321        )
class PeeringGroupResourceDeleteResponse:
21324class PeeringGroupResourceDeleteResponse:
21325    '''
21326         PeeringGroupResourceDeleteResponse returns information about a PeeringGroupResource that was deleted.
21327    '''
21328    __slots__ = [
21329        'meta',
21330        'rate_limit',
21331    ]
21332
21333    def __init__(
21334        self,
21335        meta=None,
21336        rate_limit=None,
21337    ):
21338        self.meta = meta if meta is not None else None
21339        '''
21340         Reserved for future use.
21341        '''
21342        self.rate_limit = rate_limit if rate_limit is not None else None
21343        '''
21344         Rate limit information.
21345        '''
21346
21347    def __repr__(self):
21348        return '<sdm.PeeringGroupResourceDeleteResponse ' + \
21349            'meta: ' + repr(self.meta) + ' ' +\
21350            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21351            '>'
21352
21353    def to_dict(self):
21354        return {
21355            'meta': self.meta,
21356            'rate_limit': self.rate_limit,
21357        }
21358
21359    @classmethod
21360    def from_dict(cls, d):
21361        return cls(
21362            meta=d.get('meta'),
21363            rate_limit=d.get('rate_limit'),
21364        )

PeeringGroupResourceDeleteResponse returns information about a PeeringGroupResource that was deleted.

PeeringGroupResourceDeleteResponse(meta=None, rate_limit=None)
21333    def __init__(
21334        self,
21335        meta=None,
21336        rate_limit=None,
21337    ):
21338        self.meta = meta if meta is not None else None
21339        '''
21340         Reserved for future use.
21341        '''
21342        self.rate_limit = rate_limit if rate_limit is not None else None
21343        '''
21344         Rate limit information.
21345        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
21353    def to_dict(self):
21354        return {
21355            'meta': self.meta,
21356            'rate_limit': self.rate_limit,
21357        }
@classmethod
def from_dict(cls, d)
21359    @classmethod
21360    def from_dict(cls, d):
21361        return cls(
21362            meta=d.get('meta'),
21363            rate_limit=d.get('rate_limit'),
21364        )
class PeeringGroupResourceGetResponse:
21367class PeeringGroupResourceGetResponse:
21368    '''
21369         PeeringGroupResourceGetResponse returns a requested PeeringGroupResource.
21370    '''
21371    __slots__ = [
21372        'meta',
21373        'peering_group_resource',
21374        'rate_limit',
21375    ]
21376
21377    def __init__(
21378        self,
21379        meta=None,
21380        peering_group_resource=None,
21381        rate_limit=None,
21382    ):
21383        self.meta = meta if meta is not None else None
21384        '''
21385         Reserved for future use.
21386        '''
21387        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
21388        '''
21389         The requested PeeringGroupResource.
21390        '''
21391        self.rate_limit = rate_limit if rate_limit is not None else None
21392        '''
21393         Rate limit information.
21394        '''
21395
21396    def __repr__(self):
21397        return '<sdm.PeeringGroupResourceGetResponse ' + \
21398            'meta: ' + repr(self.meta) + ' ' +\
21399            'peering_group_resource: ' + repr(self.peering_group_resource) + ' ' +\
21400            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21401            '>'
21402
21403    def to_dict(self):
21404        return {
21405            'meta': self.meta,
21406            'peering_group_resource': self.peering_group_resource,
21407            'rate_limit': self.rate_limit,
21408        }
21409
21410    @classmethod
21411    def from_dict(cls, d):
21412        return cls(
21413            meta=d.get('meta'),
21414            peering_group_resource=d.get('peering_group_resource'),
21415            rate_limit=d.get('rate_limit'),
21416        )

PeeringGroupResourceGetResponse returns a requested PeeringGroupResource.

PeeringGroupResourceGetResponse(meta=None, peering_group_resource=None, rate_limit=None)
21377    def __init__(
21378        self,
21379        meta=None,
21380        peering_group_resource=None,
21381        rate_limit=None,
21382    ):
21383        self.meta = meta if meta is not None else None
21384        '''
21385         Reserved for future use.
21386        '''
21387        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
21388        '''
21389         The requested PeeringGroupResource.
21390        '''
21391        self.rate_limit = rate_limit if rate_limit is not None else None
21392        '''
21393         Rate limit information.
21394        '''
meta

Reserved for future use.

peering_group_resource

The requested PeeringGroupResource.

rate_limit

Rate limit information.

def to_dict(self)
21403    def to_dict(self):
21404        return {
21405            'meta': self.meta,
21406            'peering_group_resource': self.peering_group_resource,
21407            'rate_limit': self.rate_limit,
21408        }
@classmethod
def from_dict(cls, d)
21410    @classmethod
21411    def from_dict(cls, d):
21412        return cls(
21413            meta=d.get('meta'),
21414            peering_group_resource=d.get('peering_group_resource'),
21415            rate_limit=d.get('rate_limit'),
21416        )
class Policy:
21419class Policy:
21420    '''
21421         Policy is a collection of one or more statements that enforce fine-grained access control
21422     for the users of an organization.
21423    '''
21424    __slots__ = [
21425        'description',
21426        'id',
21427        'name',
21428        'policy',
21429    ]
21430
21431    def __init__(
21432        self,
21433        description=None,
21434        id=None,
21435        name=None,
21436        policy=None,
21437    ):
21438        self.description = description if description is not None else ''
21439        '''
21440         Optional description of the Policy.
21441        '''
21442        self.id = id if id is not None else ''
21443        '''
21444         Unique identifier of the Policy.
21445        '''
21446        self.name = name if name is not None else ''
21447        '''
21448         Unique human-readable name of the Policy.
21449        '''
21450        self.policy = policy if policy is not None else ''
21451        '''
21452         The content of the Policy, in Cedar policy language.
21453        '''
21454
21455    def __repr__(self):
21456        return '<sdm.Policy ' + \
21457            'description: ' + repr(self.description) + ' ' +\
21458            'id: ' + repr(self.id) + ' ' +\
21459            'name: ' + repr(self.name) + ' ' +\
21460            'policy: ' + repr(self.policy) + ' ' +\
21461            '>'
21462
21463    def to_dict(self):
21464        return {
21465            'description': self.description,
21466            'id': self.id,
21467            'name': self.name,
21468            'policy': self.policy,
21469        }
21470
21471    @classmethod
21472    def from_dict(cls, d):
21473        return cls(
21474            description=d.get('description'),
21475            id=d.get('id'),
21476            name=d.get('name'),
21477            policy=d.get('policy'),
21478        )

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)
21431    def __init__(
21432        self,
21433        description=None,
21434        id=None,
21435        name=None,
21436        policy=None,
21437    ):
21438        self.description = description if description is not None else ''
21439        '''
21440         Optional description of the Policy.
21441        '''
21442        self.id = id if id is not None else ''
21443        '''
21444         Unique identifier of the Policy.
21445        '''
21446        self.name = name if name is not None else ''
21447        '''
21448         Unique human-readable name of the Policy.
21449        '''
21450        self.policy = policy if policy is not None else ''
21451        '''
21452         The content of the Policy, in Cedar policy language.
21453        '''
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)
21463    def to_dict(self):
21464        return {
21465            'description': self.description,
21466            'id': self.id,
21467            'name': self.name,
21468            'policy': self.policy,
21469        }
@classmethod
def from_dict(cls, d)
21471    @classmethod
21472    def from_dict(cls, d):
21473        return cls(
21474            description=d.get('description'),
21475            id=d.get('id'),
21476            name=d.get('name'),
21477            policy=d.get('policy'),
21478        )
class PolicyCreateResponse:
21481class PolicyCreateResponse:
21482    '''
21483         PolicyCreateResponse reports how the Policy was created in the system.
21484    '''
21485    __slots__ = [
21486        'policy',
21487        'rate_limit',
21488    ]
21489
21490    def __init__(
21491        self,
21492        policy=None,
21493        rate_limit=None,
21494    ):
21495        self.policy = policy if policy is not None else None
21496        '''
21497         The created Policy.
21498        '''
21499        self.rate_limit = rate_limit if rate_limit is not None else None
21500        '''
21501         Rate limit information.
21502        '''
21503
21504    def __repr__(self):
21505        return '<sdm.PolicyCreateResponse ' + \
21506            'policy: ' + repr(self.policy) + ' ' +\
21507            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21508            '>'
21509
21510    def to_dict(self):
21511        return {
21512            'policy': self.policy,
21513            'rate_limit': self.rate_limit,
21514        }
21515
21516    @classmethod
21517    def from_dict(cls, d):
21518        return cls(
21519            policy=d.get('policy'),
21520            rate_limit=d.get('rate_limit'),
21521        )

PolicyCreateResponse reports how the Policy was created in the system.

PolicyCreateResponse(policy=None, rate_limit=None)
21490    def __init__(
21491        self,
21492        policy=None,
21493        rate_limit=None,
21494    ):
21495        self.policy = policy if policy is not None else None
21496        '''
21497         The created Policy.
21498        '''
21499        self.rate_limit = rate_limit if rate_limit is not None else None
21500        '''
21501         Rate limit information.
21502        '''
policy

The created Policy.

rate_limit

Rate limit information.

def to_dict(self)
21510    def to_dict(self):
21511        return {
21512            'policy': self.policy,
21513            'rate_limit': self.rate_limit,
21514        }
@classmethod
def from_dict(cls, d)
21516    @classmethod
21517    def from_dict(cls, d):
21518        return cls(
21519            policy=d.get('policy'),
21520            rate_limit=d.get('rate_limit'),
21521        )
class PolicyDeleteResponse:
21524class PolicyDeleteResponse:
21525    '''
21526         PolicyDeleteResponse returns information about a Policy that was deleted.
21527    '''
21528    __slots__ = [
21529        'rate_limit',
21530    ]
21531
21532    def __init__(
21533        self,
21534        rate_limit=None,
21535    ):
21536        self.rate_limit = rate_limit if rate_limit is not None else None
21537        '''
21538         Rate limit information.
21539        '''
21540
21541    def __repr__(self):
21542        return '<sdm.PolicyDeleteResponse ' + \
21543            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21544            '>'
21545
21546    def to_dict(self):
21547        return {
21548            'rate_limit': self.rate_limit,
21549        }
21550
21551    @classmethod
21552    def from_dict(cls, d):
21553        return cls(rate_limit=d.get('rate_limit'), )

PolicyDeleteResponse returns information about a Policy that was deleted.

PolicyDeleteResponse(rate_limit=None)
21532    def __init__(
21533        self,
21534        rate_limit=None,
21535    ):
21536        self.rate_limit = rate_limit if rate_limit is not None else None
21537        '''
21538         Rate limit information.
21539        '''
rate_limit

Rate limit information.

def to_dict(self)
21546    def to_dict(self):
21547        return {
21548            'rate_limit': self.rate_limit,
21549        }
@classmethod
def from_dict(cls, d)
21551    @classmethod
21552    def from_dict(cls, d):
21553        return cls(rate_limit=d.get('rate_limit'), )
class PolicyGetResponse:
21556class PolicyGetResponse:
21557    '''
21558         PolicyGetResponse returns a requested Policy.
21559    '''
21560    __slots__ = [
21561        'meta',
21562        'policy',
21563        'rate_limit',
21564    ]
21565
21566    def __init__(
21567        self,
21568        meta=None,
21569        policy=None,
21570        rate_limit=None,
21571    ):
21572        self.meta = meta if meta is not None else None
21573        '''
21574         Reserved for future use.
21575        '''
21576        self.policy = policy if policy is not None else None
21577        '''
21578         The requested Policy.
21579        '''
21580        self.rate_limit = rate_limit if rate_limit is not None else None
21581        '''
21582         Rate limit information.
21583        '''
21584
21585    def __repr__(self):
21586        return '<sdm.PolicyGetResponse ' + \
21587            'meta: ' + repr(self.meta) + ' ' +\
21588            'policy: ' + repr(self.policy) + ' ' +\
21589            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21590            '>'
21591
21592    def to_dict(self):
21593        return {
21594            'meta': self.meta,
21595            'policy': self.policy,
21596            'rate_limit': self.rate_limit,
21597        }
21598
21599    @classmethod
21600    def from_dict(cls, d):
21601        return cls(
21602            meta=d.get('meta'),
21603            policy=d.get('policy'),
21604            rate_limit=d.get('rate_limit'),
21605        )

PolicyGetResponse returns a requested Policy.

PolicyGetResponse(meta=None, policy=None, rate_limit=None)
21566    def __init__(
21567        self,
21568        meta=None,
21569        policy=None,
21570        rate_limit=None,
21571    ):
21572        self.meta = meta if meta is not None else None
21573        '''
21574         Reserved for future use.
21575        '''
21576        self.policy = policy if policy is not None else None
21577        '''
21578         The requested Policy.
21579        '''
21580        self.rate_limit = rate_limit if rate_limit is not None else None
21581        '''
21582         Rate limit information.
21583        '''
meta

Reserved for future use.

policy

The requested Policy.

rate_limit

Rate limit information.

def to_dict(self)
21592    def to_dict(self):
21593        return {
21594            'meta': self.meta,
21595            'policy': self.policy,
21596            'rate_limit': self.rate_limit,
21597        }
@classmethod
def from_dict(cls, d)
21599    @classmethod
21600    def from_dict(cls, d):
21601        return cls(
21602            meta=d.get('meta'),
21603            policy=d.get('policy'),
21604            rate_limit=d.get('rate_limit'),
21605        )
class PolicyHistory:
21608class PolicyHistory:
21609    '''
21610         PolicyHistory records the state of a Policy at a given point in time,
21611     where every change (create, update and delete) to a Policy produces a
21612     PolicyHistory record.
21613    '''
21614    __slots__ = [
21615        'activity_id',
21616        'deleted_at',
21617        'policy',
21618        'timestamp',
21619    ]
21620
21621    def __init__(
21622        self,
21623        activity_id=None,
21624        deleted_at=None,
21625        policy=None,
21626        timestamp=None,
21627    ):
21628        self.activity_id = activity_id if activity_id is not None else ''
21629        '''
21630         The unique identifier of the Activity that produced this change to the Policy.
21631         May be empty for some system-initiated updates.
21632        '''
21633        self.deleted_at = deleted_at if deleted_at is not None else None
21634        '''
21635         If this Policy was deleted, the time it was deleted.
21636        '''
21637        self.policy = policy if policy is not None else None
21638        '''
21639         The complete Policy state at this time.
21640        '''
21641        self.timestamp = timestamp if timestamp is not None else None
21642        '''
21643         The time at which the Policy state was recorded.
21644        '''
21645
21646    def __repr__(self):
21647        return '<sdm.PolicyHistory ' + \
21648            'activity_id: ' + repr(self.activity_id) + ' ' +\
21649            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
21650            'policy: ' + repr(self.policy) + ' ' +\
21651            'timestamp: ' + repr(self.timestamp) + ' ' +\
21652            '>'
21653
21654    def to_dict(self):
21655        return {
21656            'activity_id': self.activity_id,
21657            'deleted_at': self.deleted_at,
21658            'policy': self.policy,
21659            'timestamp': self.timestamp,
21660        }
21661
21662    @classmethod
21663    def from_dict(cls, d):
21664        return cls(
21665            activity_id=d.get('activity_id'),
21666            deleted_at=d.get('deleted_at'),
21667            policy=d.get('policy'),
21668            timestamp=d.get('timestamp'),
21669        )

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)
21621    def __init__(
21622        self,
21623        activity_id=None,
21624        deleted_at=None,
21625        policy=None,
21626        timestamp=None,
21627    ):
21628        self.activity_id = activity_id if activity_id is not None else ''
21629        '''
21630         The unique identifier of the Activity that produced this change to the Policy.
21631         May be empty for some system-initiated updates.
21632        '''
21633        self.deleted_at = deleted_at if deleted_at is not None else None
21634        '''
21635         If this Policy was deleted, the time it was deleted.
21636        '''
21637        self.policy = policy if policy is not None else None
21638        '''
21639         The complete Policy state at this time.
21640        '''
21641        self.timestamp = timestamp if timestamp is not None else None
21642        '''
21643         The time at which the Policy state was recorded.
21644        '''
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)
21654    def to_dict(self):
21655        return {
21656            'activity_id': self.activity_id,
21657            'deleted_at': self.deleted_at,
21658            'policy': self.policy,
21659            'timestamp': self.timestamp,
21660        }
@classmethod
def from_dict(cls, d)
21662    @classmethod
21663    def from_dict(cls, d):
21664        return cls(
21665            activity_id=d.get('activity_id'),
21666            deleted_at=d.get('deleted_at'),
21667            policy=d.get('policy'),
21668            timestamp=d.get('timestamp'),
21669        )
class PolicyListResponse:
21672class PolicyListResponse:
21673    '''
21674         PolicyListResponse returns a list of Policy records that meet
21675     the criteria of a PolicyListRequest.
21676    '''
21677    __slots__ = [
21678        'rate_limit',
21679    ]
21680
21681    def __init__(
21682        self,
21683        rate_limit=None,
21684    ):
21685        self.rate_limit = rate_limit if rate_limit is not None else None
21686        '''
21687         Rate limit information.
21688        '''
21689
21690    def __repr__(self):
21691        return '<sdm.PolicyListResponse ' + \
21692            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21693            '>'
21694
21695    def to_dict(self):
21696        return {
21697            'rate_limit': self.rate_limit,
21698        }
21699
21700    @classmethod
21701    def from_dict(cls, d):
21702        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)
21681    def __init__(
21682        self,
21683        rate_limit=None,
21684    ):
21685        self.rate_limit = rate_limit if rate_limit is not None else None
21686        '''
21687         Rate limit information.
21688        '''
rate_limit

Rate limit information.

def to_dict(self)
21695    def to_dict(self):
21696        return {
21697            'rate_limit': self.rate_limit,
21698        }
@classmethod
def from_dict(cls, d)
21700    @classmethod
21701    def from_dict(cls, d):
21702        return cls(rate_limit=d.get('rate_limit'), )
class PolicyUpdateResponse:
21705class PolicyUpdateResponse:
21706    '''
21707         PolicyUpdateResponse returns the fields of a Policy after it has been updated by
21708     a PolicyUpdateRequest.
21709    '''
21710    __slots__ = [
21711        'policy',
21712        'rate_limit',
21713    ]
21714
21715    def __init__(
21716        self,
21717        policy=None,
21718        rate_limit=None,
21719    ):
21720        self.policy = policy if policy is not None else None
21721        '''
21722         The updated Policy.
21723        '''
21724        self.rate_limit = rate_limit if rate_limit is not None else None
21725        '''
21726         Rate limit information.
21727        '''
21728
21729    def __repr__(self):
21730        return '<sdm.PolicyUpdateResponse ' + \
21731            'policy: ' + repr(self.policy) + ' ' +\
21732            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21733            '>'
21734
21735    def to_dict(self):
21736        return {
21737            'policy': self.policy,
21738            'rate_limit': self.rate_limit,
21739        }
21740
21741    @classmethod
21742    def from_dict(cls, d):
21743        return cls(
21744            policy=d.get('policy'),
21745            rate_limit=d.get('rate_limit'),
21746        )

PolicyUpdateResponse returns the fields of a Policy after it has been updated by a PolicyUpdateRequest.

PolicyUpdateResponse(policy=None, rate_limit=None)
21715    def __init__(
21716        self,
21717        policy=None,
21718        rate_limit=None,
21719    ):
21720        self.policy = policy if policy is not None else None
21721        '''
21722         The updated Policy.
21723        '''
21724        self.rate_limit = rate_limit if rate_limit is not None else None
21725        '''
21726         Rate limit information.
21727        '''
policy

The updated Policy.

rate_limit

Rate limit information.

def to_dict(self)
21735    def to_dict(self):
21736        return {
21737            'policy': self.policy,
21738            'rate_limit': self.rate_limit,
21739        }
@classmethod
def from_dict(cls, d)
21741    @classmethod
21742    def from_dict(cls, d):
21743        return cls(
21744            policy=d.get('policy'),
21745            rate_limit=d.get('rate_limit'),
21746        )
class Postgres:
21749class Postgres:
21750    __slots__ = [
21751        'bind_interface',
21752        'database',
21753        'egress_filter',
21754        'healthy',
21755        'hostname',
21756        'id',
21757        'name',
21758        'override_database',
21759        'password',
21760        'port',
21761        'port_override',
21762        'proxy_cluster_id',
21763        'secret_store_id',
21764        'subdomain',
21765        'tags',
21766        'username',
21767    ]
21768
21769    def __init__(
21770        self,
21771        bind_interface=None,
21772        database=None,
21773        egress_filter=None,
21774        healthy=None,
21775        hostname=None,
21776        id=None,
21777        name=None,
21778        override_database=None,
21779        password=None,
21780        port=None,
21781        port_override=None,
21782        proxy_cluster_id=None,
21783        secret_store_id=None,
21784        subdomain=None,
21785        tags=None,
21786        username=None,
21787    ):
21788        self.bind_interface = bind_interface if bind_interface is not None else ''
21789        '''
21790         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
21791        '''
21792        self.database = database if database is not None else ''
21793        '''
21794         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
21795        '''
21796        self.egress_filter = egress_filter if egress_filter is not None else ''
21797        '''
21798         A filter applied to the routing logic to pin datasource to nodes.
21799        '''
21800        self.healthy = healthy if healthy is not None else False
21801        '''
21802         True if the datasource is reachable and the credentials are valid.
21803        '''
21804        self.hostname = hostname if hostname is not None else ''
21805        '''
21806         The host to dial to initiate a connection from the egress node to this resource.
21807        '''
21808        self.id = id if id is not None else ''
21809        '''
21810         Unique identifier of the Resource.
21811        '''
21812        self.name = name if name is not None else ''
21813        '''
21814         Unique human-readable name of the Resource.
21815        '''
21816        self.override_database = override_database if override_database is not None else False
21817        '''
21818         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
21819        '''
21820        self.password = password if password is not None else ''
21821        '''
21822         The password to authenticate with.
21823        '''
21824        self.port = port if port is not None else 0
21825        '''
21826         The port to dial to initiate a connection from the egress node to this resource.
21827        '''
21828        self.port_override = port_override if port_override is not None else 0
21829        '''
21830         The local port used by clients to connect to this resource.
21831        '''
21832        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21833        '''
21834         ID of the proxy cluster for this resource, if any.
21835        '''
21836        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21837        '''
21838         ID of the secret store containing credentials for this resource, if any.
21839        '''
21840        self.subdomain = subdomain if subdomain is not None else ''
21841        '''
21842         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
21843        '''
21844        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21845        '''
21846         Tags is a map of key, value pairs.
21847        '''
21848        self.username = username if username is not None else ''
21849        '''
21850         The username to authenticate with.
21851        '''
21852
21853    def __repr__(self):
21854        return '<sdm.Postgres ' + \
21855            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
21856            'database: ' + repr(self.database) + ' ' +\
21857            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
21858            'healthy: ' + repr(self.healthy) + ' ' +\
21859            'hostname: ' + repr(self.hostname) + ' ' +\
21860            'id: ' + repr(self.id) + ' ' +\
21861            'name: ' + repr(self.name) + ' ' +\
21862            'override_database: ' + repr(self.override_database) + ' ' +\
21863            'password: ' + repr(self.password) + ' ' +\
21864            'port: ' + repr(self.port) + ' ' +\
21865            'port_override: ' + repr(self.port_override) + ' ' +\
21866            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
21867            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
21868            'subdomain: ' + repr(self.subdomain) + ' ' +\
21869            'tags: ' + repr(self.tags) + ' ' +\
21870            'username: ' + repr(self.username) + ' ' +\
21871            '>'
21872
21873    def to_dict(self):
21874        return {
21875            'bind_interface': self.bind_interface,
21876            'database': self.database,
21877            'egress_filter': self.egress_filter,
21878            'healthy': self.healthy,
21879            'hostname': self.hostname,
21880            'id': self.id,
21881            'name': self.name,
21882            'override_database': self.override_database,
21883            'password': self.password,
21884            'port': self.port,
21885            'port_override': self.port_override,
21886            'proxy_cluster_id': self.proxy_cluster_id,
21887            'secret_store_id': self.secret_store_id,
21888            'subdomain': self.subdomain,
21889            'tags': self.tags,
21890            'username': self.username,
21891        }
21892
21893    @classmethod
21894    def from_dict(cls, d):
21895        return cls(
21896            bind_interface=d.get('bind_interface'),
21897            database=d.get('database'),
21898            egress_filter=d.get('egress_filter'),
21899            healthy=d.get('healthy'),
21900            hostname=d.get('hostname'),
21901            id=d.get('id'),
21902            name=d.get('name'),
21903            override_database=d.get('override_database'),
21904            password=d.get('password'),
21905            port=d.get('port'),
21906            port_override=d.get('port_override'),
21907            proxy_cluster_id=d.get('proxy_cluster_id'),
21908            secret_store_id=d.get('secret_store_id'),
21909            subdomain=d.get('subdomain'),
21910            tags=d.get('tags'),
21911            username=d.get('username'),
21912        )
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)
21769    def __init__(
21770        self,
21771        bind_interface=None,
21772        database=None,
21773        egress_filter=None,
21774        healthy=None,
21775        hostname=None,
21776        id=None,
21777        name=None,
21778        override_database=None,
21779        password=None,
21780        port=None,
21781        port_override=None,
21782        proxy_cluster_id=None,
21783        secret_store_id=None,
21784        subdomain=None,
21785        tags=None,
21786        username=None,
21787    ):
21788        self.bind_interface = bind_interface if bind_interface is not None else ''
21789        '''
21790         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
21791        '''
21792        self.database = database if database is not None else ''
21793        '''
21794         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
21795        '''
21796        self.egress_filter = egress_filter if egress_filter is not None else ''
21797        '''
21798         A filter applied to the routing logic to pin datasource to nodes.
21799        '''
21800        self.healthy = healthy if healthy is not None else False
21801        '''
21802         True if the datasource is reachable and the credentials are valid.
21803        '''
21804        self.hostname = hostname if hostname is not None else ''
21805        '''
21806         The host to dial to initiate a connection from the egress node to this resource.
21807        '''
21808        self.id = id if id is not None else ''
21809        '''
21810         Unique identifier of the Resource.
21811        '''
21812        self.name = name if name is not None else ''
21813        '''
21814         Unique human-readable name of the Resource.
21815        '''
21816        self.override_database = override_database if override_database is not None else False
21817        '''
21818         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
21819        '''
21820        self.password = password if password is not None else ''
21821        '''
21822         The password to authenticate with.
21823        '''
21824        self.port = port if port is not None else 0
21825        '''
21826         The port to dial to initiate a connection from the egress node to this resource.
21827        '''
21828        self.port_override = port_override if port_override is not None else 0
21829        '''
21830         The local port used by clients to connect to this resource.
21831        '''
21832        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21833        '''
21834         ID of the proxy cluster for this resource, if any.
21835        '''
21836        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21837        '''
21838         ID of the secret store containing credentials for this resource, if any.
21839        '''
21840        self.subdomain = subdomain if subdomain is not None else ''
21841        '''
21842         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
21843        '''
21844        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21845        '''
21846         Tags is a map of key, value pairs.
21847        '''
21848        self.username = username if username is not None else ''
21849        '''
21850         The username to authenticate with.
21851        '''
bind_interface

The bind interface is the IP 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)
21873    def to_dict(self):
21874        return {
21875            'bind_interface': self.bind_interface,
21876            'database': self.database,
21877            'egress_filter': self.egress_filter,
21878            'healthy': self.healthy,
21879            'hostname': self.hostname,
21880            'id': self.id,
21881            'name': self.name,
21882            'override_database': self.override_database,
21883            'password': self.password,
21884            'port': self.port,
21885            'port_override': self.port_override,
21886            'proxy_cluster_id': self.proxy_cluster_id,
21887            'secret_store_id': self.secret_store_id,
21888            'subdomain': self.subdomain,
21889            'tags': self.tags,
21890            'username': self.username,
21891        }
@classmethod
def from_dict(cls, d)
21893    @classmethod
21894    def from_dict(cls, d):
21895        return cls(
21896            bind_interface=d.get('bind_interface'),
21897            database=d.get('database'),
21898            egress_filter=d.get('egress_filter'),
21899            healthy=d.get('healthy'),
21900            hostname=d.get('hostname'),
21901            id=d.get('id'),
21902            name=d.get('name'),
21903            override_database=d.get('override_database'),
21904            password=d.get('password'),
21905            port=d.get('port'),
21906            port_override=d.get('port_override'),
21907            proxy_cluster_id=d.get('proxy_cluster_id'),
21908            secret_store_id=d.get('secret_store_id'),
21909            subdomain=d.get('subdomain'),
21910            tags=d.get('tags'),
21911            username=d.get('username'),
21912        )
class Presto:
21915class Presto:
21916    __slots__ = [
21917        'bind_interface',
21918        'database',
21919        'egress_filter',
21920        'healthy',
21921        'hostname',
21922        'id',
21923        'name',
21924        'password',
21925        'port',
21926        'port_override',
21927        'proxy_cluster_id',
21928        'secret_store_id',
21929        'subdomain',
21930        'tags',
21931        'tls_required',
21932        'username',
21933    ]
21934
21935    def __init__(
21936        self,
21937        bind_interface=None,
21938        database=None,
21939        egress_filter=None,
21940        healthy=None,
21941        hostname=None,
21942        id=None,
21943        name=None,
21944        password=None,
21945        port=None,
21946        port_override=None,
21947        proxy_cluster_id=None,
21948        secret_store_id=None,
21949        subdomain=None,
21950        tags=None,
21951        tls_required=None,
21952        username=None,
21953    ):
21954        self.bind_interface = bind_interface if bind_interface is not None else ''
21955        '''
21956         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
21957        '''
21958        self.database = database if database is not None else ''
21959        '''
21960         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
21961        '''
21962        self.egress_filter = egress_filter if egress_filter is not None else ''
21963        '''
21964         A filter applied to the routing logic to pin datasource to nodes.
21965        '''
21966        self.healthy = healthy if healthy is not None else False
21967        '''
21968         True if the datasource is reachable and the credentials are valid.
21969        '''
21970        self.hostname = hostname if hostname is not None else ''
21971        '''
21972         The host to dial to initiate a connection from the egress node to this resource.
21973        '''
21974        self.id = id if id is not None else ''
21975        '''
21976         Unique identifier of the Resource.
21977        '''
21978        self.name = name if name is not None else ''
21979        '''
21980         Unique human-readable name of the Resource.
21981        '''
21982        self.password = password if password is not None else ''
21983        '''
21984         The password to authenticate with.
21985        '''
21986        self.port = port if port is not None else 0
21987        '''
21988         The port to dial to initiate a connection from the egress node to this resource.
21989        '''
21990        self.port_override = port_override if port_override is not None else 0
21991        '''
21992         The local port used by clients to connect to this resource.
21993        '''
21994        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21995        '''
21996         ID of the proxy cluster for this resource, if any.
21997        '''
21998        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21999        '''
22000         ID of the secret store containing credentials for this resource, if any.
22001        '''
22002        self.subdomain = subdomain if subdomain is not None else ''
22003        '''
22004         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
22005        '''
22006        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22007        '''
22008         Tags is a map of key, value pairs.
22009        '''
22010        self.tls_required = tls_required if tls_required is not None else False
22011        '''
22012         If set, TLS must be used to connect to this resource.
22013        '''
22014        self.username = username if username is not None else ''
22015        '''
22016         The username to authenticate with.
22017        '''
22018
22019    def __repr__(self):
22020        return '<sdm.Presto ' + \
22021            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
22022            'database: ' + repr(self.database) + ' ' +\
22023            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
22024            'healthy: ' + repr(self.healthy) + ' ' +\
22025            'hostname: ' + repr(self.hostname) + ' ' +\
22026            'id: ' + repr(self.id) + ' ' +\
22027            'name: ' + repr(self.name) + ' ' +\
22028            'password: ' + repr(self.password) + ' ' +\
22029            'port: ' + repr(self.port) + ' ' +\
22030            'port_override: ' + repr(self.port_override) + ' ' +\
22031            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
22032            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
22033            'subdomain: ' + repr(self.subdomain) + ' ' +\
22034            'tags: ' + repr(self.tags) + ' ' +\
22035            'tls_required: ' + repr(self.tls_required) + ' ' +\
22036            'username: ' + repr(self.username) + ' ' +\
22037            '>'
22038
22039    def to_dict(self):
22040        return {
22041            'bind_interface': self.bind_interface,
22042            'database': self.database,
22043            'egress_filter': self.egress_filter,
22044            'healthy': self.healthy,
22045            'hostname': self.hostname,
22046            'id': self.id,
22047            'name': self.name,
22048            'password': self.password,
22049            'port': self.port,
22050            'port_override': self.port_override,
22051            'proxy_cluster_id': self.proxy_cluster_id,
22052            'secret_store_id': self.secret_store_id,
22053            'subdomain': self.subdomain,
22054            'tags': self.tags,
22055            'tls_required': self.tls_required,
22056            'username': self.username,
22057        }
22058
22059    @classmethod
22060    def from_dict(cls, d):
22061        return cls(
22062            bind_interface=d.get('bind_interface'),
22063            database=d.get('database'),
22064            egress_filter=d.get('egress_filter'),
22065            healthy=d.get('healthy'),
22066            hostname=d.get('hostname'),
22067            id=d.get('id'),
22068            name=d.get('name'),
22069            password=d.get('password'),
22070            port=d.get('port'),
22071            port_override=d.get('port_override'),
22072            proxy_cluster_id=d.get('proxy_cluster_id'),
22073            secret_store_id=d.get('secret_store_id'),
22074            subdomain=d.get('subdomain'),
22075            tags=d.get('tags'),
22076            tls_required=d.get('tls_required'),
22077            username=d.get('username'),
22078        )
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)
21935    def __init__(
21936        self,
21937        bind_interface=None,
21938        database=None,
21939        egress_filter=None,
21940        healthy=None,
21941        hostname=None,
21942        id=None,
21943        name=None,
21944        password=None,
21945        port=None,
21946        port_override=None,
21947        proxy_cluster_id=None,
21948        secret_store_id=None,
21949        subdomain=None,
21950        tags=None,
21951        tls_required=None,
21952        username=None,
21953    ):
21954        self.bind_interface = bind_interface if bind_interface is not None else ''
21955        '''
21956         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
21957        '''
21958        self.database = database if database is not None else ''
21959        '''
21960         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
21961        '''
21962        self.egress_filter = egress_filter if egress_filter is not None else ''
21963        '''
21964         A filter applied to the routing logic to pin datasource to nodes.
21965        '''
21966        self.healthy = healthy if healthy is not None else False
21967        '''
21968         True if the datasource is reachable and the credentials are valid.
21969        '''
21970        self.hostname = hostname if hostname is not None else ''
21971        '''
21972         The host to dial to initiate a connection from the egress node to this resource.
21973        '''
21974        self.id = id if id is not None else ''
21975        '''
21976         Unique identifier of the Resource.
21977        '''
21978        self.name = name if name is not None else ''
21979        '''
21980         Unique human-readable name of the Resource.
21981        '''
21982        self.password = password if password is not None else ''
21983        '''
21984         The password to authenticate with.
21985        '''
21986        self.port = port if port is not None else 0
21987        '''
21988         The port to dial to initiate a connection from the egress node to this resource.
21989        '''
21990        self.port_override = port_override if port_override is not None else 0
21991        '''
21992         The local port used by clients to connect to this resource.
21993        '''
21994        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21995        '''
21996         ID of the proxy cluster for this resource, if any.
21997        '''
21998        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21999        '''
22000         ID of the secret store containing credentials for this resource, if any.
22001        '''
22002        self.subdomain = subdomain if subdomain is not None else ''
22003        '''
22004         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
22005        '''
22006        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22007        '''
22008         Tags is a map of key, value pairs.
22009        '''
22010        self.tls_required = tls_required if tls_required is not None else False
22011        '''
22012         If set, TLS must be used to connect to this resource.
22013        '''
22014        self.username = username if username is not None else ''
22015        '''
22016         The username to authenticate with.
22017        '''
bind_interface

The bind interface is the IP 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)
22039    def to_dict(self):
22040        return {
22041            'bind_interface': self.bind_interface,
22042            'database': self.database,
22043            'egress_filter': self.egress_filter,
22044            'healthy': self.healthy,
22045            'hostname': self.hostname,
22046            'id': self.id,
22047            'name': self.name,
22048            'password': self.password,
22049            'port': self.port,
22050            'port_override': self.port_override,
22051            'proxy_cluster_id': self.proxy_cluster_id,
22052            'secret_store_id': self.secret_store_id,
22053            'subdomain': self.subdomain,
22054            'tags': self.tags,
22055            'tls_required': self.tls_required,
22056            'username': self.username,
22057        }
@classmethod
def from_dict(cls, d)
22059    @classmethod
22060    def from_dict(cls, d):
22061        return cls(
22062            bind_interface=d.get('bind_interface'),
22063            database=d.get('database'),
22064            egress_filter=d.get('egress_filter'),
22065            healthy=d.get('healthy'),
22066            hostname=d.get('hostname'),
22067            id=d.get('id'),
22068            name=d.get('name'),
22069            password=d.get('password'),
22070            port=d.get('port'),
22071            port_override=d.get('port_override'),
22072            proxy_cluster_id=d.get('proxy_cluster_id'),
22073            secret_store_id=d.get('secret_store_id'),
22074            subdomain=d.get('subdomain'),
22075            tags=d.get('tags'),
22076            tls_required=d.get('tls_required'),
22077            username=d.get('username'),
22078        )
class ProxyCluster:
22081class ProxyCluster:
22082    '''
22083         ProxyCluster represents a cluster of StrongDM proxies.
22084    '''
22085    __slots__ = [
22086        'address',
22087        'id',
22088        'maintenance_windows',
22089        'name',
22090        'tags',
22091    ]
22092
22093    def __init__(
22094        self,
22095        address=None,
22096        id=None,
22097        maintenance_windows=None,
22098        name=None,
22099        tags=None,
22100    ):
22101        self.address = address if address is not None else ''
22102        '''
22103         The public hostname/port tuple at which the proxy cluster will be
22104         accessible to clients.
22105        '''
22106        self.id = id if id is not None else ''
22107        '''
22108         Unique identifier of the Proxy Cluster.
22109        '''
22110        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
22111        '''
22112         Maintenance Windows define when this node is allowed to restart. If a node
22113         is requested to restart, it will check each window to determine if any of
22114         them permit it to restart, and if any do, it will. This check is repeated
22115         per window until the restart is successfully completed.
22116         
22117         If not set here, may be set on the command line or via an environment variable
22118         on the process itself; any server setting will take precedence over local
22119         settings. This setting is ineffective for nodes below version 38.44.0.
22120         
22121         If this setting is not applied via this remote configuration or via local
22122         configuration, the default setting is used: always allow restarts if serving
22123         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
22124        '''
22125        self.name = name if name is not None else ''
22126        '''
22127         Unique human-readable name of the proxy cluster. Names must
22128         include only letters, numbers, and hyphens (no spaces, underscores, or
22129         other special characters). Generated if not provided on create.
22130        '''
22131        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22132        '''
22133         Tags is a map of key, value pairs.
22134        '''
22135
22136    def __repr__(self):
22137        return '<sdm.ProxyCluster ' + \
22138            'address: ' + repr(self.address) + ' ' +\
22139            'id: ' + repr(self.id) + ' ' +\
22140            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
22141            'name: ' + repr(self.name) + ' ' +\
22142            'tags: ' + repr(self.tags) + ' ' +\
22143            '>'
22144
22145    def to_dict(self):
22146        return {
22147            'address': self.address,
22148            'id': self.id,
22149            'maintenance_windows': self.maintenance_windows,
22150            'name': self.name,
22151            'tags': self.tags,
22152        }
22153
22154    @classmethod
22155    def from_dict(cls, d):
22156        return cls(
22157            address=d.get('address'),
22158            id=d.get('id'),
22159            maintenance_windows=d.get('maintenance_windows'),
22160            name=d.get('name'),
22161            tags=d.get('tags'),
22162        )

ProxyCluster represents a cluster of StrongDM proxies.

ProxyCluster( address=None, id=None, maintenance_windows=None, name=None, tags=None)
22093    def __init__(
22094        self,
22095        address=None,
22096        id=None,
22097        maintenance_windows=None,
22098        name=None,
22099        tags=None,
22100    ):
22101        self.address = address if address is not None else ''
22102        '''
22103         The public hostname/port tuple at which the proxy cluster will be
22104         accessible to clients.
22105        '''
22106        self.id = id if id is not None else ''
22107        '''
22108         Unique identifier of the Proxy Cluster.
22109        '''
22110        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
22111        '''
22112         Maintenance Windows define when this node is allowed to restart. If a node
22113         is requested to restart, it will check each window to determine if any of
22114         them permit it to restart, and if any do, it will. This check is repeated
22115         per window until the restart is successfully completed.
22116         
22117         If not set here, may be set on the command line or via an environment variable
22118         on the process itself; any server setting will take precedence over local
22119         settings. This setting is ineffective for nodes below version 38.44.0.
22120         
22121         If this setting is not applied via this remote configuration or via local
22122         configuration, the default setting is used: always allow restarts if serving
22123         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
22124        '''
22125        self.name = name if name is not None else ''
22126        '''
22127         Unique human-readable name of the proxy cluster. Names must
22128         include only letters, numbers, and hyphens (no spaces, underscores, or
22129         other special characters). Generated if not provided on create.
22130        '''
22131        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22132        '''
22133         Tags is a map of key, value pairs.
22134        '''
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)
22145    def to_dict(self):
22146        return {
22147            'address': self.address,
22148            'id': self.id,
22149            'maintenance_windows': self.maintenance_windows,
22150            'name': self.name,
22151            'tags': self.tags,
22152        }
@classmethod
def from_dict(cls, d)
22154    @classmethod
22155    def from_dict(cls, d):
22156        return cls(
22157            address=d.get('address'),
22158            id=d.get('id'),
22159            maintenance_windows=d.get('maintenance_windows'),
22160            name=d.get('name'),
22161            tags=d.get('tags'),
22162        )
class ProxyClusterKey:
22165class ProxyClusterKey:
22166    '''
22167         Proxy Cluster Keys are authentication keys for all proxies within a cluster.
22168     The proxies within a cluster share the same key. One cluster can have
22169     multiple keys in order to facilitate key rotation.
22170    '''
22171    __slots__ = [
22172        'created_at',
22173        'id',
22174        'last_used_at',
22175        'proxy_cluster_id',
22176    ]
22177
22178    def __init__(
22179        self,
22180        created_at=None,
22181        id=None,
22182        last_used_at=None,
22183        proxy_cluster_id=None,
22184    ):
22185        self.created_at = created_at if created_at is not None else None
22186        '''
22187         The timestamp when this key was created.
22188        '''
22189        self.id = id if id is not None else ''
22190        '''
22191         Unique identifier of the Relay.
22192        '''
22193        self.last_used_at = last_used_at if last_used_at is not None else None
22194        '''
22195         The timestamp when this key was last used, if at all.
22196        '''
22197        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22198        '''
22199         The ID of the proxy cluster which this key authenticates to.
22200        '''
22201
22202    def __repr__(self):
22203        return '<sdm.ProxyClusterKey ' + \
22204            'created_at: ' + repr(self.created_at) + ' ' +\
22205            'id: ' + repr(self.id) + ' ' +\
22206            'last_used_at: ' + repr(self.last_used_at) + ' ' +\
22207            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
22208            '>'
22209
22210    def to_dict(self):
22211        return {
22212            'created_at': self.created_at,
22213            'id': self.id,
22214            'last_used_at': self.last_used_at,
22215            'proxy_cluster_id': self.proxy_cluster_id,
22216        }
22217
22218    @classmethod
22219    def from_dict(cls, d):
22220        return cls(
22221            created_at=d.get('created_at'),
22222            id=d.get('id'),
22223            last_used_at=d.get('last_used_at'),
22224            proxy_cluster_id=d.get('proxy_cluster_id'),
22225        )

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)
22178    def __init__(
22179        self,
22180        created_at=None,
22181        id=None,
22182        last_used_at=None,
22183        proxy_cluster_id=None,
22184    ):
22185        self.created_at = created_at if created_at is not None else None
22186        '''
22187         The timestamp when this key was created.
22188        '''
22189        self.id = id if id is not None else ''
22190        '''
22191         Unique identifier of the Relay.
22192        '''
22193        self.last_used_at = last_used_at if last_used_at is not None else None
22194        '''
22195         The timestamp when this key was last used, if at all.
22196        '''
22197        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22198        '''
22199         The ID of the proxy cluster which this key authenticates to.
22200        '''
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)
22210    def to_dict(self):
22211        return {
22212            'created_at': self.created_at,
22213            'id': self.id,
22214            'last_used_at': self.last_used_at,
22215            'proxy_cluster_id': self.proxy_cluster_id,
22216        }
@classmethod
def from_dict(cls, d)
22218    @classmethod
22219    def from_dict(cls, d):
22220        return cls(
22221            created_at=d.get('created_at'),
22222            id=d.get('id'),
22223            last_used_at=d.get('last_used_at'),
22224            proxy_cluster_id=d.get('proxy_cluster_id'),
22225        )
class ProxyClusterKeyCreateResponse:
22228class ProxyClusterKeyCreateResponse:
22229    '''
22230         ProxyClusterKeyCreateResponse reports how the ProxyClusterKeys were created in the system.
22231    '''
22232    __slots__ = [
22233        'meta',
22234        'proxy_cluster_key',
22235        'rate_limit',
22236        'secret_key',
22237    ]
22238
22239    def __init__(
22240        self,
22241        meta=None,
22242        proxy_cluster_key=None,
22243        rate_limit=None,
22244        secret_key=None,
22245    ):
22246        self.meta = meta if meta is not None else None
22247        '''
22248         Reserved for future use.
22249        '''
22250        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
22251        '''
22252         The created ProxyClusterKey.
22253        '''
22254        self.rate_limit = rate_limit if rate_limit is not None else None
22255        '''
22256         Rate limit information.
22257        '''
22258        self.secret_key = secret_key if secret_key is not None else ''
22259        '''
22260         The secret key component of this key. It must be saved upon creation
22261         because it will not be available for retrieval later.
22262        '''
22263
22264    def __repr__(self):
22265        return '<sdm.ProxyClusterKeyCreateResponse ' + \
22266            'meta: ' + repr(self.meta) + ' ' +\
22267            'proxy_cluster_key: ' + repr(self.proxy_cluster_key) + ' ' +\
22268            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22269            'secret_key: ' + repr(self.secret_key) + ' ' +\
22270            '>'
22271
22272    def to_dict(self):
22273        return {
22274            'meta': self.meta,
22275            'proxy_cluster_key': self.proxy_cluster_key,
22276            'rate_limit': self.rate_limit,
22277            'secret_key': self.secret_key,
22278        }
22279
22280    @classmethod
22281    def from_dict(cls, d):
22282        return cls(
22283            meta=d.get('meta'),
22284            proxy_cluster_key=d.get('proxy_cluster_key'),
22285            rate_limit=d.get('rate_limit'),
22286            secret_key=d.get('secret_key'),
22287        )

ProxyClusterKeyCreateResponse reports how the ProxyClusterKeys were created in the system.

ProxyClusterKeyCreateResponse(meta=None, proxy_cluster_key=None, rate_limit=None, secret_key=None)
22239    def __init__(
22240        self,
22241        meta=None,
22242        proxy_cluster_key=None,
22243        rate_limit=None,
22244        secret_key=None,
22245    ):
22246        self.meta = meta if meta is not None else None
22247        '''
22248         Reserved for future use.
22249        '''
22250        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
22251        '''
22252         The created ProxyClusterKey.
22253        '''
22254        self.rate_limit = rate_limit if rate_limit is not None else None
22255        '''
22256         Rate limit information.
22257        '''
22258        self.secret_key = secret_key if secret_key is not None else ''
22259        '''
22260         The secret key component of this key. It must be saved upon creation
22261         because it will not be available for retrieval later.
22262        '''
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)
22272    def to_dict(self):
22273        return {
22274            'meta': self.meta,
22275            'proxy_cluster_key': self.proxy_cluster_key,
22276            'rate_limit': self.rate_limit,
22277            'secret_key': self.secret_key,
22278        }
@classmethod
def from_dict(cls, d)
22280    @classmethod
22281    def from_dict(cls, d):
22282        return cls(
22283            meta=d.get('meta'),
22284            proxy_cluster_key=d.get('proxy_cluster_key'),
22285            rate_limit=d.get('rate_limit'),
22286            secret_key=d.get('secret_key'),
22287        )
class ProxyClusterKeyDeleteResponse:
22290class ProxyClusterKeyDeleteResponse:
22291    '''
22292         ProxyClusterKeyDeleteResponse returns information about a ProxyClusterKey that was deleted.
22293    '''
22294    __slots__ = [
22295        'meta',
22296        'rate_limit',
22297    ]
22298
22299    def __init__(
22300        self,
22301        meta=None,
22302        rate_limit=None,
22303    ):
22304        self.meta = meta if meta is not None else None
22305        '''
22306         Reserved for future use.
22307        '''
22308        self.rate_limit = rate_limit if rate_limit is not None else None
22309        '''
22310         Rate limit information.
22311        '''
22312
22313    def __repr__(self):
22314        return '<sdm.ProxyClusterKeyDeleteResponse ' + \
22315            'meta: ' + repr(self.meta) + ' ' +\
22316            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22317            '>'
22318
22319    def to_dict(self):
22320        return {
22321            'meta': self.meta,
22322            'rate_limit': self.rate_limit,
22323        }
22324
22325    @classmethod
22326    def from_dict(cls, d):
22327        return cls(
22328            meta=d.get('meta'),
22329            rate_limit=d.get('rate_limit'),
22330        )

ProxyClusterKeyDeleteResponse returns information about a ProxyClusterKey that was deleted.

ProxyClusterKeyDeleteResponse(meta=None, rate_limit=None)
22299    def __init__(
22300        self,
22301        meta=None,
22302        rate_limit=None,
22303    ):
22304        self.meta = meta if meta is not None else None
22305        '''
22306         Reserved for future use.
22307        '''
22308        self.rate_limit = rate_limit if rate_limit is not None else None
22309        '''
22310         Rate limit information.
22311        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
22319    def to_dict(self):
22320        return {
22321            'meta': self.meta,
22322            'rate_limit': self.rate_limit,
22323        }
@classmethod
def from_dict(cls, d)
22325    @classmethod
22326    def from_dict(cls, d):
22327        return cls(
22328            meta=d.get('meta'),
22329            rate_limit=d.get('rate_limit'),
22330        )
class ProxyClusterKeyGetResponse:
22333class ProxyClusterKeyGetResponse:
22334    '''
22335         ProxyClusterKeyGetResponse returns a requested ProxyClusterKey.
22336    '''
22337    __slots__ = [
22338        'meta',
22339        'proxy_cluster_key',
22340        'rate_limit',
22341    ]
22342
22343    def __init__(
22344        self,
22345        meta=None,
22346        proxy_cluster_key=None,
22347        rate_limit=None,
22348    ):
22349        self.meta = meta if meta is not None else None
22350        '''
22351         Reserved for future use.
22352        '''
22353        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
22354        '''
22355         The requested ProxyClusterKey.
22356        '''
22357        self.rate_limit = rate_limit if rate_limit is not None else None
22358        '''
22359         Rate limit information.
22360        '''
22361
22362    def __repr__(self):
22363        return '<sdm.ProxyClusterKeyGetResponse ' + \
22364            'meta: ' + repr(self.meta) + ' ' +\
22365            'proxy_cluster_key: ' + repr(self.proxy_cluster_key) + ' ' +\
22366            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22367            '>'
22368
22369    def to_dict(self):
22370        return {
22371            'meta': self.meta,
22372            'proxy_cluster_key': self.proxy_cluster_key,
22373            'rate_limit': self.rate_limit,
22374        }
22375
22376    @classmethod
22377    def from_dict(cls, d):
22378        return cls(
22379            meta=d.get('meta'),
22380            proxy_cluster_key=d.get('proxy_cluster_key'),
22381            rate_limit=d.get('rate_limit'),
22382        )

ProxyClusterKeyGetResponse returns a requested ProxyClusterKey.

ProxyClusterKeyGetResponse(meta=None, proxy_cluster_key=None, rate_limit=None)
22343    def __init__(
22344        self,
22345        meta=None,
22346        proxy_cluster_key=None,
22347        rate_limit=None,
22348    ):
22349        self.meta = meta if meta is not None else None
22350        '''
22351         Reserved for future use.
22352        '''
22353        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
22354        '''
22355         The requested ProxyClusterKey.
22356        '''
22357        self.rate_limit = rate_limit if rate_limit is not None else None
22358        '''
22359         Rate limit information.
22360        '''
meta

Reserved for future use.

proxy_cluster_key

The requested ProxyClusterKey.

rate_limit

Rate limit information.

def to_dict(self)
22369    def to_dict(self):
22370        return {
22371            'meta': self.meta,
22372            'proxy_cluster_key': self.proxy_cluster_key,
22373            'rate_limit': self.rate_limit,
22374        }
@classmethod
def from_dict(cls, d)
22376    @classmethod
22377    def from_dict(cls, d):
22378        return cls(
22379            meta=d.get('meta'),
22380            proxy_cluster_key=d.get('proxy_cluster_key'),
22381            rate_limit=d.get('rate_limit'),
22382        )
class Query:
22385class Query:
22386    '''
22387         A Query is a record of a single client request to a resource, such as a SQL query.
22388     Longer-running queries including long-running SSH commands and SSH, RDP, or Kubernetes
22389     interactive sessions will return two Query records with the same identifier, one record
22390     at the start of the query and a second record upon the completion of the query with
22391     additional detail.
22392    '''
22393    __slots__ = [
22394        'account_email',
22395        'account_first_name',
22396        'account_id',
22397        'account_last_name',
22398        'account_tags',
22399        'authzjson',
22400        'capture',
22401        'client_ip',
22402        'completed_at',
22403        'duration',
22404        'egress_node_id',
22405        'encrypted',
22406        'id',
22407        'identity_alias_username',
22408        'metadata_json',
22409        'query_body',
22410        'query_category',
22411        'query_hash',
22412        'query_key',
22413        'record_count',
22414        'remote_identity_username',
22415        'replayable',
22416        'resource_id',
22417        'resource_name',
22418        'resource_tags',
22419        'resource_type',
22420        'source_ip',
22421        'target',
22422        'timestamp',
22423    ]
22424
22425    def __init__(
22426        self,
22427        account_email=None,
22428        account_first_name=None,
22429        account_id=None,
22430        account_last_name=None,
22431        account_tags=None,
22432        authzjson=None,
22433        capture=None,
22434        client_ip=None,
22435        completed_at=None,
22436        duration=None,
22437        egress_node_id=None,
22438        encrypted=None,
22439        id=None,
22440        identity_alias_username=None,
22441        metadata_json=None,
22442        query_body=None,
22443        query_category=None,
22444        query_hash=None,
22445        query_key=None,
22446        record_count=None,
22447        remote_identity_username=None,
22448        replayable=None,
22449        resource_id=None,
22450        resource_name=None,
22451        resource_tags=None,
22452        resource_type=None,
22453        source_ip=None,
22454        target=None,
22455        timestamp=None,
22456    ):
22457        self.account_email = account_email if account_email is not None else ''
22458        '''
22459         The email of the account performing this query, at the time the query was executed.
22460         If the account email is later changed, that change will not be reflected via this field.
22461        '''
22462        self.account_first_name = account_first_name if account_first_name is not None else ''
22463        '''
22464         The given name of the account performing this query, at the time the query was executed.
22465         If the account is later renamed, that change will not be reflected via this field.
22466        '''
22467        self.account_id = account_id if account_id is not None else ''
22468        '''
22469         Unique identifier of the Account that performed the Query.
22470        '''
22471        self.account_last_name = account_last_name if account_last_name is not None else ''
22472        '''
22473         The family name of the account performing this query, at the time the query was executed.
22474         If the account is later renamed, that change will not be reflected via this field.
22475        '''
22476        self.account_tags = account_tags if account_tags is not None else _porcelain_zero_value_tags(
22477        )
22478        '''
22479         The tags of the account accessed, at the time the query was executed. If the account
22480         tags are later changed, that change will not be reflected via this field.
22481        '''
22482        self.authzjson = authzjson if authzjson is not None else ''
22483        '''
22484         Authorization metadata associated with this query.
22485        '''
22486        self.capture = capture if capture is not None else None
22487        '''
22488         For queries against SSH, Kubernetes, and RDP resources, this contains additional information
22489         about the captured query.
22490        '''
22491        self.client_ip = client_ip if client_ip is not None else ''
22492        '''
22493         The IP address the Query was performed from, as detected at the StrongDM control plane.
22494        '''
22495        self.completed_at = completed_at if completed_at is not None else None
22496        '''
22497         The time at which the Query was completed.
22498         Empty if this record indicates the start of a long-running query.
22499        '''
22500        self.duration = duration if duration is not None else None
22501        '''
22502         The duration of the Query.
22503        '''
22504        self.egress_node_id = egress_node_id if egress_node_id is not None else ''
22505        '''
22506         The unique ID of the node through which the Resource was accessed.
22507        '''
22508        self.encrypted = encrypted if encrypted is not None else False
22509        '''
22510         Indicates that the body of the Query is encrypted.
22511        '''
22512        self.id = id if id is not None else ''
22513        '''
22514         Unique identifier of the Query.
22515        '''
22516        self.identity_alias_username = identity_alias_username if identity_alias_username is not None else ''
22517        '''
22518         The username of the IdentityAlias used to access the Resource.
22519        '''
22520        self.metadata_json = metadata_json if metadata_json is not None else ''
22521        '''
22522         Driver specific metadata associated with this query.
22523        '''
22524        self.query_body = query_body if query_body is not None else ''
22525        '''
22526         The captured content of the Query.
22527         For queries against SSH, Kubernetes, and RDP resources, this contains a JSON representation of the QueryCapture.
22528        '''
22529        self.query_category = query_category if query_category is not None else ''
22530        '''
22531         The general category of Resource against which Query was performed, e.g. "web" or "cloud".
22532        '''
22533        self.query_hash = query_hash if query_hash is not None else ''
22534        '''
22535         The hash of the body of the Query.
22536        '''
22537        self.query_key = query_key if query_key is not None else ''
22538        '''
22539         The symmetric key used to encrypt the body of this Query and its replay if replayable.
22540         If the Query is encrypted, this field contains an encrypted symmetric key in base64 encoding.
22541         This key must be decrypted with the organization's private key to obtain the symmetric key needed to decrypt the body.
22542         If the Query is not encrypted, this field is empty.
22543        '''
22544        self.record_count = record_count if record_count is not None else 0
22545        '''
22546         The number of records returned by the Query, for a database Resource.
22547        '''
22548        self.remote_identity_username = remote_identity_username if remote_identity_username is not None else ''
22549        '''
22550         The username of the RemoteIdentity used to access the Resource.
22551        '''
22552        self.replayable = replayable if replayable is not None else False
22553        '''
22554         Indicates that the Query is replayable, e.g. for some SSH or K8s sessions.
22555        '''
22556        self.resource_id = resource_id if resource_id is not None else ''
22557        '''
22558         Unique identifier of the Resource against which the Query was performed.
22559        '''
22560        self.resource_name = resource_name if resource_name is not None else ''
22561        '''
22562         The name of the resource accessed, at the time the query was executed. If the resource
22563         is later renamed, that change will not be reflected via this field.
22564        '''
22565        self.resource_tags = resource_tags if resource_tags is not None else _porcelain_zero_value_tags(
22566        )
22567        '''
22568         The tags of the resource accessed, at the time the query was executed. If the resource
22569         tags are later changed, that change will not be reflected via this field.
22570        '''
22571        self.resource_type = resource_type if resource_type is not None else ''
22572        '''
22573         The specific type of Resource against which the Query was performed, e.g. "ssh" or "postgres".
22574        '''
22575        self.source_ip = source_ip if source_ip is not None else ''
22576        '''
22577         The IP address the Query was performed from, as detected at the ingress gateway.
22578        '''
22579        self.target = target if target is not None else ''
22580        '''
22581         The target destination of the query, in host:port format.
22582        '''
22583        self.timestamp = timestamp if timestamp is not None else None
22584        '''
22585         The time at which the Query was started.
22586        '''
22587
22588    def __repr__(self):
22589        return '<sdm.Query ' + \
22590            'account_email: ' + repr(self.account_email) + ' ' +\
22591            'account_first_name: ' + repr(self.account_first_name) + ' ' +\
22592            'account_id: ' + repr(self.account_id) + ' ' +\
22593            'account_last_name: ' + repr(self.account_last_name) + ' ' +\
22594            'account_tags: ' + repr(self.account_tags) + ' ' +\
22595            'authzjson: ' + repr(self.authzjson) + ' ' +\
22596            'capture: ' + repr(self.capture) + ' ' +\
22597            'client_ip: ' + repr(self.client_ip) + ' ' +\
22598            'completed_at: ' + repr(self.completed_at) + ' ' +\
22599            'duration: ' + repr(self.duration) + ' ' +\
22600            'egress_node_id: ' + repr(self.egress_node_id) + ' ' +\
22601            'encrypted: ' + repr(self.encrypted) + ' ' +\
22602            'id: ' + repr(self.id) + ' ' +\
22603            'identity_alias_username: ' + repr(self.identity_alias_username) + ' ' +\
22604            'metadata_json: ' + repr(self.metadata_json) + ' ' +\
22605            'query_body: ' + repr(self.query_body) + ' ' +\
22606            'query_category: ' + repr(self.query_category) + ' ' +\
22607            'query_hash: ' + repr(self.query_hash) + ' ' +\
22608            'query_key: ' + repr(self.query_key) + ' ' +\
22609            'record_count: ' + repr(self.record_count) + ' ' +\
22610            'remote_identity_username: ' + repr(self.remote_identity_username) + ' ' +\
22611            'replayable: ' + repr(self.replayable) + ' ' +\
22612            'resource_id: ' + repr(self.resource_id) + ' ' +\
22613            'resource_name: ' + repr(self.resource_name) + ' ' +\
22614            'resource_tags: ' + repr(self.resource_tags) + ' ' +\
22615            'resource_type: ' + repr(self.resource_type) + ' ' +\
22616            'source_ip: ' + repr(self.source_ip) + ' ' +\
22617            'target: ' + repr(self.target) + ' ' +\
22618            'timestamp: ' + repr(self.timestamp) + ' ' +\
22619            '>'
22620
22621    def to_dict(self):
22622        return {
22623            'account_email': self.account_email,
22624            'account_first_name': self.account_first_name,
22625            'account_id': self.account_id,
22626            'account_last_name': self.account_last_name,
22627            'account_tags': self.account_tags,
22628            'authzjson': self.authzjson,
22629            'capture': self.capture,
22630            'client_ip': self.client_ip,
22631            'completed_at': self.completed_at,
22632            'duration': self.duration,
22633            'egress_node_id': self.egress_node_id,
22634            'encrypted': self.encrypted,
22635            'id': self.id,
22636            'identity_alias_username': self.identity_alias_username,
22637            'metadata_json': self.metadata_json,
22638            'query_body': self.query_body,
22639            'query_category': self.query_category,
22640            'query_hash': self.query_hash,
22641            'query_key': self.query_key,
22642            'record_count': self.record_count,
22643            'remote_identity_username': self.remote_identity_username,
22644            'replayable': self.replayable,
22645            'resource_id': self.resource_id,
22646            'resource_name': self.resource_name,
22647            'resource_tags': self.resource_tags,
22648            'resource_type': self.resource_type,
22649            'source_ip': self.source_ip,
22650            'target': self.target,
22651            'timestamp': self.timestamp,
22652        }
22653
22654    @classmethod
22655    def from_dict(cls, d):
22656        return cls(
22657            account_email=d.get('account_email'),
22658            account_first_name=d.get('account_first_name'),
22659            account_id=d.get('account_id'),
22660            account_last_name=d.get('account_last_name'),
22661            account_tags=d.get('account_tags'),
22662            authzjson=d.get('authzjson'),
22663            capture=d.get('capture'),
22664            client_ip=d.get('client_ip'),
22665            completed_at=d.get('completed_at'),
22666            duration=d.get('duration'),
22667            egress_node_id=d.get('egress_node_id'),
22668            encrypted=d.get('encrypted'),
22669            id=d.get('id'),
22670            identity_alias_username=d.get('identity_alias_username'),
22671            metadata_json=d.get('metadata_json'),
22672            query_body=d.get('query_body'),
22673            query_category=d.get('query_category'),
22674            query_hash=d.get('query_hash'),
22675            query_key=d.get('query_key'),
22676            record_count=d.get('record_count'),
22677            remote_identity_username=d.get('remote_identity_username'),
22678            replayable=d.get('replayable'),
22679            resource_id=d.get('resource_id'),
22680            resource_name=d.get('resource_name'),
22681            resource_tags=d.get('resource_tags'),
22682            resource_type=d.get('resource_type'),
22683            source_ip=d.get('source_ip'),
22684            target=d.get('target'),
22685            timestamp=d.get('timestamp'),
22686        )

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)
22425    def __init__(
22426        self,
22427        account_email=None,
22428        account_first_name=None,
22429        account_id=None,
22430        account_last_name=None,
22431        account_tags=None,
22432        authzjson=None,
22433        capture=None,
22434        client_ip=None,
22435        completed_at=None,
22436        duration=None,
22437        egress_node_id=None,
22438        encrypted=None,
22439        id=None,
22440        identity_alias_username=None,
22441        metadata_json=None,
22442        query_body=None,
22443        query_category=None,
22444        query_hash=None,
22445        query_key=None,
22446        record_count=None,
22447        remote_identity_username=None,
22448        replayable=None,
22449        resource_id=None,
22450        resource_name=None,
22451        resource_tags=None,
22452        resource_type=None,
22453        source_ip=None,
22454        target=None,
22455        timestamp=None,
22456    ):
22457        self.account_email = account_email if account_email is not None else ''
22458        '''
22459         The email of the account performing this query, at the time the query was executed.
22460         If the account email is later changed, that change will not be reflected via this field.
22461        '''
22462        self.account_first_name = account_first_name if account_first_name is not None else ''
22463        '''
22464         The given name of the account performing this query, at the time the query was executed.
22465         If the account is later renamed, that change will not be reflected via this field.
22466        '''
22467        self.account_id = account_id if account_id is not None else ''
22468        '''
22469         Unique identifier of the Account that performed the Query.
22470        '''
22471        self.account_last_name = account_last_name if account_last_name is not None else ''
22472        '''
22473         The family name of the account performing this query, at the time the query was executed.
22474         If the account is later renamed, that change will not be reflected via this field.
22475        '''
22476        self.account_tags = account_tags if account_tags is not None else _porcelain_zero_value_tags(
22477        )
22478        '''
22479         The tags of the account accessed, at the time the query was executed. If the account
22480         tags are later changed, that change will not be reflected via this field.
22481        '''
22482        self.authzjson = authzjson if authzjson is not None else ''
22483        '''
22484         Authorization metadata associated with this query.
22485        '''
22486        self.capture = capture if capture is not None else None
22487        '''
22488         For queries against SSH, Kubernetes, and RDP resources, this contains additional information
22489         about the captured query.
22490        '''
22491        self.client_ip = client_ip if client_ip is not None else ''
22492        '''
22493         The IP address the Query was performed from, as detected at the StrongDM control plane.
22494        '''
22495        self.completed_at = completed_at if completed_at is not None else None
22496        '''
22497         The time at which the Query was completed.
22498         Empty if this record indicates the start of a long-running query.
22499        '''
22500        self.duration = duration if duration is not None else None
22501        '''
22502         The duration of the Query.
22503        '''
22504        self.egress_node_id = egress_node_id if egress_node_id is not None else ''
22505        '''
22506         The unique ID of the node through which the Resource was accessed.
22507        '''
22508        self.encrypted = encrypted if encrypted is not None else False
22509        '''
22510         Indicates that the body of the Query is encrypted.
22511        '''
22512        self.id = id if id is not None else ''
22513        '''
22514         Unique identifier of the Query.
22515        '''
22516        self.identity_alias_username = identity_alias_username if identity_alias_username is not None else ''
22517        '''
22518         The username of the IdentityAlias used to access the Resource.
22519        '''
22520        self.metadata_json = metadata_json if metadata_json is not None else ''
22521        '''
22522         Driver specific metadata associated with this query.
22523        '''
22524        self.query_body = query_body if query_body is not None else ''
22525        '''
22526         The captured content of the Query.
22527         For queries against SSH, Kubernetes, and RDP resources, this contains a JSON representation of the QueryCapture.
22528        '''
22529        self.query_category = query_category if query_category is not None else ''
22530        '''
22531         The general category of Resource against which Query was performed, e.g. "web" or "cloud".
22532        '''
22533        self.query_hash = query_hash if query_hash is not None else ''
22534        '''
22535         The hash of the body of the Query.
22536        '''
22537        self.query_key = query_key if query_key is not None else ''
22538        '''
22539         The symmetric key used to encrypt the body of this Query and its replay if replayable.
22540         If the Query is encrypted, this field contains an encrypted symmetric key in base64 encoding.
22541         This key must be decrypted with the organization's private key to obtain the symmetric key needed to decrypt the body.
22542         If the Query is not encrypted, this field is empty.
22543        '''
22544        self.record_count = record_count if record_count is not None else 0
22545        '''
22546         The number of records returned by the Query, for a database Resource.
22547        '''
22548        self.remote_identity_username = remote_identity_username if remote_identity_username is not None else ''
22549        '''
22550         The username of the RemoteIdentity used to access the Resource.
22551        '''
22552        self.replayable = replayable if replayable is not None else False
22553        '''
22554         Indicates that the Query is replayable, e.g. for some SSH or K8s sessions.
22555        '''
22556        self.resource_id = resource_id if resource_id is not None else ''
22557        '''
22558         Unique identifier of the Resource against which the Query was performed.
22559        '''
22560        self.resource_name = resource_name if resource_name is not None else ''
22561        '''
22562         The name of the resource accessed, at the time the query was executed. If the resource
22563         is later renamed, that change will not be reflected via this field.
22564        '''
22565        self.resource_tags = resource_tags if resource_tags is not None else _porcelain_zero_value_tags(
22566        )
22567        '''
22568         The tags of the resource accessed, at the time the query was executed. If the resource
22569         tags are later changed, that change will not be reflected via this field.
22570        '''
22571        self.resource_type = resource_type if resource_type is not None else ''
22572        '''
22573         The specific type of Resource against which the Query was performed, e.g. "ssh" or "postgres".
22574        '''
22575        self.source_ip = source_ip if source_ip is not None else ''
22576        '''
22577         The IP address the Query was performed from, as detected at the ingress gateway.
22578        '''
22579        self.target = target if target is not None else ''
22580        '''
22581         The target destination of the query, in host:port format.
22582        '''
22583        self.timestamp = timestamp if timestamp is not None else None
22584        '''
22585         The time at which the Query was started.
22586        '''
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)
22621    def to_dict(self):
22622        return {
22623            'account_email': self.account_email,
22624            'account_first_name': self.account_first_name,
22625            'account_id': self.account_id,
22626            'account_last_name': self.account_last_name,
22627            'account_tags': self.account_tags,
22628            'authzjson': self.authzjson,
22629            'capture': self.capture,
22630            'client_ip': self.client_ip,
22631            'completed_at': self.completed_at,
22632            'duration': self.duration,
22633            'egress_node_id': self.egress_node_id,
22634            'encrypted': self.encrypted,
22635            'id': self.id,
22636            'identity_alias_username': self.identity_alias_username,
22637            'metadata_json': self.metadata_json,
22638            'query_body': self.query_body,
22639            'query_category': self.query_category,
22640            'query_hash': self.query_hash,
22641            'query_key': self.query_key,
22642            'record_count': self.record_count,
22643            'remote_identity_username': self.remote_identity_username,
22644            'replayable': self.replayable,
22645            'resource_id': self.resource_id,
22646            'resource_name': self.resource_name,
22647            'resource_tags': self.resource_tags,
22648            'resource_type': self.resource_type,
22649            'source_ip': self.source_ip,
22650            'target': self.target,
22651            'timestamp': self.timestamp,
22652        }
@classmethod
def from_dict(cls, d)
22654    @classmethod
22655    def from_dict(cls, d):
22656        return cls(
22657            account_email=d.get('account_email'),
22658            account_first_name=d.get('account_first_name'),
22659            account_id=d.get('account_id'),
22660            account_last_name=d.get('account_last_name'),
22661            account_tags=d.get('account_tags'),
22662            authzjson=d.get('authzjson'),
22663            capture=d.get('capture'),
22664            client_ip=d.get('client_ip'),
22665            completed_at=d.get('completed_at'),
22666            duration=d.get('duration'),
22667            egress_node_id=d.get('egress_node_id'),
22668            encrypted=d.get('encrypted'),
22669            id=d.get('id'),
22670            identity_alias_username=d.get('identity_alias_username'),
22671            metadata_json=d.get('metadata_json'),
22672            query_body=d.get('query_body'),
22673            query_category=d.get('query_category'),
22674            query_hash=d.get('query_hash'),
22675            query_key=d.get('query_key'),
22676            record_count=d.get('record_count'),
22677            remote_identity_username=d.get('remote_identity_username'),
22678            replayable=d.get('replayable'),
22679            resource_id=d.get('resource_id'),
22680            resource_name=d.get('resource_name'),
22681            resource_tags=d.get('resource_tags'),
22682            resource_type=d.get('resource_type'),
22683            source_ip=d.get('source_ip'),
22684            target=d.get('target'),
22685            timestamp=d.get('timestamp'),
22686        )
class QueryCapture:
22689class QueryCapture:
22690    '''
22691         A QueryCapture contains additional information about queries against SSH, Kubernetes, and RDP resources.
22692    '''
22693    __slots__ = [
22694        'client_command',
22695        'command',
22696        'container',
22697        'env',
22698        'file_name',
22699        'file_size',
22700        'height',
22701        'impersonation_groups',
22702        'impersonation_user',
22703        'pod',
22704        'privilege_groups',
22705        'request_body',
22706        'request_method',
22707        'request_uri',
22708        'type',
22709        'width',
22710    ]
22711
22712    def __init__(
22713        self,
22714        client_command=None,
22715        command=None,
22716        container=None,
22717        env=None,
22718        file_name=None,
22719        file_size=None,
22720        height=None,
22721        impersonation_groups=None,
22722        impersonation_user=None,
22723        pod=None,
22724        privilege_groups=None,
22725        request_body=None,
22726        request_method=None,
22727        request_uri=None,
22728        type=None,
22729        width=None,
22730    ):
22731        self.client_command = client_command if client_command is not None else ''
22732        '''
22733         The command executed on the client for a Kubernetes session.
22734        '''
22735        self.command = command if command is not None else ''
22736        '''
22737         The command executed over an SSH or Kubernetes session.
22738        '''
22739        self.container = container if container is not None else ''
22740        '''
22741         The target container of a Kubernetes operation.
22742        '''
22743        self.env = env if env is not None else {}
22744        '''
22745         The environment variables for an SSH or Kubernetes session.
22746        '''
22747        self.file_name = file_name if file_name is not None else ''
22748        '''
22749         The remote file name of an SCP operation.
22750        '''
22751        self.file_size = file_size if file_size is not None else 0
22752        '''
22753         The file size transferred for an SCP operation.
22754        '''
22755        self.height = height if height is not None else 0
22756        '''
22757         The height of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
22758        '''
22759        self.impersonation_groups = impersonation_groups if impersonation_groups is not None else []
22760        '''
22761         The impersonation groups of a Kubernetes operation.
22762        '''
22763        self.impersonation_user = impersonation_user if impersonation_user is not None else ''
22764        '''
22765         The impersonation user of a Kubernetes operation.
22766        '''
22767        self.pod = pod if pod is not None else ''
22768        '''
22769         The target pod of a Kubernetes operation.
22770        '''
22771        self.privilege_groups = privilege_groups if privilege_groups is not None else []
22772        '''
22773         The additional impersonation groups, as granted by privilege levels, of a Kubernetes operation.
22774        '''
22775        self.request_body = request_body if request_body is not None else b''
22776        '''
22777         The HTTP request body of a Kubernetes operation.
22778        '''
22779        self.request_method = request_method if request_method is not None else ''
22780        '''
22781         The HTTP request method of a Kubernetes operation.
22782        '''
22783        self.request_uri = request_uri if request_uri is not None else ''
22784        '''
22785         The HTTP request URI of a Kubernetes operation.
22786        '''
22787        self.type = type if type is not None else ''
22788        '''
22789         The CaptureType of this query capture, one of the CaptureType constants.
22790        '''
22791        self.width = width if width is not None else 0
22792        '''
22793         The width of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
22794        '''
22795
22796    def __repr__(self):
22797        return '<sdm.QueryCapture ' + \
22798            'client_command: ' + repr(self.client_command) + ' ' +\
22799            'command: ' + repr(self.command) + ' ' +\
22800            'container: ' + repr(self.container) + ' ' +\
22801            'env: ' + repr(self.env) + ' ' +\
22802            'file_name: ' + repr(self.file_name) + ' ' +\
22803            'file_size: ' + repr(self.file_size) + ' ' +\
22804            'height: ' + repr(self.height) + ' ' +\
22805            'impersonation_groups: ' + repr(self.impersonation_groups) + ' ' +\
22806            'impersonation_user: ' + repr(self.impersonation_user) + ' ' +\
22807            'pod: ' + repr(self.pod) + ' ' +\
22808            'privilege_groups: ' + repr(self.privilege_groups) + ' ' +\
22809            'request_body: ' + repr(self.request_body) + ' ' +\
22810            'request_method: ' + repr(self.request_method) + ' ' +\
22811            'request_uri: ' + repr(self.request_uri) + ' ' +\
22812            'type: ' + repr(self.type) + ' ' +\
22813            'width: ' + repr(self.width) + ' ' +\
22814            '>'
22815
22816    def to_dict(self):
22817        return {
22818            'client_command': self.client_command,
22819            'command': self.command,
22820            'container': self.container,
22821            'env': self.env,
22822            'file_name': self.file_name,
22823            'file_size': self.file_size,
22824            'height': self.height,
22825            'impersonation_groups': self.impersonation_groups,
22826            'impersonation_user': self.impersonation_user,
22827            'pod': self.pod,
22828            'privilege_groups': self.privilege_groups,
22829            'request_body': self.request_body,
22830            'request_method': self.request_method,
22831            'request_uri': self.request_uri,
22832            'type': self.type,
22833            'width': self.width,
22834        }
22835
22836    @classmethod
22837    def from_dict(cls, d):
22838        return cls(
22839            client_command=d.get('client_command'),
22840            command=d.get('command'),
22841            container=d.get('container'),
22842            env=d.get('env'),
22843            file_name=d.get('file_name'),
22844            file_size=d.get('file_size'),
22845            height=d.get('height'),
22846            impersonation_groups=d.get('impersonation_groups'),
22847            impersonation_user=d.get('impersonation_user'),
22848            pod=d.get('pod'),
22849            privilege_groups=d.get('privilege_groups'),
22850            request_body=d.get('request_body'),
22851            request_method=d.get('request_method'),
22852            request_uri=d.get('request_uri'),
22853            type=d.get('type'),
22854            width=d.get('width'),
22855        )

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)
22712    def __init__(
22713        self,
22714        client_command=None,
22715        command=None,
22716        container=None,
22717        env=None,
22718        file_name=None,
22719        file_size=None,
22720        height=None,
22721        impersonation_groups=None,
22722        impersonation_user=None,
22723        pod=None,
22724        privilege_groups=None,
22725        request_body=None,
22726        request_method=None,
22727        request_uri=None,
22728        type=None,
22729        width=None,
22730    ):
22731        self.client_command = client_command if client_command is not None else ''
22732        '''
22733         The command executed on the client for a Kubernetes session.
22734        '''
22735        self.command = command if command is not None else ''
22736        '''
22737         The command executed over an SSH or Kubernetes session.
22738        '''
22739        self.container = container if container is not None else ''
22740        '''
22741         The target container of a Kubernetes operation.
22742        '''
22743        self.env = env if env is not None else {}
22744        '''
22745         The environment variables for an SSH or Kubernetes session.
22746        '''
22747        self.file_name = file_name if file_name is not None else ''
22748        '''
22749         The remote file name of an SCP operation.
22750        '''
22751        self.file_size = file_size if file_size is not None else 0
22752        '''
22753         The file size transferred for an SCP operation.
22754        '''
22755        self.height = height if height is not None else 0
22756        '''
22757         The height of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
22758        '''
22759        self.impersonation_groups = impersonation_groups if impersonation_groups is not None else []
22760        '''
22761         The impersonation groups of a Kubernetes operation.
22762        '''
22763        self.impersonation_user = impersonation_user if impersonation_user is not None else ''
22764        '''
22765         The impersonation user of a Kubernetes operation.
22766        '''
22767        self.pod = pod if pod is not None else ''
22768        '''
22769         The target pod of a Kubernetes operation.
22770        '''
22771        self.privilege_groups = privilege_groups if privilege_groups is not None else []
22772        '''
22773         The additional impersonation groups, as granted by privilege levels, of a Kubernetes operation.
22774        '''
22775        self.request_body = request_body if request_body is not None else b''
22776        '''
22777         The HTTP request body of a Kubernetes operation.
22778        '''
22779        self.request_method = request_method if request_method is not None else ''
22780        '''
22781         The HTTP request method of a Kubernetes operation.
22782        '''
22783        self.request_uri = request_uri if request_uri is not None else ''
22784        '''
22785         The HTTP request URI of a Kubernetes operation.
22786        '''
22787        self.type = type if type is not None else ''
22788        '''
22789         The CaptureType of this query capture, one of the CaptureType constants.
22790        '''
22791        self.width = width if width is not None else 0
22792        '''
22793         The width of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
22794        '''
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)
22816    def to_dict(self):
22817        return {
22818            'client_command': self.client_command,
22819            'command': self.command,
22820            'container': self.container,
22821            'env': self.env,
22822            'file_name': self.file_name,
22823            'file_size': self.file_size,
22824            'height': self.height,
22825            'impersonation_groups': self.impersonation_groups,
22826            'impersonation_user': self.impersonation_user,
22827            'pod': self.pod,
22828            'privilege_groups': self.privilege_groups,
22829            'request_body': self.request_body,
22830            'request_method': self.request_method,
22831            'request_uri': self.request_uri,
22832            'type': self.type,
22833            'width': self.width,
22834        }
@classmethod
def from_dict(cls, d)
22836    @classmethod
22837    def from_dict(cls, d):
22838        return cls(
22839            client_command=d.get('client_command'),
22840            command=d.get('command'),
22841            container=d.get('container'),
22842            env=d.get('env'),
22843            file_name=d.get('file_name'),
22844            file_size=d.get('file_size'),
22845            height=d.get('height'),
22846            impersonation_groups=d.get('impersonation_groups'),
22847            impersonation_user=d.get('impersonation_user'),
22848            pod=d.get('pod'),
22849            privilege_groups=d.get('privilege_groups'),
22850            request_body=d.get('request_body'),
22851            request_method=d.get('request_method'),
22852            request_uri=d.get('request_uri'),
22853            type=d.get('type'),
22854            width=d.get('width'),
22855        )
class RDP:
22858class RDP:
22859    __slots__ = [
22860        'bind_interface',
22861        'downgrade_nla_connections',
22862        'egress_filter',
22863        'healthy',
22864        'hostname',
22865        'id',
22866        'lock_required',
22867        'name',
22868        'password',
22869        'port',
22870        'port_override',
22871        'proxy_cluster_id',
22872        'secret_store_id',
22873        'subdomain',
22874        'tags',
22875        'username',
22876    ]
22877
22878    def __init__(
22879        self,
22880        bind_interface=None,
22881        downgrade_nla_connections=None,
22882        egress_filter=None,
22883        healthy=None,
22884        hostname=None,
22885        id=None,
22886        lock_required=None,
22887        name=None,
22888        password=None,
22889        port=None,
22890        port_override=None,
22891        proxy_cluster_id=None,
22892        secret_store_id=None,
22893        subdomain=None,
22894        tags=None,
22895        username=None,
22896    ):
22897        self.bind_interface = bind_interface if bind_interface is not None else ''
22898        '''
22899         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
22900        '''
22901        self.downgrade_nla_connections = downgrade_nla_connections if downgrade_nla_connections is not None else False
22902        '''
22903         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.
22904        '''
22905        self.egress_filter = egress_filter if egress_filter is not None else ''
22906        '''
22907         A filter applied to the routing logic to pin datasource to nodes.
22908        '''
22909        self.healthy = healthy if healthy is not None else False
22910        '''
22911         True if the datasource is reachable and the credentials are valid.
22912        '''
22913        self.hostname = hostname if hostname is not None else ''
22914        '''
22915         The host to dial to initiate a connection from the egress node to this resource.
22916        '''
22917        self.id = id if id is not None else ''
22918        '''
22919         Unique identifier of the Resource.
22920        '''
22921        self.lock_required = lock_required if lock_required is not None else False
22922        '''
22923         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
22924        '''
22925        self.name = name if name is not None else ''
22926        '''
22927         Unique human-readable name of the Resource.
22928        '''
22929        self.password = password if password is not None else ''
22930        '''
22931         The password to authenticate with.
22932        '''
22933        self.port = port if port is not None else 0
22934        '''
22935         The port to dial to initiate a connection from the egress node to this resource.
22936        '''
22937        self.port_override = port_override if port_override is not None else 0
22938        '''
22939         The local port used by clients to connect to this resource.
22940        '''
22941        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22942        '''
22943         ID of the proxy cluster for this resource, if any.
22944        '''
22945        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22946        '''
22947         ID of the secret store containing credentials for this resource, if any.
22948        '''
22949        self.subdomain = subdomain if subdomain is not None else ''
22950        '''
22951         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
22952        '''
22953        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22954        '''
22955         Tags is a map of key, value pairs.
22956        '''
22957        self.username = username if username is not None else ''
22958        '''
22959         The username to authenticate with.
22960        '''
22961
22962    def __repr__(self):
22963        return '<sdm.RDP ' + \
22964            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
22965            'downgrade_nla_connections: ' + repr(self.downgrade_nla_connections) + ' ' +\
22966            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
22967            'healthy: ' + repr(self.healthy) + ' ' +\
22968            'hostname: ' + repr(self.hostname) + ' ' +\
22969            'id: ' + repr(self.id) + ' ' +\
22970            'lock_required: ' + repr(self.lock_required) + ' ' +\
22971            'name: ' + repr(self.name) + ' ' +\
22972            'password: ' + repr(self.password) + ' ' +\
22973            'port: ' + repr(self.port) + ' ' +\
22974            'port_override: ' + repr(self.port_override) + ' ' +\
22975            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
22976            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
22977            'subdomain: ' + repr(self.subdomain) + ' ' +\
22978            'tags: ' + repr(self.tags) + ' ' +\
22979            'username: ' + repr(self.username) + ' ' +\
22980            '>'
22981
22982    def to_dict(self):
22983        return {
22984            'bind_interface': self.bind_interface,
22985            'downgrade_nla_connections': self.downgrade_nla_connections,
22986            'egress_filter': self.egress_filter,
22987            'healthy': self.healthy,
22988            'hostname': self.hostname,
22989            'id': self.id,
22990            'lock_required': self.lock_required,
22991            'name': self.name,
22992            'password': self.password,
22993            'port': self.port,
22994            'port_override': self.port_override,
22995            'proxy_cluster_id': self.proxy_cluster_id,
22996            'secret_store_id': self.secret_store_id,
22997            'subdomain': self.subdomain,
22998            'tags': self.tags,
22999            'username': self.username,
23000        }
23001
23002    @classmethod
23003    def from_dict(cls, d):
23004        return cls(
23005            bind_interface=d.get('bind_interface'),
23006            downgrade_nla_connections=d.get('downgrade_nla_connections'),
23007            egress_filter=d.get('egress_filter'),
23008            healthy=d.get('healthy'),
23009            hostname=d.get('hostname'),
23010            id=d.get('id'),
23011            lock_required=d.get('lock_required'),
23012            name=d.get('name'),
23013            password=d.get('password'),
23014            port=d.get('port'),
23015            port_override=d.get('port_override'),
23016            proxy_cluster_id=d.get('proxy_cluster_id'),
23017            secret_store_id=d.get('secret_store_id'),
23018            subdomain=d.get('subdomain'),
23019            tags=d.get('tags'),
23020            username=d.get('username'),
23021        )
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)
22878    def __init__(
22879        self,
22880        bind_interface=None,
22881        downgrade_nla_connections=None,
22882        egress_filter=None,
22883        healthy=None,
22884        hostname=None,
22885        id=None,
22886        lock_required=None,
22887        name=None,
22888        password=None,
22889        port=None,
22890        port_override=None,
22891        proxy_cluster_id=None,
22892        secret_store_id=None,
22893        subdomain=None,
22894        tags=None,
22895        username=None,
22896    ):
22897        self.bind_interface = bind_interface if bind_interface is not None else ''
22898        '''
22899         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
22900        '''
22901        self.downgrade_nla_connections = downgrade_nla_connections if downgrade_nla_connections is not None else False
22902        '''
22903         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.
22904        '''
22905        self.egress_filter = egress_filter if egress_filter is not None else ''
22906        '''
22907         A filter applied to the routing logic to pin datasource to nodes.
22908        '''
22909        self.healthy = healthy if healthy is not None else False
22910        '''
22911         True if the datasource is reachable and the credentials are valid.
22912        '''
22913        self.hostname = hostname if hostname is not None else ''
22914        '''
22915         The host to dial to initiate a connection from the egress node to this resource.
22916        '''
22917        self.id = id if id is not None else ''
22918        '''
22919         Unique identifier of the Resource.
22920        '''
22921        self.lock_required = lock_required if lock_required is not None else False
22922        '''
22923         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
22924        '''
22925        self.name = name if name is not None else ''
22926        '''
22927         Unique human-readable name of the Resource.
22928        '''
22929        self.password = password if password is not None else ''
22930        '''
22931         The password to authenticate with.
22932        '''
22933        self.port = port if port is not None else 0
22934        '''
22935         The port to dial to initiate a connection from the egress node to this resource.
22936        '''
22937        self.port_override = port_override if port_override is not None else 0
22938        '''
22939         The local port used by clients to connect to this resource.
22940        '''
22941        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22942        '''
22943         ID of the proxy cluster for this resource, if any.
22944        '''
22945        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22946        '''
22947         ID of the secret store containing credentials for this resource, if any.
22948        '''
22949        self.subdomain = subdomain if subdomain is not None else ''
22950        '''
22951         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
22952        '''
22953        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22954        '''
22955         Tags is a map of key, value pairs.
22956        '''
22957        self.username = username if username is not None else ''
22958        '''
22959         The username to authenticate with.
22960        '''
bind_interface

The bind interface is the IP 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)
22982    def to_dict(self):
22983        return {
22984            'bind_interface': self.bind_interface,
22985            'downgrade_nla_connections': self.downgrade_nla_connections,
22986            'egress_filter': self.egress_filter,
22987            'healthy': self.healthy,
22988            'hostname': self.hostname,
22989            'id': self.id,
22990            'lock_required': self.lock_required,
22991            'name': self.name,
22992            'password': self.password,
22993            'port': self.port,
22994            'port_override': self.port_override,
22995            'proxy_cluster_id': self.proxy_cluster_id,
22996            'secret_store_id': self.secret_store_id,
22997            'subdomain': self.subdomain,
22998            'tags': self.tags,
22999            'username': self.username,
23000        }
@classmethod
def from_dict(cls, d)
23002    @classmethod
23003    def from_dict(cls, d):
23004        return cls(
23005            bind_interface=d.get('bind_interface'),
23006            downgrade_nla_connections=d.get('downgrade_nla_connections'),
23007            egress_filter=d.get('egress_filter'),
23008            healthy=d.get('healthy'),
23009            hostname=d.get('hostname'),
23010            id=d.get('id'),
23011            lock_required=d.get('lock_required'),
23012            name=d.get('name'),
23013            password=d.get('password'),
23014            port=d.get('port'),
23015            port_override=d.get('port_override'),
23016            proxy_cluster_id=d.get('proxy_cluster_id'),
23017            secret_store_id=d.get('secret_store_id'),
23018            subdomain=d.get('subdomain'),
23019            tags=d.get('tags'),
23020            username=d.get('username'),
23021        )
class RDPCert:
23024class RDPCert:
23025    __slots__ = [
23026        'bind_interface',
23027        'egress_filter',
23028        'healthy',
23029        'hostname',
23030        'id',
23031        'identity_alias_healthcheck_username',
23032        'identity_set_id',
23033        'lock_required',
23034        'name',
23035        'port',
23036        'port_override',
23037        'proxy_cluster_id',
23038        'secret_store_id',
23039        'subdomain',
23040        'tags',
23041        'username',
23042    ]
23043
23044    def __init__(
23045        self,
23046        bind_interface=None,
23047        egress_filter=None,
23048        healthy=None,
23049        hostname=None,
23050        id=None,
23051        identity_alias_healthcheck_username=None,
23052        identity_set_id=None,
23053        lock_required=None,
23054        name=None,
23055        port=None,
23056        port_override=None,
23057        proxy_cluster_id=None,
23058        secret_store_id=None,
23059        subdomain=None,
23060        tags=None,
23061        username=None,
23062    ):
23063        self.bind_interface = bind_interface if bind_interface is not None else ''
23064        '''
23065         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23066        '''
23067        self.egress_filter = egress_filter if egress_filter is not None else ''
23068        '''
23069         A filter applied to the routing logic to pin datasource to nodes.
23070        '''
23071        self.healthy = healthy if healthy is not None else False
23072        '''
23073         True if the datasource is reachable and the credentials are valid.
23074        '''
23075        self.hostname = hostname if hostname is not None else ''
23076        '''
23077         The host to dial to initiate a connection from the egress node to this resource.
23078        '''
23079        self.id = id if id is not None else ''
23080        '''
23081         Unique identifier of the Resource.
23082        '''
23083        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
23084        '''
23085         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
23086        '''
23087        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
23088        '''
23089         The ID of the identity set to use for identity connections.
23090        '''
23091        self.lock_required = lock_required if lock_required is not None else False
23092        '''
23093         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
23094        '''
23095        self.name = name if name is not None else ''
23096        '''
23097         Unique human-readable name of the Resource.
23098        '''
23099        self.port = port if port is not None else 0
23100        '''
23101         The port to dial to initiate a connection from the egress node to this resource.
23102        '''
23103        self.port_override = port_override if port_override is not None else 0
23104        '''
23105         The local port used by clients to connect to this resource.
23106        '''
23107        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23108        '''
23109         ID of the proxy cluster for this resource, if any.
23110        '''
23111        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23112        '''
23113         ID of the secret store containing credentials for this resource, if any.
23114        '''
23115        self.subdomain = subdomain if subdomain is not None else ''
23116        '''
23117         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23118        '''
23119        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23120        '''
23121         Tags is a map of key, value pairs.
23122        '''
23123        self.username = username if username is not None else ''
23124        '''
23125         The username to authenticate with.
23126        '''
23127
23128    def __repr__(self):
23129        return '<sdm.RDPCert ' + \
23130            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23131            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23132            'healthy: ' + repr(self.healthy) + ' ' +\
23133            'hostname: ' + repr(self.hostname) + ' ' +\
23134            'id: ' + repr(self.id) + ' ' +\
23135            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
23136            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
23137            'lock_required: ' + repr(self.lock_required) + ' ' +\
23138            'name: ' + repr(self.name) + ' ' +\
23139            'port: ' + repr(self.port) + ' ' +\
23140            'port_override: ' + repr(self.port_override) + ' ' +\
23141            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23142            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23143            'subdomain: ' + repr(self.subdomain) + ' ' +\
23144            'tags: ' + repr(self.tags) + ' ' +\
23145            'username: ' + repr(self.username) + ' ' +\
23146            '>'
23147
23148    def to_dict(self):
23149        return {
23150            'bind_interface': self.bind_interface,
23151            'egress_filter': self.egress_filter,
23152            'healthy': self.healthy,
23153            'hostname': self.hostname,
23154            'id': self.id,
23155            'identity_alias_healthcheck_username':
23156            self.identity_alias_healthcheck_username,
23157            'identity_set_id': self.identity_set_id,
23158            'lock_required': self.lock_required,
23159            'name': self.name,
23160            'port': self.port,
23161            'port_override': self.port_override,
23162            'proxy_cluster_id': self.proxy_cluster_id,
23163            'secret_store_id': self.secret_store_id,
23164            'subdomain': self.subdomain,
23165            'tags': self.tags,
23166            'username': self.username,
23167        }
23168
23169    @classmethod
23170    def from_dict(cls, d):
23171        return cls(
23172            bind_interface=d.get('bind_interface'),
23173            egress_filter=d.get('egress_filter'),
23174            healthy=d.get('healthy'),
23175            hostname=d.get('hostname'),
23176            id=d.get('id'),
23177            identity_alias_healthcheck_username=d.get(
23178                'identity_alias_healthcheck_username'),
23179            identity_set_id=d.get('identity_set_id'),
23180            lock_required=d.get('lock_required'),
23181            name=d.get('name'),
23182            port=d.get('port'),
23183            port_override=d.get('port_override'),
23184            proxy_cluster_id=d.get('proxy_cluster_id'),
23185            secret_store_id=d.get('secret_store_id'),
23186            subdomain=d.get('subdomain'),
23187            tags=d.get('tags'),
23188            username=d.get('username'),
23189        )
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)
23044    def __init__(
23045        self,
23046        bind_interface=None,
23047        egress_filter=None,
23048        healthy=None,
23049        hostname=None,
23050        id=None,
23051        identity_alias_healthcheck_username=None,
23052        identity_set_id=None,
23053        lock_required=None,
23054        name=None,
23055        port=None,
23056        port_override=None,
23057        proxy_cluster_id=None,
23058        secret_store_id=None,
23059        subdomain=None,
23060        tags=None,
23061        username=None,
23062    ):
23063        self.bind_interface = bind_interface if bind_interface is not None else ''
23064        '''
23065         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23066        '''
23067        self.egress_filter = egress_filter if egress_filter is not None else ''
23068        '''
23069         A filter applied to the routing logic to pin datasource to nodes.
23070        '''
23071        self.healthy = healthy if healthy is not None else False
23072        '''
23073         True if the datasource is reachable and the credentials are valid.
23074        '''
23075        self.hostname = hostname if hostname is not None else ''
23076        '''
23077         The host to dial to initiate a connection from the egress node to this resource.
23078        '''
23079        self.id = id if id is not None else ''
23080        '''
23081         Unique identifier of the Resource.
23082        '''
23083        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
23084        '''
23085         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
23086        '''
23087        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
23088        '''
23089         The ID of the identity set to use for identity connections.
23090        '''
23091        self.lock_required = lock_required if lock_required is not None else False
23092        '''
23093         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
23094        '''
23095        self.name = name if name is not None else ''
23096        '''
23097         Unique human-readable name of the Resource.
23098        '''
23099        self.port = port if port is not None else 0
23100        '''
23101         The port to dial to initiate a connection from the egress node to this resource.
23102        '''
23103        self.port_override = port_override if port_override is not None else 0
23104        '''
23105         The local port used by clients to connect to this resource.
23106        '''
23107        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23108        '''
23109         ID of the proxy cluster for this resource, if any.
23110        '''
23111        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23112        '''
23113         ID of the secret store containing credentials for this resource, if any.
23114        '''
23115        self.subdomain = subdomain if subdomain is not None else ''
23116        '''
23117         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23118        '''
23119        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23120        '''
23121         Tags is a map of key, value pairs.
23122        '''
23123        self.username = username if username is not None else ''
23124        '''
23125         The username to authenticate with.
23126        '''
bind_interface

The bind interface is the IP 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)
23148    def to_dict(self):
23149        return {
23150            'bind_interface': self.bind_interface,
23151            'egress_filter': self.egress_filter,
23152            'healthy': self.healthy,
23153            'hostname': self.hostname,
23154            'id': self.id,
23155            'identity_alias_healthcheck_username':
23156            self.identity_alias_healthcheck_username,
23157            'identity_set_id': self.identity_set_id,
23158            'lock_required': self.lock_required,
23159            'name': self.name,
23160            'port': self.port,
23161            'port_override': self.port_override,
23162            'proxy_cluster_id': self.proxy_cluster_id,
23163            'secret_store_id': self.secret_store_id,
23164            'subdomain': self.subdomain,
23165            'tags': self.tags,
23166            'username': self.username,
23167        }
@classmethod
def from_dict(cls, d)
23169    @classmethod
23170    def from_dict(cls, d):
23171        return cls(
23172            bind_interface=d.get('bind_interface'),
23173            egress_filter=d.get('egress_filter'),
23174            healthy=d.get('healthy'),
23175            hostname=d.get('hostname'),
23176            id=d.get('id'),
23177            identity_alias_healthcheck_username=d.get(
23178                'identity_alias_healthcheck_username'),
23179            identity_set_id=d.get('identity_set_id'),
23180            lock_required=d.get('lock_required'),
23181            name=d.get('name'),
23182            port=d.get('port'),
23183            port_override=d.get('port_override'),
23184            proxy_cluster_id=d.get('proxy_cluster_id'),
23185            secret_store_id=d.get('secret_store_id'),
23186            subdomain=d.get('subdomain'),
23187            tags=d.get('tags'),
23188            username=d.get('username'),
23189        )
class RDSPostgresIAM:
23192class RDSPostgresIAM:
23193    __slots__ = [
23194        'bind_interface',
23195        'database',
23196        'egress_filter',
23197        'healthy',
23198        'hostname',
23199        'id',
23200        'name',
23201        'override_database',
23202        'port',
23203        'port_override',
23204        'proxy_cluster_id',
23205        'region',
23206        'role_assumption_arn',
23207        'secret_store_id',
23208        'subdomain',
23209        'tags',
23210        'username',
23211    ]
23212
23213    def __init__(
23214        self,
23215        bind_interface=None,
23216        database=None,
23217        egress_filter=None,
23218        healthy=None,
23219        hostname=None,
23220        id=None,
23221        name=None,
23222        override_database=None,
23223        port=None,
23224        port_override=None,
23225        proxy_cluster_id=None,
23226        region=None,
23227        role_assumption_arn=None,
23228        secret_store_id=None,
23229        subdomain=None,
23230        tags=None,
23231        username=None,
23232    ):
23233        self.bind_interface = bind_interface if bind_interface is not None else ''
23234        '''
23235         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23236        '''
23237        self.database = database if database is not None else ''
23238        '''
23239         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
23240        '''
23241        self.egress_filter = egress_filter if egress_filter is not None else ''
23242        '''
23243         A filter applied to the routing logic to pin datasource to nodes.
23244        '''
23245        self.healthy = healthy if healthy is not None else False
23246        '''
23247         True if the datasource is reachable and the credentials are valid.
23248        '''
23249        self.hostname = hostname if hostname is not None else ''
23250        '''
23251         The host to dial to initiate a connection from the egress node to this resource.
23252        '''
23253        self.id = id if id is not None else ''
23254        '''
23255         Unique identifier of the Resource.
23256        '''
23257        self.name = name if name is not None else ''
23258        '''
23259         Unique human-readable name of the Resource.
23260        '''
23261        self.override_database = override_database if override_database is not None else False
23262        '''
23263         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
23264        '''
23265        self.port = port if port is not None else 0
23266        '''
23267         The port to dial to initiate a connection from the egress node to this resource.
23268        '''
23269        self.port_override = port_override if port_override is not None else 0
23270        '''
23271         The local port used by clients to connect to this resource.
23272        '''
23273        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23274        '''
23275         ID of the proxy cluster for this resource, if any.
23276        '''
23277        self.region = region if region is not None else ''
23278        '''
23279         The AWS region to connect to.
23280        '''
23281        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
23282        '''
23283         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
23284        '''
23285        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23286        '''
23287         ID of the secret store containing credentials for this resource, if any.
23288        '''
23289        self.subdomain = subdomain if subdomain is not None else ''
23290        '''
23291         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23292        '''
23293        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23294        '''
23295         Tags is a map of key, value pairs.
23296        '''
23297        self.username = username if username is not None else ''
23298        '''
23299         The username to authenticate with.
23300        '''
23301
23302    def __repr__(self):
23303        return '<sdm.RDSPostgresIAM ' + \
23304            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23305            'database: ' + repr(self.database) + ' ' +\
23306            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23307            'healthy: ' + repr(self.healthy) + ' ' +\
23308            'hostname: ' + repr(self.hostname) + ' ' +\
23309            'id: ' + repr(self.id) + ' ' +\
23310            'name: ' + repr(self.name) + ' ' +\
23311            'override_database: ' + repr(self.override_database) + ' ' +\
23312            'port: ' + repr(self.port) + ' ' +\
23313            'port_override: ' + repr(self.port_override) + ' ' +\
23314            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23315            'region: ' + repr(self.region) + ' ' +\
23316            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
23317            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23318            'subdomain: ' + repr(self.subdomain) + ' ' +\
23319            'tags: ' + repr(self.tags) + ' ' +\
23320            'username: ' + repr(self.username) + ' ' +\
23321            '>'
23322
23323    def to_dict(self):
23324        return {
23325            'bind_interface': self.bind_interface,
23326            'database': self.database,
23327            'egress_filter': self.egress_filter,
23328            'healthy': self.healthy,
23329            'hostname': self.hostname,
23330            'id': self.id,
23331            'name': self.name,
23332            'override_database': self.override_database,
23333            'port': self.port,
23334            'port_override': self.port_override,
23335            'proxy_cluster_id': self.proxy_cluster_id,
23336            'region': self.region,
23337            'role_assumption_arn': self.role_assumption_arn,
23338            'secret_store_id': self.secret_store_id,
23339            'subdomain': self.subdomain,
23340            'tags': self.tags,
23341            'username': self.username,
23342        }
23343
23344    @classmethod
23345    def from_dict(cls, d):
23346        return cls(
23347            bind_interface=d.get('bind_interface'),
23348            database=d.get('database'),
23349            egress_filter=d.get('egress_filter'),
23350            healthy=d.get('healthy'),
23351            hostname=d.get('hostname'),
23352            id=d.get('id'),
23353            name=d.get('name'),
23354            override_database=d.get('override_database'),
23355            port=d.get('port'),
23356            port_override=d.get('port_override'),
23357            proxy_cluster_id=d.get('proxy_cluster_id'),
23358            region=d.get('region'),
23359            role_assumption_arn=d.get('role_assumption_arn'),
23360            secret_store_id=d.get('secret_store_id'),
23361            subdomain=d.get('subdomain'),
23362            tags=d.get('tags'),
23363            username=d.get('username'),
23364        )
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)
23213    def __init__(
23214        self,
23215        bind_interface=None,
23216        database=None,
23217        egress_filter=None,
23218        healthy=None,
23219        hostname=None,
23220        id=None,
23221        name=None,
23222        override_database=None,
23223        port=None,
23224        port_override=None,
23225        proxy_cluster_id=None,
23226        region=None,
23227        role_assumption_arn=None,
23228        secret_store_id=None,
23229        subdomain=None,
23230        tags=None,
23231        username=None,
23232    ):
23233        self.bind_interface = bind_interface if bind_interface is not None else ''
23234        '''
23235         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23236        '''
23237        self.database = database if database is not None else ''
23238        '''
23239         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
23240        '''
23241        self.egress_filter = egress_filter if egress_filter is not None else ''
23242        '''
23243         A filter applied to the routing logic to pin datasource to nodes.
23244        '''
23245        self.healthy = healthy if healthy is not None else False
23246        '''
23247         True if the datasource is reachable and the credentials are valid.
23248        '''
23249        self.hostname = hostname if hostname is not None else ''
23250        '''
23251         The host to dial to initiate a connection from the egress node to this resource.
23252        '''
23253        self.id = id if id is not None else ''
23254        '''
23255         Unique identifier of the Resource.
23256        '''
23257        self.name = name if name is not None else ''
23258        '''
23259         Unique human-readable name of the Resource.
23260        '''
23261        self.override_database = override_database if override_database is not None else False
23262        '''
23263         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
23264        '''
23265        self.port = port if port is not None else 0
23266        '''
23267         The port to dial to initiate a connection from the egress node to this resource.
23268        '''
23269        self.port_override = port_override if port_override is not None else 0
23270        '''
23271         The local port used by clients to connect to this resource.
23272        '''
23273        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23274        '''
23275         ID of the proxy cluster for this resource, if any.
23276        '''
23277        self.region = region if region is not None else ''
23278        '''
23279         The AWS region to connect to.
23280        '''
23281        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
23282        '''
23283         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
23284        '''
23285        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23286        '''
23287         ID of the secret store containing credentials for this resource, if any.
23288        '''
23289        self.subdomain = subdomain if subdomain is not None else ''
23290        '''
23291         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23292        '''
23293        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23294        '''
23295         Tags is a map of key, value pairs.
23296        '''
23297        self.username = username if username is not None else ''
23298        '''
23299         The username to authenticate with.
23300        '''
bind_interface

The bind interface is the IP 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)
23323    def to_dict(self):
23324        return {
23325            'bind_interface': self.bind_interface,
23326            'database': self.database,
23327            'egress_filter': self.egress_filter,
23328            'healthy': self.healthy,
23329            'hostname': self.hostname,
23330            'id': self.id,
23331            'name': self.name,
23332            'override_database': self.override_database,
23333            'port': self.port,
23334            'port_override': self.port_override,
23335            'proxy_cluster_id': self.proxy_cluster_id,
23336            'region': self.region,
23337            'role_assumption_arn': self.role_assumption_arn,
23338            'secret_store_id': self.secret_store_id,
23339            'subdomain': self.subdomain,
23340            'tags': self.tags,
23341            'username': self.username,
23342        }
@classmethod
def from_dict(cls, d)
23344    @classmethod
23345    def from_dict(cls, d):
23346        return cls(
23347            bind_interface=d.get('bind_interface'),
23348            database=d.get('database'),
23349            egress_filter=d.get('egress_filter'),
23350            healthy=d.get('healthy'),
23351            hostname=d.get('hostname'),
23352            id=d.get('id'),
23353            name=d.get('name'),
23354            override_database=d.get('override_database'),
23355            port=d.get('port'),
23356            port_override=d.get('port_override'),
23357            proxy_cluster_id=d.get('proxy_cluster_id'),
23358            region=d.get('region'),
23359            role_assumption_arn=d.get('role_assumption_arn'),
23360            secret_store_id=d.get('secret_store_id'),
23361            subdomain=d.get('subdomain'),
23362            tags=d.get('tags'),
23363            username=d.get('username'),
23364        )
class RabbitMQAMQP091:
23367class RabbitMQAMQP091:
23368    __slots__ = [
23369        'bind_interface',
23370        'egress_filter',
23371        'healthy',
23372        'hostname',
23373        'id',
23374        'name',
23375        'password',
23376        'port',
23377        'port_override',
23378        'proxy_cluster_id',
23379        'secret_store_id',
23380        'subdomain',
23381        'tags',
23382        'tls_required',
23383        'username',
23384    ]
23385
23386    def __init__(
23387        self,
23388        bind_interface=None,
23389        egress_filter=None,
23390        healthy=None,
23391        hostname=None,
23392        id=None,
23393        name=None,
23394        password=None,
23395        port=None,
23396        port_override=None,
23397        proxy_cluster_id=None,
23398        secret_store_id=None,
23399        subdomain=None,
23400        tags=None,
23401        tls_required=None,
23402        username=None,
23403    ):
23404        self.bind_interface = bind_interface if bind_interface is not None else ''
23405        '''
23406         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23407        '''
23408        self.egress_filter = egress_filter if egress_filter is not None else ''
23409        '''
23410         A filter applied to the routing logic to pin datasource to nodes.
23411        '''
23412        self.healthy = healthy if healthy is not None else False
23413        '''
23414         True if the datasource is reachable and the credentials are valid.
23415        '''
23416        self.hostname = hostname if hostname is not None else ''
23417        '''
23418         The host to dial to initiate a connection from the egress node to this resource.
23419        '''
23420        self.id = id if id is not None else ''
23421        '''
23422         Unique identifier of the Resource.
23423        '''
23424        self.name = name if name is not None else ''
23425        '''
23426         Unique human-readable name of the Resource.
23427        '''
23428        self.password = password if password is not None else ''
23429        '''
23430         The password to authenticate with.
23431        '''
23432        self.port = port if port is not None else 0
23433        '''
23434         The port to dial to initiate a connection from the egress node to this resource.
23435        '''
23436        self.port_override = port_override if port_override is not None else 0
23437        '''
23438         The local port used by clients to connect to this resource.
23439        '''
23440        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23441        '''
23442         ID of the proxy cluster for this resource, if any.
23443        '''
23444        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23445        '''
23446         ID of the secret store containing credentials for this resource, if any.
23447        '''
23448        self.subdomain = subdomain if subdomain is not None else ''
23449        '''
23450         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23451        '''
23452        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23453        '''
23454         Tags is a map of key, value pairs.
23455        '''
23456        self.tls_required = tls_required if tls_required is not None else False
23457        '''
23458         If set, TLS must be used to connect to this resource.
23459        '''
23460        self.username = username if username is not None else ''
23461        '''
23462         The username to authenticate with.
23463        '''
23464
23465    def __repr__(self):
23466        return '<sdm.RabbitMQAMQP091 ' + \
23467            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23468            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23469            'healthy: ' + repr(self.healthy) + ' ' +\
23470            'hostname: ' + repr(self.hostname) + ' ' +\
23471            'id: ' + repr(self.id) + ' ' +\
23472            'name: ' + repr(self.name) + ' ' +\
23473            'password: ' + repr(self.password) + ' ' +\
23474            'port: ' + repr(self.port) + ' ' +\
23475            'port_override: ' + repr(self.port_override) + ' ' +\
23476            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23477            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23478            'subdomain: ' + repr(self.subdomain) + ' ' +\
23479            'tags: ' + repr(self.tags) + ' ' +\
23480            'tls_required: ' + repr(self.tls_required) + ' ' +\
23481            'username: ' + repr(self.username) + ' ' +\
23482            '>'
23483
23484    def to_dict(self):
23485        return {
23486            'bind_interface': self.bind_interface,
23487            'egress_filter': self.egress_filter,
23488            'healthy': self.healthy,
23489            'hostname': self.hostname,
23490            'id': self.id,
23491            'name': self.name,
23492            'password': self.password,
23493            'port': self.port,
23494            'port_override': self.port_override,
23495            'proxy_cluster_id': self.proxy_cluster_id,
23496            'secret_store_id': self.secret_store_id,
23497            'subdomain': self.subdomain,
23498            'tags': self.tags,
23499            'tls_required': self.tls_required,
23500            'username': self.username,
23501        }
23502
23503    @classmethod
23504    def from_dict(cls, d):
23505        return cls(
23506            bind_interface=d.get('bind_interface'),
23507            egress_filter=d.get('egress_filter'),
23508            healthy=d.get('healthy'),
23509            hostname=d.get('hostname'),
23510            id=d.get('id'),
23511            name=d.get('name'),
23512            password=d.get('password'),
23513            port=d.get('port'),
23514            port_override=d.get('port_override'),
23515            proxy_cluster_id=d.get('proxy_cluster_id'),
23516            secret_store_id=d.get('secret_store_id'),
23517            subdomain=d.get('subdomain'),
23518            tags=d.get('tags'),
23519            tls_required=d.get('tls_required'),
23520            username=d.get('username'),
23521        )
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)
23386    def __init__(
23387        self,
23388        bind_interface=None,
23389        egress_filter=None,
23390        healthy=None,
23391        hostname=None,
23392        id=None,
23393        name=None,
23394        password=None,
23395        port=None,
23396        port_override=None,
23397        proxy_cluster_id=None,
23398        secret_store_id=None,
23399        subdomain=None,
23400        tags=None,
23401        tls_required=None,
23402        username=None,
23403    ):
23404        self.bind_interface = bind_interface if bind_interface is not None else ''
23405        '''
23406         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23407        '''
23408        self.egress_filter = egress_filter if egress_filter is not None else ''
23409        '''
23410         A filter applied to the routing logic to pin datasource to nodes.
23411        '''
23412        self.healthy = healthy if healthy is not None else False
23413        '''
23414         True if the datasource is reachable and the credentials are valid.
23415        '''
23416        self.hostname = hostname if hostname is not None else ''
23417        '''
23418         The host to dial to initiate a connection from the egress node to this resource.
23419        '''
23420        self.id = id if id is not None else ''
23421        '''
23422         Unique identifier of the Resource.
23423        '''
23424        self.name = name if name is not None else ''
23425        '''
23426         Unique human-readable name of the Resource.
23427        '''
23428        self.password = password if password is not None else ''
23429        '''
23430         The password to authenticate with.
23431        '''
23432        self.port = port if port is not None else 0
23433        '''
23434         The port to dial to initiate a connection from the egress node to this resource.
23435        '''
23436        self.port_override = port_override if port_override is not None else 0
23437        '''
23438         The local port used by clients to connect to this resource.
23439        '''
23440        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23441        '''
23442         ID of the proxy cluster for this resource, if any.
23443        '''
23444        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23445        '''
23446         ID of the secret store containing credentials for this resource, if any.
23447        '''
23448        self.subdomain = subdomain if subdomain is not None else ''
23449        '''
23450         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23451        '''
23452        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23453        '''
23454         Tags is a map of key, value pairs.
23455        '''
23456        self.tls_required = tls_required if tls_required is not None else False
23457        '''
23458         If set, TLS must be used to connect to this resource.
23459        '''
23460        self.username = username if username is not None else ''
23461        '''
23462         The username to authenticate with.
23463        '''
bind_interface

The bind interface is the IP 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)
23484    def to_dict(self):
23485        return {
23486            'bind_interface': self.bind_interface,
23487            'egress_filter': self.egress_filter,
23488            'healthy': self.healthy,
23489            'hostname': self.hostname,
23490            'id': self.id,
23491            'name': self.name,
23492            'password': self.password,
23493            'port': self.port,
23494            'port_override': self.port_override,
23495            'proxy_cluster_id': self.proxy_cluster_id,
23496            'secret_store_id': self.secret_store_id,
23497            'subdomain': self.subdomain,
23498            'tags': self.tags,
23499            'tls_required': self.tls_required,
23500            'username': self.username,
23501        }
@classmethod
def from_dict(cls, d)
23503    @classmethod
23504    def from_dict(cls, d):
23505        return cls(
23506            bind_interface=d.get('bind_interface'),
23507            egress_filter=d.get('egress_filter'),
23508            healthy=d.get('healthy'),
23509            hostname=d.get('hostname'),
23510            id=d.get('id'),
23511            name=d.get('name'),
23512            password=d.get('password'),
23513            port=d.get('port'),
23514            port_override=d.get('port_override'),
23515            proxy_cluster_id=d.get('proxy_cluster_id'),
23516            secret_store_id=d.get('secret_store_id'),
23517            subdomain=d.get('subdomain'),
23518            tags=d.get('tags'),
23519            tls_required=d.get('tls_required'),
23520            username=d.get('username'),
23521        )
class RateLimitMetadata:
23524class RateLimitMetadata:
23525    '''
23526         RateLimitMetadata contains information about remaining requests avaialable
23527     to the user over some timeframe.
23528    '''
23529    __slots__ = [
23530        'bucket',
23531        'limit',
23532        'remaining',
23533        'reset_at',
23534    ]
23535
23536    def __init__(
23537        self,
23538        bucket=None,
23539        limit=None,
23540        remaining=None,
23541        reset_at=None,
23542    ):
23543        self.bucket = bucket if bucket is not None else ''
23544        '''
23545         The bucket this user/token is associated with, which may be shared between
23546         multiple users/tokens.
23547        '''
23548        self.limit = limit if limit is not None else 0
23549        '''
23550         How many total requests the user/token is authorized to make before being
23551         rate limited.
23552        '''
23553        self.remaining = remaining if remaining is not None else 0
23554        '''
23555         How many remaining requests out of the limit are still avaialable.
23556        '''
23557        self.reset_at = reset_at if reset_at is not None else None
23558        '''
23559         The time when remaining will be reset to limit.
23560        '''
23561
23562    def __repr__(self):
23563        return '<sdm.RateLimitMetadata ' + \
23564            'bucket: ' + repr(self.bucket) + ' ' +\
23565            'limit: ' + repr(self.limit) + ' ' +\
23566            'remaining: ' + repr(self.remaining) + ' ' +\
23567            'reset_at: ' + repr(self.reset_at) + ' ' +\
23568            '>'
23569
23570    def to_dict(self):
23571        return {
23572            'bucket': self.bucket,
23573            'limit': self.limit,
23574            'remaining': self.remaining,
23575            'reset_at': self.reset_at,
23576        }
23577
23578    @classmethod
23579    def from_dict(cls, d):
23580        return cls(
23581            bucket=d.get('bucket'),
23582            limit=d.get('limit'),
23583            remaining=d.get('remaining'),
23584            reset_at=d.get('reset_at'),
23585        )

RateLimitMetadata contains information about remaining requests avaialable to the user over some timeframe.

RateLimitMetadata(bucket=None, limit=None, remaining=None, reset_at=None)
23536    def __init__(
23537        self,
23538        bucket=None,
23539        limit=None,
23540        remaining=None,
23541        reset_at=None,
23542    ):
23543        self.bucket = bucket if bucket is not None else ''
23544        '''
23545         The bucket this user/token is associated with, which may be shared between
23546         multiple users/tokens.
23547        '''
23548        self.limit = limit if limit is not None else 0
23549        '''
23550         How many total requests the user/token is authorized to make before being
23551         rate limited.
23552        '''
23553        self.remaining = remaining if remaining is not None else 0
23554        '''
23555         How many remaining requests out of the limit are still avaialable.
23556        '''
23557        self.reset_at = reset_at if reset_at is not None else None
23558        '''
23559         The time when remaining will be reset to limit.
23560        '''
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)
23570    def to_dict(self):
23571        return {
23572            'bucket': self.bucket,
23573            'limit': self.limit,
23574            'remaining': self.remaining,
23575            'reset_at': self.reset_at,
23576        }
@classmethod
def from_dict(cls, d)
23578    @classmethod
23579    def from_dict(cls, d):
23580        return cls(
23581            bucket=d.get('bucket'),
23582            limit=d.get('limit'),
23583            remaining=d.get('remaining'),
23584            reset_at=d.get('reset_at'),
23585        )
class RawTCP:
23588class RawTCP:
23589    __slots__ = [
23590        'bind_interface',
23591        'egress_filter',
23592        'healthy',
23593        'hostname',
23594        'id',
23595        'name',
23596        'port',
23597        'port_override',
23598        'proxy_cluster_id',
23599        'secret_store_id',
23600        'subdomain',
23601        'tags',
23602    ]
23603
23604    def __init__(
23605        self,
23606        bind_interface=None,
23607        egress_filter=None,
23608        healthy=None,
23609        hostname=None,
23610        id=None,
23611        name=None,
23612        port=None,
23613        port_override=None,
23614        proxy_cluster_id=None,
23615        secret_store_id=None,
23616        subdomain=None,
23617        tags=None,
23618    ):
23619        self.bind_interface = bind_interface if bind_interface is not None else ''
23620        '''
23621         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23622        '''
23623        self.egress_filter = egress_filter if egress_filter is not None else ''
23624        '''
23625         A filter applied to the routing logic to pin datasource to nodes.
23626        '''
23627        self.healthy = healthy if healthy is not None else False
23628        '''
23629         True if the datasource is reachable and the credentials are valid.
23630        '''
23631        self.hostname = hostname if hostname is not None else ''
23632        '''
23633         The host to dial to initiate a connection from the egress node to this resource.
23634        '''
23635        self.id = id if id is not None else ''
23636        '''
23637         Unique identifier of the Resource.
23638        '''
23639        self.name = name if name is not None else ''
23640        '''
23641         Unique human-readable name of the Resource.
23642        '''
23643        self.port = port if port is not None else 0
23644        '''
23645         The port to dial to initiate a connection from the egress node to this resource.
23646        '''
23647        self.port_override = port_override if port_override is not None else 0
23648        '''
23649         The local port used by clients to connect to this resource.
23650        '''
23651        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23652        '''
23653         ID of the proxy cluster for this resource, if any.
23654        '''
23655        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23656        '''
23657         ID of the secret store containing credentials for this resource, if any.
23658        '''
23659        self.subdomain = subdomain if subdomain is not None else ''
23660        '''
23661         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23662        '''
23663        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23664        '''
23665         Tags is a map of key, value pairs.
23666        '''
23667
23668    def __repr__(self):
23669        return '<sdm.RawTCP ' + \
23670            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23671            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23672            'healthy: ' + repr(self.healthy) + ' ' +\
23673            'hostname: ' + repr(self.hostname) + ' ' +\
23674            'id: ' + repr(self.id) + ' ' +\
23675            'name: ' + repr(self.name) + ' ' +\
23676            'port: ' + repr(self.port) + ' ' +\
23677            'port_override: ' + repr(self.port_override) + ' ' +\
23678            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23679            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23680            'subdomain: ' + repr(self.subdomain) + ' ' +\
23681            'tags: ' + repr(self.tags) + ' ' +\
23682            '>'
23683
23684    def to_dict(self):
23685        return {
23686            'bind_interface': self.bind_interface,
23687            'egress_filter': self.egress_filter,
23688            'healthy': self.healthy,
23689            'hostname': self.hostname,
23690            'id': self.id,
23691            'name': self.name,
23692            'port': self.port,
23693            'port_override': self.port_override,
23694            'proxy_cluster_id': self.proxy_cluster_id,
23695            'secret_store_id': self.secret_store_id,
23696            'subdomain': self.subdomain,
23697            'tags': self.tags,
23698        }
23699
23700    @classmethod
23701    def from_dict(cls, d):
23702        return cls(
23703            bind_interface=d.get('bind_interface'),
23704            egress_filter=d.get('egress_filter'),
23705            healthy=d.get('healthy'),
23706            hostname=d.get('hostname'),
23707            id=d.get('id'),
23708            name=d.get('name'),
23709            port=d.get('port'),
23710            port_override=d.get('port_override'),
23711            proxy_cluster_id=d.get('proxy_cluster_id'),
23712            secret_store_id=d.get('secret_store_id'),
23713            subdomain=d.get('subdomain'),
23714            tags=d.get('tags'),
23715        )
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)
23604    def __init__(
23605        self,
23606        bind_interface=None,
23607        egress_filter=None,
23608        healthy=None,
23609        hostname=None,
23610        id=None,
23611        name=None,
23612        port=None,
23613        port_override=None,
23614        proxy_cluster_id=None,
23615        secret_store_id=None,
23616        subdomain=None,
23617        tags=None,
23618    ):
23619        self.bind_interface = bind_interface if bind_interface is not None else ''
23620        '''
23621         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23622        '''
23623        self.egress_filter = egress_filter if egress_filter is not None else ''
23624        '''
23625         A filter applied to the routing logic to pin datasource to nodes.
23626        '''
23627        self.healthy = healthy if healthy is not None else False
23628        '''
23629         True if the datasource is reachable and the credentials are valid.
23630        '''
23631        self.hostname = hostname if hostname is not None else ''
23632        '''
23633         The host to dial to initiate a connection from the egress node to this resource.
23634        '''
23635        self.id = id if id is not None else ''
23636        '''
23637         Unique identifier of the Resource.
23638        '''
23639        self.name = name if name is not None else ''
23640        '''
23641         Unique human-readable name of the Resource.
23642        '''
23643        self.port = port if port is not None else 0
23644        '''
23645         The port to dial to initiate a connection from the egress node to this resource.
23646        '''
23647        self.port_override = port_override if port_override is not None else 0
23648        '''
23649         The local port used by clients to connect to this resource.
23650        '''
23651        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23652        '''
23653         ID of the proxy cluster for this resource, if any.
23654        '''
23655        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23656        '''
23657         ID of the secret store containing credentials for this resource, if any.
23658        '''
23659        self.subdomain = subdomain if subdomain is not None else ''
23660        '''
23661         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23662        '''
23663        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23664        '''
23665         Tags is a map of key, value pairs.
23666        '''
bind_interface

The bind interface is the IP 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)
23684    def to_dict(self):
23685        return {
23686            'bind_interface': self.bind_interface,
23687            'egress_filter': self.egress_filter,
23688            'healthy': self.healthy,
23689            'hostname': self.hostname,
23690            'id': self.id,
23691            'name': self.name,
23692            'port': self.port,
23693            'port_override': self.port_override,
23694            'proxy_cluster_id': self.proxy_cluster_id,
23695            'secret_store_id': self.secret_store_id,
23696            'subdomain': self.subdomain,
23697            'tags': self.tags,
23698        }
@classmethod
def from_dict(cls, d)
23700    @classmethod
23701    def from_dict(cls, d):
23702        return cls(
23703            bind_interface=d.get('bind_interface'),
23704            egress_filter=d.get('egress_filter'),
23705            healthy=d.get('healthy'),
23706            hostname=d.get('hostname'),
23707            id=d.get('id'),
23708            name=d.get('name'),
23709            port=d.get('port'),
23710            port_override=d.get('port_override'),
23711            proxy_cluster_id=d.get('proxy_cluster_id'),
23712            secret_store_id=d.get('secret_store_id'),
23713            subdomain=d.get('subdomain'),
23714            tags=d.get('tags'),
23715        )
class Redis:
23718class Redis:
23719    __slots__ = [
23720        'bind_interface',
23721        'egress_filter',
23722        'healthy',
23723        'hostname',
23724        'id',
23725        'name',
23726        'password',
23727        'port',
23728        'port_override',
23729        'proxy_cluster_id',
23730        'secret_store_id',
23731        'subdomain',
23732        'tags',
23733        'tls_required',
23734        'username',
23735    ]
23736
23737    def __init__(
23738        self,
23739        bind_interface=None,
23740        egress_filter=None,
23741        healthy=None,
23742        hostname=None,
23743        id=None,
23744        name=None,
23745        password=None,
23746        port=None,
23747        port_override=None,
23748        proxy_cluster_id=None,
23749        secret_store_id=None,
23750        subdomain=None,
23751        tags=None,
23752        tls_required=None,
23753        username=None,
23754    ):
23755        self.bind_interface = bind_interface if bind_interface is not None else ''
23756        '''
23757         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23758        '''
23759        self.egress_filter = egress_filter if egress_filter is not None else ''
23760        '''
23761         A filter applied to the routing logic to pin datasource to nodes.
23762        '''
23763        self.healthy = healthy if healthy is not None else False
23764        '''
23765         True if the datasource is reachable and the credentials are valid.
23766        '''
23767        self.hostname = hostname if hostname is not None else ''
23768        '''
23769         The host to dial to initiate a connection from the egress node to this resource.
23770        '''
23771        self.id = id if id is not None else ''
23772        '''
23773         Unique identifier of the Resource.
23774        '''
23775        self.name = name if name is not None else ''
23776        '''
23777         Unique human-readable name of the Resource.
23778        '''
23779        self.password = password if password is not None else ''
23780        '''
23781         The password to authenticate with.
23782        '''
23783        self.port = port if port is not None else 0
23784        '''
23785         The port to dial to initiate a connection from the egress node to this resource.
23786        '''
23787        self.port_override = port_override if port_override is not None else 0
23788        '''
23789         The local port used by clients to connect to this resource.
23790        '''
23791        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23792        '''
23793         ID of the proxy cluster for this resource, if any.
23794        '''
23795        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23796        '''
23797         ID of the secret store containing credentials for this resource, if any.
23798        '''
23799        self.subdomain = subdomain if subdomain is not None else ''
23800        '''
23801         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23802        '''
23803        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23804        '''
23805         Tags is a map of key, value pairs.
23806        '''
23807        self.tls_required = tls_required if tls_required is not None else False
23808        '''
23809         If set, TLS must be used to connect to this resource.
23810        '''
23811        self.username = username if username is not None else ''
23812        '''
23813         The username to authenticate with.
23814        '''
23815
23816    def __repr__(self):
23817        return '<sdm.Redis ' + \
23818            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23819            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23820            'healthy: ' + repr(self.healthy) + ' ' +\
23821            'hostname: ' + repr(self.hostname) + ' ' +\
23822            'id: ' + repr(self.id) + ' ' +\
23823            'name: ' + repr(self.name) + ' ' +\
23824            'password: ' + repr(self.password) + ' ' +\
23825            'port: ' + repr(self.port) + ' ' +\
23826            'port_override: ' + repr(self.port_override) + ' ' +\
23827            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23828            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23829            'subdomain: ' + repr(self.subdomain) + ' ' +\
23830            'tags: ' + repr(self.tags) + ' ' +\
23831            'tls_required: ' + repr(self.tls_required) + ' ' +\
23832            'username: ' + repr(self.username) + ' ' +\
23833            '>'
23834
23835    def to_dict(self):
23836        return {
23837            'bind_interface': self.bind_interface,
23838            'egress_filter': self.egress_filter,
23839            'healthy': self.healthy,
23840            'hostname': self.hostname,
23841            'id': self.id,
23842            'name': self.name,
23843            'password': self.password,
23844            'port': self.port,
23845            'port_override': self.port_override,
23846            'proxy_cluster_id': self.proxy_cluster_id,
23847            'secret_store_id': self.secret_store_id,
23848            'subdomain': self.subdomain,
23849            'tags': self.tags,
23850            'tls_required': self.tls_required,
23851            'username': self.username,
23852        }
23853
23854    @classmethod
23855    def from_dict(cls, d):
23856        return cls(
23857            bind_interface=d.get('bind_interface'),
23858            egress_filter=d.get('egress_filter'),
23859            healthy=d.get('healthy'),
23860            hostname=d.get('hostname'),
23861            id=d.get('id'),
23862            name=d.get('name'),
23863            password=d.get('password'),
23864            port=d.get('port'),
23865            port_override=d.get('port_override'),
23866            proxy_cluster_id=d.get('proxy_cluster_id'),
23867            secret_store_id=d.get('secret_store_id'),
23868            subdomain=d.get('subdomain'),
23869            tags=d.get('tags'),
23870            tls_required=d.get('tls_required'),
23871            username=d.get('username'),
23872        )
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)
23737    def __init__(
23738        self,
23739        bind_interface=None,
23740        egress_filter=None,
23741        healthy=None,
23742        hostname=None,
23743        id=None,
23744        name=None,
23745        password=None,
23746        port=None,
23747        port_override=None,
23748        proxy_cluster_id=None,
23749        secret_store_id=None,
23750        subdomain=None,
23751        tags=None,
23752        tls_required=None,
23753        username=None,
23754    ):
23755        self.bind_interface = bind_interface if bind_interface is not None else ''
23756        '''
23757         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23758        '''
23759        self.egress_filter = egress_filter if egress_filter is not None else ''
23760        '''
23761         A filter applied to the routing logic to pin datasource to nodes.
23762        '''
23763        self.healthy = healthy if healthy is not None else False
23764        '''
23765         True if the datasource is reachable and the credentials are valid.
23766        '''
23767        self.hostname = hostname if hostname is not None else ''
23768        '''
23769         The host to dial to initiate a connection from the egress node to this resource.
23770        '''
23771        self.id = id if id is not None else ''
23772        '''
23773         Unique identifier of the Resource.
23774        '''
23775        self.name = name if name is not None else ''
23776        '''
23777         Unique human-readable name of the Resource.
23778        '''
23779        self.password = password if password is not None else ''
23780        '''
23781         The password to authenticate with.
23782        '''
23783        self.port = port if port is not None else 0
23784        '''
23785         The port to dial to initiate a connection from the egress node to this resource.
23786        '''
23787        self.port_override = port_override if port_override is not None else 0
23788        '''
23789         The local port used by clients to connect to this resource.
23790        '''
23791        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23792        '''
23793         ID of the proxy cluster for this resource, if any.
23794        '''
23795        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23796        '''
23797         ID of the secret store containing credentials for this resource, if any.
23798        '''
23799        self.subdomain = subdomain if subdomain is not None else ''
23800        '''
23801         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23802        '''
23803        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23804        '''
23805         Tags is a map of key, value pairs.
23806        '''
23807        self.tls_required = tls_required if tls_required is not None else False
23808        '''
23809         If set, TLS must be used to connect to this resource.
23810        '''
23811        self.username = username if username is not None else ''
23812        '''
23813         The username to authenticate with.
23814        '''
bind_interface

The bind interface is the IP 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)
23835    def to_dict(self):
23836        return {
23837            'bind_interface': self.bind_interface,
23838            'egress_filter': self.egress_filter,
23839            'healthy': self.healthy,
23840            'hostname': self.hostname,
23841            'id': self.id,
23842            'name': self.name,
23843            'password': self.password,
23844            'port': self.port,
23845            'port_override': self.port_override,
23846            'proxy_cluster_id': self.proxy_cluster_id,
23847            'secret_store_id': self.secret_store_id,
23848            'subdomain': self.subdomain,
23849            'tags': self.tags,
23850            'tls_required': self.tls_required,
23851            'username': self.username,
23852        }
@classmethod
def from_dict(cls, d)
23854    @classmethod
23855    def from_dict(cls, d):
23856        return cls(
23857            bind_interface=d.get('bind_interface'),
23858            egress_filter=d.get('egress_filter'),
23859            healthy=d.get('healthy'),
23860            hostname=d.get('hostname'),
23861            id=d.get('id'),
23862            name=d.get('name'),
23863            password=d.get('password'),
23864            port=d.get('port'),
23865            port_override=d.get('port_override'),
23866            proxy_cluster_id=d.get('proxy_cluster_id'),
23867            secret_store_id=d.get('secret_store_id'),
23868            subdomain=d.get('subdomain'),
23869            tags=d.get('tags'),
23870            tls_required=d.get('tls_required'),
23871            username=d.get('username'),
23872        )
class RedisCluster:
23875class RedisCluster:
23876    __slots__ = [
23877        'bind_interface',
23878        'egress_filter',
23879        'healthy',
23880        'hostname',
23881        'id',
23882        'name',
23883        'password',
23884        'port',
23885        'port_override',
23886        'proxy_cluster_id',
23887        'secret_store_id',
23888        'subdomain',
23889        'tags',
23890        'tls_required',
23891        'username',
23892    ]
23893
23894    def __init__(
23895        self,
23896        bind_interface=None,
23897        egress_filter=None,
23898        healthy=None,
23899        hostname=None,
23900        id=None,
23901        name=None,
23902        password=None,
23903        port=None,
23904        port_override=None,
23905        proxy_cluster_id=None,
23906        secret_store_id=None,
23907        subdomain=None,
23908        tags=None,
23909        tls_required=None,
23910        username=None,
23911    ):
23912        self.bind_interface = bind_interface if bind_interface is not None else ''
23913        '''
23914         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23915        '''
23916        self.egress_filter = egress_filter if egress_filter is not None else ''
23917        '''
23918         A filter applied to the routing logic to pin datasource to nodes.
23919        '''
23920        self.healthy = healthy if healthy is not None else False
23921        '''
23922         True if the datasource is reachable and the credentials are valid.
23923        '''
23924        self.hostname = hostname if hostname is not None else ''
23925        '''
23926         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
23927        '''
23928        self.id = id if id is not None else ''
23929        '''
23930         Unique identifier of the Resource.
23931        '''
23932        self.name = name if name is not None else ''
23933        '''
23934         Unique human-readable name of the Resource.
23935        '''
23936        self.password = password if password is not None else ''
23937        '''
23938         The password to authenticate with.
23939        '''
23940        self.port = port if port is not None else 0
23941        '''
23942         The port to dial to initiate a connection from the egress node to this resource.
23943        '''
23944        self.port_override = port_override if port_override is not None else 0
23945        '''
23946         The local port used by clients to connect to this resource.
23947        '''
23948        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23949        '''
23950         ID of the proxy cluster for this resource, if any.
23951        '''
23952        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23953        '''
23954         ID of the secret store containing credentials for this resource, if any.
23955        '''
23956        self.subdomain = subdomain if subdomain is not None else ''
23957        '''
23958         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23959        '''
23960        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23961        '''
23962         Tags is a map of key, value pairs.
23963        '''
23964        self.tls_required = tls_required if tls_required is not None else False
23965        '''
23966         If set, TLS must be used to connect to this resource.
23967        '''
23968        self.username = username if username is not None else ''
23969        '''
23970         The username to authenticate with.
23971        '''
23972
23973    def __repr__(self):
23974        return '<sdm.RedisCluster ' + \
23975            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23976            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23977            'healthy: ' + repr(self.healthy) + ' ' +\
23978            'hostname: ' + repr(self.hostname) + ' ' +\
23979            'id: ' + repr(self.id) + ' ' +\
23980            'name: ' + repr(self.name) + ' ' +\
23981            'password: ' + repr(self.password) + ' ' +\
23982            'port: ' + repr(self.port) + ' ' +\
23983            'port_override: ' + repr(self.port_override) + ' ' +\
23984            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23985            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23986            'subdomain: ' + repr(self.subdomain) + ' ' +\
23987            'tags: ' + repr(self.tags) + ' ' +\
23988            'tls_required: ' + repr(self.tls_required) + ' ' +\
23989            'username: ' + repr(self.username) + ' ' +\
23990            '>'
23991
23992    def to_dict(self):
23993        return {
23994            'bind_interface': self.bind_interface,
23995            'egress_filter': self.egress_filter,
23996            'healthy': self.healthy,
23997            'hostname': self.hostname,
23998            'id': self.id,
23999            'name': self.name,
24000            'password': self.password,
24001            'port': self.port,
24002            'port_override': self.port_override,
24003            'proxy_cluster_id': self.proxy_cluster_id,
24004            'secret_store_id': self.secret_store_id,
24005            'subdomain': self.subdomain,
24006            'tags': self.tags,
24007            'tls_required': self.tls_required,
24008            'username': self.username,
24009        }
24010
24011    @classmethod
24012    def from_dict(cls, d):
24013        return cls(
24014            bind_interface=d.get('bind_interface'),
24015            egress_filter=d.get('egress_filter'),
24016            healthy=d.get('healthy'),
24017            hostname=d.get('hostname'),
24018            id=d.get('id'),
24019            name=d.get('name'),
24020            password=d.get('password'),
24021            port=d.get('port'),
24022            port_override=d.get('port_override'),
24023            proxy_cluster_id=d.get('proxy_cluster_id'),
24024            secret_store_id=d.get('secret_store_id'),
24025            subdomain=d.get('subdomain'),
24026            tags=d.get('tags'),
24027            tls_required=d.get('tls_required'),
24028            username=d.get('username'),
24029        )
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)
23894    def __init__(
23895        self,
23896        bind_interface=None,
23897        egress_filter=None,
23898        healthy=None,
23899        hostname=None,
23900        id=None,
23901        name=None,
23902        password=None,
23903        port=None,
23904        port_override=None,
23905        proxy_cluster_id=None,
23906        secret_store_id=None,
23907        subdomain=None,
23908        tags=None,
23909        tls_required=None,
23910        username=None,
23911    ):
23912        self.bind_interface = bind_interface if bind_interface is not None else ''
23913        '''
23914         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23915        '''
23916        self.egress_filter = egress_filter if egress_filter is not None else ''
23917        '''
23918         A filter applied to the routing logic to pin datasource to nodes.
23919        '''
23920        self.healthy = healthy if healthy is not None else False
23921        '''
23922         True if the datasource is reachable and the credentials are valid.
23923        '''
23924        self.hostname = hostname if hostname is not None else ''
23925        '''
23926         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
23927        '''
23928        self.id = id if id is not None else ''
23929        '''
23930         Unique identifier of the Resource.
23931        '''
23932        self.name = name if name is not None else ''
23933        '''
23934         Unique human-readable name of the Resource.
23935        '''
23936        self.password = password if password is not None else ''
23937        '''
23938         The password to authenticate with.
23939        '''
23940        self.port = port if port is not None else 0
23941        '''
23942         The port to dial to initiate a connection from the egress node to this resource.
23943        '''
23944        self.port_override = port_override if port_override is not None else 0
23945        '''
23946         The local port used by clients to connect to this resource.
23947        '''
23948        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23949        '''
23950         ID of the proxy cluster for this resource, if any.
23951        '''
23952        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23953        '''
23954         ID of the secret store containing credentials for this resource, if any.
23955        '''
23956        self.subdomain = subdomain if subdomain is not None else ''
23957        '''
23958         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23959        '''
23960        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23961        '''
23962         Tags is a map of key, value pairs.
23963        '''
23964        self.tls_required = tls_required if tls_required is not None else False
23965        '''
23966         If set, TLS must be used to connect to this resource.
23967        '''
23968        self.username = username if username is not None else ''
23969        '''
23970         The username to authenticate with.
23971        '''
bind_interface

The bind interface is the IP 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)
23992    def to_dict(self):
23993        return {
23994            'bind_interface': self.bind_interface,
23995            'egress_filter': self.egress_filter,
23996            'healthy': self.healthy,
23997            'hostname': self.hostname,
23998            'id': self.id,
23999            'name': self.name,
24000            'password': self.password,
24001            'port': self.port,
24002            'port_override': self.port_override,
24003            'proxy_cluster_id': self.proxy_cluster_id,
24004            'secret_store_id': self.secret_store_id,
24005            'subdomain': self.subdomain,
24006            'tags': self.tags,
24007            'tls_required': self.tls_required,
24008            'username': self.username,
24009        }
@classmethod
def from_dict(cls, d)
24011    @classmethod
24012    def from_dict(cls, d):
24013        return cls(
24014            bind_interface=d.get('bind_interface'),
24015            egress_filter=d.get('egress_filter'),
24016            healthy=d.get('healthy'),
24017            hostname=d.get('hostname'),
24018            id=d.get('id'),
24019            name=d.get('name'),
24020            password=d.get('password'),
24021            port=d.get('port'),
24022            port_override=d.get('port_override'),
24023            proxy_cluster_id=d.get('proxy_cluster_id'),
24024            secret_store_id=d.get('secret_store_id'),
24025            subdomain=d.get('subdomain'),
24026            tags=d.get('tags'),
24027            tls_required=d.get('tls_required'),
24028            username=d.get('username'),
24029        )
class Redshift:
24032class Redshift:
24033    __slots__ = [
24034        'bind_interface',
24035        'database',
24036        'egress_filter',
24037        'healthy',
24038        'hostname',
24039        'id',
24040        'name',
24041        'override_database',
24042        'password',
24043        'port',
24044        'port_override',
24045        'proxy_cluster_id',
24046        'secret_store_id',
24047        'subdomain',
24048        'tags',
24049        'username',
24050    ]
24051
24052    def __init__(
24053        self,
24054        bind_interface=None,
24055        database=None,
24056        egress_filter=None,
24057        healthy=None,
24058        hostname=None,
24059        id=None,
24060        name=None,
24061        override_database=None,
24062        password=None,
24063        port=None,
24064        port_override=None,
24065        proxy_cluster_id=None,
24066        secret_store_id=None,
24067        subdomain=None,
24068        tags=None,
24069        username=None,
24070    ):
24071        self.bind_interface = bind_interface if bind_interface is not None else ''
24072        '''
24073         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24074        '''
24075        self.database = database if database is not None else ''
24076        '''
24077         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
24078        '''
24079        self.egress_filter = egress_filter if egress_filter is not None else ''
24080        '''
24081         A filter applied to the routing logic to pin datasource to nodes.
24082        '''
24083        self.healthy = healthy if healthy is not None else False
24084        '''
24085         True if the datasource is reachable and the credentials are valid.
24086        '''
24087        self.hostname = hostname if hostname is not None else ''
24088        '''
24089         The host to dial to initiate a connection from the egress node to this resource.
24090        '''
24091        self.id = id if id is not None else ''
24092        '''
24093         Unique identifier of the Resource.
24094        '''
24095        self.name = name if name is not None else ''
24096        '''
24097         Unique human-readable name of the Resource.
24098        '''
24099        self.override_database = override_database if override_database is not None else False
24100        '''
24101         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
24102        '''
24103        self.password = password if password is not None else ''
24104        '''
24105         The password to authenticate with.
24106        '''
24107        self.port = port if port is not None else 0
24108        '''
24109         The port to dial to initiate a connection from the egress node to this resource.
24110        '''
24111        self.port_override = port_override if port_override is not None else 0
24112        '''
24113         The local port used by clients to connect to this resource.
24114        '''
24115        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24116        '''
24117         ID of the proxy cluster for this resource, if any.
24118        '''
24119        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24120        '''
24121         ID of the secret store containing credentials for this resource, if any.
24122        '''
24123        self.subdomain = subdomain if subdomain is not None else ''
24124        '''
24125         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24126        '''
24127        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24128        '''
24129         Tags is a map of key, value pairs.
24130        '''
24131        self.username = username if username is not None else ''
24132        '''
24133         The username to authenticate with.
24134        '''
24135
24136    def __repr__(self):
24137        return '<sdm.Redshift ' + \
24138            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24139            'database: ' + repr(self.database) + ' ' +\
24140            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24141            'healthy: ' + repr(self.healthy) + ' ' +\
24142            'hostname: ' + repr(self.hostname) + ' ' +\
24143            'id: ' + repr(self.id) + ' ' +\
24144            'name: ' + repr(self.name) + ' ' +\
24145            'override_database: ' + repr(self.override_database) + ' ' +\
24146            'password: ' + repr(self.password) + ' ' +\
24147            'port: ' + repr(self.port) + ' ' +\
24148            'port_override: ' + repr(self.port_override) + ' ' +\
24149            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24150            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24151            'subdomain: ' + repr(self.subdomain) + ' ' +\
24152            'tags: ' + repr(self.tags) + ' ' +\
24153            'username: ' + repr(self.username) + ' ' +\
24154            '>'
24155
24156    def to_dict(self):
24157        return {
24158            'bind_interface': self.bind_interface,
24159            'database': self.database,
24160            'egress_filter': self.egress_filter,
24161            'healthy': self.healthy,
24162            'hostname': self.hostname,
24163            'id': self.id,
24164            'name': self.name,
24165            'override_database': self.override_database,
24166            'password': self.password,
24167            'port': self.port,
24168            'port_override': self.port_override,
24169            'proxy_cluster_id': self.proxy_cluster_id,
24170            'secret_store_id': self.secret_store_id,
24171            'subdomain': self.subdomain,
24172            'tags': self.tags,
24173            'username': self.username,
24174        }
24175
24176    @classmethod
24177    def from_dict(cls, d):
24178        return cls(
24179            bind_interface=d.get('bind_interface'),
24180            database=d.get('database'),
24181            egress_filter=d.get('egress_filter'),
24182            healthy=d.get('healthy'),
24183            hostname=d.get('hostname'),
24184            id=d.get('id'),
24185            name=d.get('name'),
24186            override_database=d.get('override_database'),
24187            password=d.get('password'),
24188            port=d.get('port'),
24189            port_override=d.get('port_override'),
24190            proxy_cluster_id=d.get('proxy_cluster_id'),
24191            secret_store_id=d.get('secret_store_id'),
24192            subdomain=d.get('subdomain'),
24193            tags=d.get('tags'),
24194            username=d.get('username'),
24195        )
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)
24052    def __init__(
24053        self,
24054        bind_interface=None,
24055        database=None,
24056        egress_filter=None,
24057        healthy=None,
24058        hostname=None,
24059        id=None,
24060        name=None,
24061        override_database=None,
24062        password=None,
24063        port=None,
24064        port_override=None,
24065        proxy_cluster_id=None,
24066        secret_store_id=None,
24067        subdomain=None,
24068        tags=None,
24069        username=None,
24070    ):
24071        self.bind_interface = bind_interface if bind_interface is not None else ''
24072        '''
24073         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24074        '''
24075        self.database = database if database is not None else ''
24076        '''
24077         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
24078        '''
24079        self.egress_filter = egress_filter if egress_filter is not None else ''
24080        '''
24081         A filter applied to the routing logic to pin datasource to nodes.
24082        '''
24083        self.healthy = healthy if healthy is not None else False
24084        '''
24085         True if the datasource is reachable and the credentials are valid.
24086        '''
24087        self.hostname = hostname if hostname is not None else ''
24088        '''
24089         The host to dial to initiate a connection from the egress node to this resource.
24090        '''
24091        self.id = id if id is not None else ''
24092        '''
24093         Unique identifier of the Resource.
24094        '''
24095        self.name = name if name is not None else ''
24096        '''
24097         Unique human-readable name of the Resource.
24098        '''
24099        self.override_database = override_database if override_database is not None else False
24100        '''
24101         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
24102        '''
24103        self.password = password if password is not None else ''
24104        '''
24105         The password to authenticate with.
24106        '''
24107        self.port = port if port is not None else 0
24108        '''
24109         The port to dial to initiate a connection from the egress node to this resource.
24110        '''
24111        self.port_override = port_override if port_override is not None else 0
24112        '''
24113         The local port used by clients to connect to this resource.
24114        '''
24115        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24116        '''
24117         ID of the proxy cluster for this resource, if any.
24118        '''
24119        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24120        '''
24121         ID of the secret store containing credentials for this resource, if any.
24122        '''
24123        self.subdomain = subdomain if subdomain is not None else ''
24124        '''
24125         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24126        '''
24127        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24128        '''
24129         Tags is a map of key, value pairs.
24130        '''
24131        self.username = username if username is not None else ''
24132        '''
24133         The username to authenticate with.
24134        '''
bind_interface

The bind interface is the IP 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)
24156    def to_dict(self):
24157        return {
24158            'bind_interface': self.bind_interface,
24159            'database': self.database,
24160            'egress_filter': self.egress_filter,
24161            'healthy': self.healthy,
24162            'hostname': self.hostname,
24163            'id': self.id,
24164            'name': self.name,
24165            'override_database': self.override_database,
24166            'password': self.password,
24167            'port': self.port,
24168            'port_override': self.port_override,
24169            'proxy_cluster_id': self.proxy_cluster_id,
24170            'secret_store_id': self.secret_store_id,
24171            'subdomain': self.subdomain,
24172            'tags': self.tags,
24173            'username': self.username,
24174        }
@classmethod
def from_dict(cls, d)
24176    @classmethod
24177    def from_dict(cls, d):
24178        return cls(
24179            bind_interface=d.get('bind_interface'),
24180            database=d.get('database'),
24181            egress_filter=d.get('egress_filter'),
24182            healthy=d.get('healthy'),
24183            hostname=d.get('hostname'),
24184            id=d.get('id'),
24185            name=d.get('name'),
24186            override_database=d.get('override_database'),
24187            password=d.get('password'),
24188            port=d.get('port'),
24189            port_override=d.get('port_override'),
24190            proxy_cluster_id=d.get('proxy_cluster_id'),
24191            secret_store_id=d.get('secret_store_id'),
24192            subdomain=d.get('subdomain'),
24193            tags=d.get('tags'),
24194            username=d.get('username'),
24195        )
class RedshiftIAM:
24198class RedshiftIAM:
24199    __slots__ = [
24200        'bind_interface',
24201        'cluster_id',
24202        'database',
24203        'egress_filter',
24204        'healthy',
24205        'hostname',
24206        'id',
24207        'name',
24208        'override_database',
24209        'port',
24210        'port_override',
24211        'proxy_cluster_id',
24212        'region',
24213        'role_assumption_arn',
24214        'secret_store_id',
24215        'subdomain',
24216        'tags',
24217    ]
24218
24219    def __init__(
24220        self,
24221        bind_interface=None,
24222        cluster_id=None,
24223        database=None,
24224        egress_filter=None,
24225        healthy=None,
24226        hostname=None,
24227        id=None,
24228        name=None,
24229        override_database=None,
24230        port=None,
24231        port_override=None,
24232        proxy_cluster_id=None,
24233        region=None,
24234        role_assumption_arn=None,
24235        secret_store_id=None,
24236        subdomain=None,
24237        tags=None,
24238    ):
24239        self.bind_interface = bind_interface if bind_interface is not None else ''
24240        '''
24241         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24242        '''
24243        self.cluster_id = cluster_id if cluster_id is not None else ''
24244        '''
24245         Cluster Identified of Redshift cluster
24246        '''
24247        self.database = database if database is not None else ''
24248        '''
24249         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
24250        '''
24251        self.egress_filter = egress_filter if egress_filter is not None else ''
24252        '''
24253         A filter applied to the routing logic to pin datasource to nodes.
24254        '''
24255        self.healthy = healthy if healthy is not None else False
24256        '''
24257         True if the datasource is reachable and the credentials are valid.
24258        '''
24259        self.hostname = hostname if hostname is not None else ''
24260        '''
24261         The host to dial to initiate a connection from the egress node to this resource.
24262        '''
24263        self.id = id if id is not None else ''
24264        '''
24265         Unique identifier of the Resource.
24266        '''
24267        self.name = name if name is not None else ''
24268        '''
24269         Unique human-readable name of the Resource.
24270        '''
24271        self.override_database = override_database if override_database is not None else False
24272        '''
24273         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
24274        '''
24275        self.port = port if port is not None else 0
24276        '''
24277         The port to dial to initiate a connection from the egress node to this resource.
24278        '''
24279        self.port_override = port_override if port_override is not None else 0
24280        '''
24281         The local port used by clients to connect to this resource.
24282        '''
24283        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24284        '''
24285         ID of the proxy cluster for this resource, if any.
24286        '''
24287        self.region = region if region is not None else ''
24288        '''
24289         The AWS region to connect to.
24290        '''
24291        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
24292        '''
24293         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
24294        '''
24295        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24296        '''
24297         ID of the secret store containing credentials for this resource, if any.
24298        '''
24299        self.subdomain = subdomain if subdomain is not None else ''
24300        '''
24301         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24302        '''
24303        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24304        '''
24305         Tags is a map of key, value pairs.
24306        '''
24307
24308    def __repr__(self):
24309        return '<sdm.RedshiftIAM ' + \
24310            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24311            'cluster_id: ' + repr(self.cluster_id) + ' ' +\
24312            'database: ' + repr(self.database) + ' ' +\
24313            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24314            'healthy: ' + repr(self.healthy) + ' ' +\
24315            'hostname: ' + repr(self.hostname) + ' ' +\
24316            'id: ' + repr(self.id) + ' ' +\
24317            'name: ' + repr(self.name) + ' ' +\
24318            'override_database: ' + repr(self.override_database) + ' ' +\
24319            'port: ' + repr(self.port) + ' ' +\
24320            'port_override: ' + repr(self.port_override) + ' ' +\
24321            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24322            'region: ' + repr(self.region) + ' ' +\
24323            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
24324            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24325            'subdomain: ' + repr(self.subdomain) + ' ' +\
24326            'tags: ' + repr(self.tags) + ' ' +\
24327            '>'
24328
24329    def to_dict(self):
24330        return {
24331            'bind_interface': self.bind_interface,
24332            'cluster_id': self.cluster_id,
24333            'database': self.database,
24334            'egress_filter': self.egress_filter,
24335            'healthy': self.healthy,
24336            'hostname': self.hostname,
24337            'id': self.id,
24338            'name': self.name,
24339            'override_database': self.override_database,
24340            'port': self.port,
24341            'port_override': self.port_override,
24342            'proxy_cluster_id': self.proxy_cluster_id,
24343            'region': self.region,
24344            'role_assumption_arn': self.role_assumption_arn,
24345            'secret_store_id': self.secret_store_id,
24346            'subdomain': self.subdomain,
24347            'tags': self.tags,
24348        }
24349
24350    @classmethod
24351    def from_dict(cls, d):
24352        return cls(
24353            bind_interface=d.get('bind_interface'),
24354            cluster_id=d.get('cluster_id'),
24355            database=d.get('database'),
24356            egress_filter=d.get('egress_filter'),
24357            healthy=d.get('healthy'),
24358            hostname=d.get('hostname'),
24359            id=d.get('id'),
24360            name=d.get('name'),
24361            override_database=d.get('override_database'),
24362            port=d.get('port'),
24363            port_override=d.get('port_override'),
24364            proxy_cluster_id=d.get('proxy_cluster_id'),
24365            region=d.get('region'),
24366            role_assumption_arn=d.get('role_assumption_arn'),
24367            secret_store_id=d.get('secret_store_id'),
24368            subdomain=d.get('subdomain'),
24369            tags=d.get('tags'),
24370        )
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)
24219    def __init__(
24220        self,
24221        bind_interface=None,
24222        cluster_id=None,
24223        database=None,
24224        egress_filter=None,
24225        healthy=None,
24226        hostname=None,
24227        id=None,
24228        name=None,
24229        override_database=None,
24230        port=None,
24231        port_override=None,
24232        proxy_cluster_id=None,
24233        region=None,
24234        role_assumption_arn=None,
24235        secret_store_id=None,
24236        subdomain=None,
24237        tags=None,
24238    ):
24239        self.bind_interface = bind_interface if bind_interface is not None else ''
24240        '''
24241         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24242        '''
24243        self.cluster_id = cluster_id if cluster_id is not None else ''
24244        '''
24245         Cluster Identified of Redshift cluster
24246        '''
24247        self.database = database if database is not None else ''
24248        '''
24249         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
24250        '''
24251        self.egress_filter = egress_filter if egress_filter is not None else ''
24252        '''
24253         A filter applied to the routing logic to pin datasource to nodes.
24254        '''
24255        self.healthy = healthy if healthy is not None else False
24256        '''
24257         True if the datasource is reachable and the credentials are valid.
24258        '''
24259        self.hostname = hostname if hostname is not None else ''
24260        '''
24261         The host to dial to initiate a connection from the egress node to this resource.
24262        '''
24263        self.id = id if id is not None else ''
24264        '''
24265         Unique identifier of the Resource.
24266        '''
24267        self.name = name if name is not None else ''
24268        '''
24269         Unique human-readable name of the Resource.
24270        '''
24271        self.override_database = override_database if override_database is not None else False
24272        '''
24273         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
24274        '''
24275        self.port = port if port is not None else 0
24276        '''
24277         The port to dial to initiate a connection from the egress node to this resource.
24278        '''
24279        self.port_override = port_override if port_override is not None else 0
24280        '''
24281         The local port used by clients to connect to this resource.
24282        '''
24283        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24284        '''
24285         ID of the proxy cluster for this resource, if any.
24286        '''
24287        self.region = region if region is not None else ''
24288        '''
24289         The AWS region to connect to.
24290        '''
24291        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
24292        '''
24293         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
24294        '''
24295        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24296        '''
24297         ID of the secret store containing credentials for this resource, if any.
24298        '''
24299        self.subdomain = subdomain if subdomain is not None else ''
24300        '''
24301         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24302        '''
24303        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24304        '''
24305         Tags is a map of key, value pairs.
24306        '''
bind_interface

The bind interface is the IP 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)
24329    def to_dict(self):
24330        return {
24331            'bind_interface': self.bind_interface,
24332            'cluster_id': self.cluster_id,
24333            'database': self.database,
24334            'egress_filter': self.egress_filter,
24335            'healthy': self.healthy,
24336            'hostname': self.hostname,
24337            'id': self.id,
24338            'name': self.name,
24339            'override_database': self.override_database,
24340            'port': self.port,
24341            'port_override': self.port_override,
24342            'proxy_cluster_id': self.proxy_cluster_id,
24343            'region': self.region,
24344            'role_assumption_arn': self.role_assumption_arn,
24345            'secret_store_id': self.secret_store_id,
24346            'subdomain': self.subdomain,
24347            'tags': self.tags,
24348        }
@classmethod
def from_dict(cls, d)
24350    @classmethod
24351    def from_dict(cls, d):
24352        return cls(
24353            bind_interface=d.get('bind_interface'),
24354            cluster_id=d.get('cluster_id'),
24355            database=d.get('database'),
24356            egress_filter=d.get('egress_filter'),
24357            healthy=d.get('healthy'),
24358            hostname=d.get('hostname'),
24359            id=d.get('id'),
24360            name=d.get('name'),
24361            override_database=d.get('override_database'),
24362            port=d.get('port'),
24363            port_override=d.get('port_override'),
24364            proxy_cluster_id=d.get('proxy_cluster_id'),
24365            region=d.get('region'),
24366            role_assumption_arn=d.get('role_assumption_arn'),
24367            secret_store_id=d.get('secret_store_id'),
24368            subdomain=d.get('subdomain'),
24369            tags=d.get('tags'),
24370        )
class RedshiftServerlessIAM:
24373class RedshiftServerlessIAM:
24374    __slots__ = [
24375        'bind_interface',
24376        'database',
24377        'egress_filter',
24378        'healthy',
24379        'hostname',
24380        'id',
24381        'name',
24382        'override_database',
24383        'port',
24384        'port_override',
24385        'proxy_cluster_id',
24386        'region',
24387        'role_assumption_arn',
24388        'secret_store_id',
24389        'subdomain',
24390        'tags',
24391        'workgroup',
24392    ]
24393
24394    def __init__(
24395        self,
24396        bind_interface=None,
24397        database=None,
24398        egress_filter=None,
24399        healthy=None,
24400        hostname=None,
24401        id=None,
24402        name=None,
24403        override_database=None,
24404        port=None,
24405        port_override=None,
24406        proxy_cluster_id=None,
24407        region=None,
24408        role_assumption_arn=None,
24409        secret_store_id=None,
24410        subdomain=None,
24411        tags=None,
24412        workgroup=None,
24413    ):
24414        self.bind_interface = bind_interface if bind_interface is not None else ''
24415        '''
24416         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24417        '''
24418        self.database = database if database is not None else ''
24419        '''
24420         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
24421        '''
24422        self.egress_filter = egress_filter if egress_filter is not None else ''
24423        '''
24424         A filter applied to the routing logic to pin datasource to nodes.
24425        '''
24426        self.healthy = healthy if healthy is not None else False
24427        '''
24428         True if the datasource is reachable and the credentials are valid.
24429        '''
24430        self.hostname = hostname if hostname is not None else ''
24431        '''
24432         The host to dial to initiate a connection from the egress node to this resource.
24433        '''
24434        self.id = id if id is not None else ''
24435        '''
24436         Unique identifier of the Resource.
24437        '''
24438        self.name = name if name is not None else ''
24439        '''
24440         Unique human-readable name of the Resource.
24441        '''
24442        self.override_database = override_database if override_database is not None else False
24443        '''
24444         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
24445        '''
24446        self.port = port if port is not None else 0
24447        '''
24448         The port to dial to initiate a connection from the egress node to this resource.
24449        '''
24450        self.port_override = port_override if port_override is not None else 0
24451        '''
24452         The local port used by clients to connect to this resource.
24453        '''
24454        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24455        '''
24456         ID of the proxy cluster for this resource, if any.
24457        '''
24458        self.region = region if region is not None else ''
24459        '''
24460         The AWS region to connect to.
24461        '''
24462        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
24463        '''
24464         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
24465        '''
24466        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24467        '''
24468         ID of the secret store containing credentials for this resource, if any.
24469        '''
24470        self.subdomain = subdomain if subdomain is not None else ''
24471        '''
24472         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24473        '''
24474        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24475        '''
24476         Tags is a map of key, value pairs.
24477        '''
24478        self.workgroup = workgroup if workgroup is not None else ''
24479        '''
24480         Workgroup name in the serverless Redshift
24481        '''
24482
24483    def __repr__(self):
24484        return '<sdm.RedshiftServerlessIAM ' + \
24485            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24486            'database: ' + repr(self.database) + ' ' +\
24487            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24488            'healthy: ' + repr(self.healthy) + ' ' +\
24489            'hostname: ' + repr(self.hostname) + ' ' +\
24490            'id: ' + repr(self.id) + ' ' +\
24491            'name: ' + repr(self.name) + ' ' +\
24492            'override_database: ' + repr(self.override_database) + ' ' +\
24493            'port: ' + repr(self.port) + ' ' +\
24494            'port_override: ' + repr(self.port_override) + ' ' +\
24495            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24496            'region: ' + repr(self.region) + ' ' +\
24497            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
24498            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24499            'subdomain: ' + repr(self.subdomain) + ' ' +\
24500            'tags: ' + repr(self.tags) + ' ' +\
24501            'workgroup: ' + repr(self.workgroup) + ' ' +\
24502            '>'
24503
24504    def to_dict(self):
24505        return {
24506            'bind_interface': self.bind_interface,
24507            'database': self.database,
24508            'egress_filter': self.egress_filter,
24509            'healthy': self.healthy,
24510            'hostname': self.hostname,
24511            'id': self.id,
24512            'name': self.name,
24513            'override_database': self.override_database,
24514            'port': self.port,
24515            'port_override': self.port_override,
24516            'proxy_cluster_id': self.proxy_cluster_id,
24517            'region': self.region,
24518            'role_assumption_arn': self.role_assumption_arn,
24519            'secret_store_id': self.secret_store_id,
24520            'subdomain': self.subdomain,
24521            'tags': self.tags,
24522            'workgroup': self.workgroup,
24523        }
24524
24525    @classmethod
24526    def from_dict(cls, d):
24527        return cls(
24528            bind_interface=d.get('bind_interface'),
24529            database=d.get('database'),
24530            egress_filter=d.get('egress_filter'),
24531            healthy=d.get('healthy'),
24532            hostname=d.get('hostname'),
24533            id=d.get('id'),
24534            name=d.get('name'),
24535            override_database=d.get('override_database'),
24536            port=d.get('port'),
24537            port_override=d.get('port_override'),
24538            proxy_cluster_id=d.get('proxy_cluster_id'),
24539            region=d.get('region'),
24540            role_assumption_arn=d.get('role_assumption_arn'),
24541            secret_store_id=d.get('secret_store_id'),
24542            subdomain=d.get('subdomain'),
24543            tags=d.get('tags'),
24544            workgroup=d.get('workgroup'),
24545        )
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)
24394    def __init__(
24395        self,
24396        bind_interface=None,
24397        database=None,
24398        egress_filter=None,
24399        healthy=None,
24400        hostname=None,
24401        id=None,
24402        name=None,
24403        override_database=None,
24404        port=None,
24405        port_override=None,
24406        proxy_cluster_id=None,
24407        region=None,
24408        role_assumption_arn=None,
24409        secret_store_id=None,
24410        subdomain=None,
24411        tags=None,
24412        workgroup=None,
24413    ):
24414        self.bind_interface = bind_interface if bind_interface is not None else ''
24415        '''
24416         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24417        '''
24418        self.database = database if database is not None else ''
24419        '''
24420         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
24421        '''
24422        self.egress_filter = egress_filter if egress_filter is not None else ''
24423        '''
24424         A filter applied to the routing logic to pin datasource to nodes.
24425        '''
24426        self.healthy = healthy if healthy is not None else False
24427        '''
24428         True if the datasource is reachable and the credentials are valid.
24429        '''
24430        self.hostname = hostname if hostname is not None else ''
24431        '''
24432         The host to dial to initiate a connection from the egress node to this resource.
24433        '''
24434        self.id = id if id is not None else ''
24435        '''
24436         Unique identifier of the Resource.
24437        '''
24438        self.name = name if name is not None else ''
24439        '''
24440         Unique human-readable name of the Resource.
24441        '''
24442        self.override_database = override_database if override_database is not None else False
24443        '''
24444         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
24445        '''
24446        self.port = port if port is not None else 0
24447        '''
24448         The port to dial to initiate a connection from the egress node to this resource.
24449        '''
24450        self.port_override = port_override if port_override is not None else 0
24451        '''
24452         The local port used by clients to connect to this resource.
24453        '''
24454        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24455        '''
24456         ID of the proxy cluster for this resource, if any.
24457        '''
24458        self.region = region if region is not None else ''
24459        '''
24460         The AWS region to connect to.
24461        '''
24462        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
24463        '''
24464         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
24465        '''
24466        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24467        '''
24468         ID of the secret store containing credentials for this resource, if any.
24469        '''
24470        self.subdomain = subdomain if subdomain is not None else ''
24471        '''
24472         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24473        '''
24474        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24475        '''
24476         Tags is a map of key, value pairs.
24477        '''
24478        self.workgroup = workgroup if workgroup is not None else ''
24479        '''
24480         Workgroup name in the serverless Redshift
24481        '''
bind_interface

The bind interface is the IP 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)
24504    def to_dict(self):
24505        return {
24506            'bind_interface': self.bind_interface,
24507            'database': self.database,
24508            'egress_filter': self.egress_filter,
24509            'healthy': self.healthy,
24510            'hostname': self.hostname,
24511            'id': self.id,
24512            'name': self.name,
24513            'override_database': self.override_database,
24514            'port': self.port,
24515            'port_override': self.port_override,
24516            'proxy_cluster_id': self.proxy_cluster_id,
24517            'region': self.region,
24518            'role_assumption_arn': self.role_assumption_arn,
24519            'secret_store_id': self.secret_store_id,
24520            'subdomain': self.subdomain,
24521            'tags': self.tags,
24522            'workgroup': self.workgroup,
24523        }
@classmethod
def from_dict(cls, d)
24525    @classmethod
24526    def from_dict(cls, d):
24527        return cls(
24528            bind_interface=d.get('bind_interface'),
24529            database=d.get('database'),
24530            egress_filter=d.get('egress_filter'),
24531            healthy=d.get('healthy'),
24532            hostname=d.get('hostname'),
24533            id=d.get('id'),
24534            name=d.get('name'),
24535            override_database=d.get('override_database'),
24536            port=d.get('port'),
24537            port_override=d.get('port_override'),
24538            proxy_cluster_id=d.get('proxy_cluster_id'),
24539            region=d.get('region'),
24540            role_assumption_arn=d.get('role_assumption_arn'),
24541            secret_store_id=d.get('secret_store_id'),
24542            subdomain=d.get('subdomain'),
24543            tags=d.get('tags'),
24544            workgroup=d.get('workgroup'),
24545        )
class Relay:
24548class Relay:
24549    '''
24550         Relay represents a StrongDM CLI installation running in relay mode.
24551    '''
24552    __slots__ = [
24553        'device',
24554        'gateway_filter',
24555        'id',
24556        'location',
24557        'maintenance_windows',
24558        'name',
24559        'state',
24560        'tags',
24561        'version',
24562    ]
24563
24564    def __init__(
24565        self,
24566        device=None,
24567        gateway_filter=None,
24568        id=None,
24569        location=None,
24570        maintenance_windows=None,
24571        name=None,
24572        state=None,
24573        tags=None,
24574        version=None,
24575    ):
24576        self.device = device if device is not None else ''
24577        '''
24578         Device is a read only device name uploaded by the gateway process when
24579         it comes online.
24580        '''
24581        self.gateway_filter = gateway_filter if gateway_filter is not None else ''
24582        '''
24583         GatewayFilter can be used to restrict the peering between relays and
24584         gateways. Deprecated.
24585        '''
24586        self.id = id if id is not None else ''
24587        '''
24588         Unique identifier of the Relay.
24589        '''
24590        self.location = location if location is not None else ''
24591        '''
24592         Location is a read only network location uploaded by the gateway process
24593         when it comes online.
24594        '''
24595        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
24596        '''
24597         Maintenance Windows define when this node is allowed to restart. If a node
24598         is requested to restart, it will check each window to determine if any of
24599         them permit it to restart, and if any do, it will. This check is repeated
24600         per window until the restart is successfully completed.
24601         
24602         If not set here, may be set on the command line or via an environment variable
24603         on the process itself; any server setting will take precedence over local
24604         settings. This setting is ineffective for nodes below version 38.44.0.
24605         
24606         If this setting is not applied via this remote configuration or via local
24607         configuration, the default setting is used: always allow restarts if serving
24608         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
24609        '''
24610        self.name = name if name is not None else ''
24611        '''
24612         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.
24613        '''
24614        self.state = state if state is not None else ''
24615        '''
24616         The current state of the relay, one of the NodeState constants.
24617        '''
24618        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24619        '''
24620         Tags is a map of key, value pairs.
24621        '''
24622        self.version = version if version is not None else ''
24623        '''
24624         Version is a read only sdm binary version uploaded by the gateway process
24625         when it comes online.
24626        '''
24627
24628    def __repr__(self):
24629        return '<sdm.Relay ' + \
24630            'device: ' + repr(self.device) + ' ' +\
24631            'gateway_filter: ' + repr(self.gateway_filter) + ' ' +\
24632            'id: ' + repr(self.id) + ' ' +\
24633            'location: ' + repr(self.location) + ' ' +\
24634            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
24635            'name: ' + repr(self.name) + ' ' +\
24636            'state: ' + repr(self.state) + ' ' +\
24637            'tags: ' + repr(self.tags) + ' ' +\
24638            'version: ' + repr(self.version) + ' ' +\
24639            '>'
24640
24641    def to_dict(self):
24642        return {
24643            'device': self.device,
24644            'gateway_filter': self.gateway_filter,
24645            'id': self.id,
24646            'location': self.location,
24647            'maintenance_windows': self.maintenance_windows,
24648            'name': self.name,
24649            'state': self.state,
24650            'tags': self.tags,
24651            'version': self.version,
24652        }
24653
24654    @classmethod
24655    def from_dict(cls, d):
24656        return cls(
24657            device=d.get('device'),
24658            gateway_filter=d.get('gateway_filter'),
24659            id=d.get('id'),
24660            location=d.get('location'),
24661            maintenance_windows=d.get('maintenance_windows'),
24662            name=d.get('name'),
24663            state=d.get('state'),
24664            tags=d.get('tags'),
24665            version=d.get('version'),
24666        )

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)
24564    def __init__(
24565        self,
24566        device=None,
24567        gateway_filter=None,
24568        id=None,
24569        location=None,
24570        maintenance_windows=None,
24571        name=None,
24572        state=None,
24573        tags=None,
24574        version=None,
24575    ):
24576        self.device = device if device is not None else ''
24577        '''
24578         Device is a read only device name uploaded by the gateway process when
24579         it comes online.
24580        '''
24581        self.gateway_filter = gateway_filter if gateway_filter is not None else ''
24582        '''
24583         GatewayFilter can be used to restrict the peering between relays and
24584         gateways. Deprecated.
24585        '''
24586        self.id = id if id is not None else ''
24587        '''
24588         Unique identifier of the Relay.
24589        '''
24590        self.location = location if location is not None else ''
24591        '''
24592         Location is a read only network location uploaded by the gateway process
24593         when it comes online.
24594        '''
24595        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
24596        '''
24597         Maintenance Windows define when this node is allowed to restart. If a node
24598         is requested to restart, it will check each window to determine if any of
24599         them permit it to restart, and if any do, it will. This check is repeated
24600         per window until the restart is successfully completed.
24601         
24602         If not set here, may be set on the command line or via an environment variable
24603         on the process itself; any server setting will take precedence over local
24604         settings. This setting is ineffective for nodes below version 38.44.0.
24605         
24606         If this setting is not applied via this remote configuration or via local
24607         configuration, the default setting is used: always allow restarts if serving
24608         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
24609        '''
24610        self.name = name if name is not None else ''
24611        '''
24612         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.
24613        '''
24614        self.state = state if state is not None else ''
24615        '''
24616         The current state of the relay, one of the NodeState constants.
24617        '''
24618        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24619        '''
24620         Tags is a map of key, value pairs.
24621        '''
24622        self.version = version if version is not None else ''
24623        '''
24624         Version is a read only sdm binary version uploaded by the gateway process
24625         when it comes online.
24626        '''
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)
24641    def to_dict(self):
24642        return {
24643            'device': self.device,
24644            'gateway_filter': self.gateway_filter,
24645            'id': self.id,
24646            'location': self.location,
24647            'maintenance_windows': self.maintenance_windows,
24648            'name': self.name,
24649            'state': self.state,
24650            'tags': self.tags,
24651            'version': self.version,
24652        }
@classmethod
def from_dict(cls, d)
24654    @classmethod
24655    def from_dict(cls, d):
24656        return cls(
24657            device=d.get('device'),
24658            gateway_filter=d.get('gateway_filter'),
24659            id=d.get('id'),
24660            location=d.get('location'),
24661            maintenance_windows=d.get('maintenance_windows'),
24662            name=d.get('name'),
24663            state=d.get('state'),
24664            tags=d.get('tags'),
24665            version=d.get('version'),
24666        )
class RemoteIdentity:
24669class RemoteIdentity:
24670    '''
24671         RemoteIdentities define the username to be used for a specific account
24672     when connecting to a remote resource using that group.
24673    '''
24674    __slots__ = [
24675        'account_id',
24676        'id',
24677        'remote_identity_group_id',
24678        'username',
24679    ]
24680
24681    def __init__(
24682        self,
24683        account_id=None,
24684        id=None,
24685        remote_identity_group_id=None,
24686        username=None,
24687    ):
24688        self.account_id = account_id if account_id is not None else ''
24689        '''
24690         The account for this remote identity.
24691        '''
24692        self.id = id if id is not None else ''
24693        '''
24694         Unique identifier of the RemoteIdentity.
24695        '''
24696        self.remote_identity_group_id = remote_identity_group_id if remote_identity_group_id is not None else ''
24697        '''
24698         The remote identity group.
24699        '''
24700        self.username = username if username is not None else ''
24701        '''
24702         The username to be used as the remote identity for this account.
24703        '''
24704
24705    def __repr__(self):
24706        return '<sdm.RemoteIdentity ' + \
24707            'account_id: ' + repr(self.account_id) + ' ' +\
24708            'id: ' + repr(self.id) + ' ' +\
24709            'remote_identity_group_id: ' + repr(self.remote_identity_group_id) + ' ' +\
24710            'username: ' + repr(self.username) + ' ' +\
24711            '>'
24712
24713    def to_dict(self):
24714        return {
24715            'account_id': self.account_id,
24716            'id': self.id,
24717            'remote_identity_group_id': self.remote_identity_group_id,
24718            'username': self.username,
24719        }
24720
24721    @classmethod
24722    def from_dict(cls, d):
24723        return cls(
24724            account_id=d.get('account_id'),
24725            id=d.get('id'),
24726            remote_identity_group_id=d.get('remote_identity_group_id'),
24727            username=d.get('username'),
24728        )

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)
24681    def __init__(
24682        self,
24683        account_id=None,
24684        id=None,
24685        remote_identity_group_id=None,
24686        username=None,
24687    ):
24688        self.account_id = account_id if account_id is not None else ''
24689        '''
24690         The account for this remote identity.
24691        '''
24692        self.id = id if id is not None else ''
24693        '''
24694         Unique identifier of the RemoteIdentity.
24695        '''
24696        self.remote_identity_group_id = remote_identity_group_id if remote_identity_group_id is not None else ''
24697        '''
24698         The remote identity group.
24699        '''
24700        self.username = username if username is not None else ''
24701        '''
24702         The username to be used as the remote identity for this account.
24703        '''
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)
24713    def to_dict(self):
24714        return {
24715            'account_id': self.account_id,
24716            'id': self.id,
24717            'remote_identity_group_id': self.remote_identity_group_id,
24718            'username': self.username,
24719        }
@classmethod
def from_dict(cls, d)
24721    @classmethod
24722    def from_dict(cls, d):
24723        return cls(
24724            account_id=d.get('account_id'),
24725            id=d.get('id'),
24726            remote_identity_group_id=d.get('remote_identity_group_id'),
24727            username=d.get('username'),
24728        )
class RemoteIdentityCreateResponse:
24731class RemoteIdentityCreateResponse:
24732    '''
24733         RemoteIdentityCreateResponse reports how the RemoteIdentities were created in the system.
24734    '''
24735    __slots__ = [
24736        'meta',
24737        'rate_limit',
24738        'remote_identity',
24739    ]
24740
24741    def __init__(
24742        self,
24743        meta=None,
24744        rate_limit=None,
24745        remote_identity=None,
24746    ):
24747        self.meta = meta if meta is not None else None
24748        '''
24749         Reserved for future use.
24750        '''
24751        self.rate_limit = rate_limit if rate_limit is not None else None
24752        '''
24753         Rate limit information.
24754        '''
24755        self.remote_identity = remote_identity if remote_identity is not None else None
24756        '''
24757         The created RemoteIdentity.
24758        '''
24759
24760    def __repr__(self):
24761        return '<sdm.RemoteIdentityCreateResponse ' + \
24762            'meta: ' + repr(self.meta) + ' ' +\
24763            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24764            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
24765            '>'
24766
24767    def to_dict(self):
24768        return {
24769            'meta': self.meta,
24770            'rate_limit': self.rate_limit,
24771            'remote_identity': self.remote_identity,
24772        }
24773
24774    @classmethod
24775    def from_dict(cls, d):
24776        return cls(
24777            meta=d.get('meta'),
24778            rate_limit=d.get('rate_limit'),
24779            remote_identity=d.get('remote_identity'),
24780        )

RemoteIdentityCreateResponse reports how the RemoteIdentities were created in the system.

RemoteIdentityCreateResponse(meta=None, rate_limit=None, remote_identity=None)
24741    def __init__(
24742        self,
24743        meta=None,
24744        rate_limit=None,
24745        remote_identity=None,
24746    ):
24747        self.meta = meta if meta is not None else None
24748        '''
24749         Reserved for future use.
24750        '''
24751        self.rate_limit = rate_limit if rate_limit is not None else None
24752        '''
24753         Rate limit information.
24754        '''
24755        self.remote_identity = remote_identity if remote_identity is not None else None
24756        '''
24757         The created RemoteIdentity.
24758        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

remote_identity

The created RemoteIdentity.

def to_dict(self)
24767    def to_dict(self):
24768        return {
24769            'meta': self.meta,
24770            'rate_limit': self.rate_limit,
24771            'remote_identity': self.remote_identity,
24772        }
@classmethod
def from_dict(cls, d)
24774    @classmethod
24775    def from_dict(cls, d):
24776        return cls(
24777            meta=d.get('meta'),
24778            rate_limit=d.get('rate_limit'),
24779            remote_identity=d.get('remote_identity'),
24780        )
class RemoteIdentityDeleteResponse:
24783class RemoteIdentityDeleteResponse:
24784    '''
24785         RemoteIdentityDeleteResponse returns information about a RemoteIdentity that was deleted.
24786    '''
24787    __slots__ = [
24788        'meta',
24789        'rate_limit',
24790    ]
24791
24792    def __init__(
24793        self,
24794        meta=None,
24795        rate_limit=None,
24796    ):
24797        self.meta = meta if meta is not None else None
24798        '''
24799         Reserved for future use.
24800        '''
24801        self.rate_limit = rate_limit if rate_limit is not None else None
24802        '''
24803         Rate limit information.
24804        '''
24805
24806    def __repr__(self):
24807        return '<sdm.RemoteIdentityDeleteResponse ' + \
24808            'meta: ' + repr(self.meta) + ' ' +\
24809            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24810            '>'
24811
24812    def to_dict(self):
24813        return {
24814            'meta': self.meta,
24815            'rate_limit': self.rate_limit,
24816        }
24817
24818    @classmethod
24819    def from_dict(cls, d):
24820        return cls(
24821            meta=d.get('meta'),
24822            rate_limit=d.get('rate_limit'),
24823        )

RemoteIdentityDeleteResponse returns information about a RemoteIdentity that was deleted.

RemoteIdentityDeleteResponse(meta=None, rate_limit=None)
24792    def __init__(
24793        self,
24794        meta=None,
24795        rate_limit=None,
24796    ):
24797        self.meta = meta if meta is not None else None
24798        '''
24799         Reserved for future use.
24800        '''
24801        self.rate_limit = rate_limit if rate_limit is not None else None
24802        '''
24803         Rate limit information.
24804        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
24812    def to_dict(self):
24813        return {
24814            'meta': self.meta,
24815            'rate_limit': self.rate_limit,
24816        }
@classmethod
def from_dict(cls, d)
24818    @classmethod
24819    def from_dict(cls, d):
24820        return cls(
24821            meta=d.get('meta'),
24822            rate_limit=d.get('rate_limit'),
24823        )
class RemoteIdentityGetResponse:
24826class RemoteIdentityGetResponse:
24827    '''
24828         RemoteIdentityGetResponse returns a requested RemoteIdentity.
24829    '''
24830    __slots__ = [
24831        'meta',
24832        'rate_limit',
24833        'remote_identity',
24834    ]
24835
24836    def __init__(
24837        self,
24838        meta=None,
24839        rate_limit=None,
24840        remote_identity=None,
24841    ):
24842        self.meta = meta if meta is not None else None
24843        '''
24844         Reserved for future use.
24845        '''
24846        self.rate_limit = rate_limit if rate_limit is not None else None
24847        '''
24848         Rate limit information.
24849        '''
24850        self.remote_identity = remote_identity if remote_identity is not None else None
24851        '''
24852         The requested RemoteIdentity.
24853        '''
24854
24855    def __repr__(self):
24856        return '<sdm.RemoteIdentityGetResponse ' + \
24857            'meta: ' + repr(self.meta) + ' ' +\
24858            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24859            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
24860            '>'
24861
24862    def to_dict(self):
24863        return {
24864            'meta': self.meta,
24865            'rate_limit': self.rate_limit,
24866            'remote_identity': self.remote_identity,
24867        }
24868
24869    @classmethod
24870    def from_dict(cls, d):
24871        return cls(
24872            meta=d.get('meta'),
24873            rate_limit=d.get('rate_limit'),
24874            remote_identity=d.get('remote_identity'),
24875        )

RemoteIdentityGetResponse returns a requested RemoteIdentity.

RemoteIdentityGetResponse(meta=None, rate_limit=None, remote_identity=None)
24836    def __init__(
24837        self,
24838        meta=None,
24839        rate_limit=None,
24840        remote_identity=None,
24841    ):
24842        self.meta = meta if meta is not None else None
24843        '''
24844         Reserved for future use.
24845        '''
24846        self.rate_limit = rate_limit if rate_limit is not None else None
24847        '''
24848         Rate limit information.
24849        '''
24850        self.remote_identity = remote_identity if remote_identity is not None else None
24851        '''
24852         The requested RemoteIdentity.
24853        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

remote_identity

The requested RemoteIdentity.

def to_dict(self)
24862    def to_dict(self):
24863        return {
24864            'meta': self.meta,
24865            'rate_limit': self.rate_limit,
24866            'remote_identity': self.remote_identity,
24867        }
@classmethod
def from_dict(cls, d)
24869    @classmethod
24870    def from_dict(cls, d):
24871        return cls(
24872            meta=d.get('meta'),
24873            rate_limit=d.get('rate_limit'),
24874            remote_identity=d.get('remote_identity'),
24875        )
class RemoteIdentityGroup:
24878class RemoteIdentityGroup:
24879    '''
24880         A RemoteIdentityGroup defines a group of remote identities.
24881    '''
24882    __slots__ = [
24883        'id',
24884        'name',
24885    ]
24886
24887    def __init__(
24888        self,
24889        id=None,
24890        name=None,
24891    ):
24892        self.id = id if id is not None else ''
24893        '''
24894         Unique identifier of the RemoteIdentityGroup.
24895        '''
24896        self.name = name if name is not None else ''
24897        '''
24898         Unique human-readable name of the RemoteIdentityGroup.
24899        '''
24900
24901    def __repr__(self):
24902        return '<sdm.RemoteIdentityGroup ' + \
24903            'id: ' + repr(self.id) + ' ' +\
24904            'name: ' + repr(self.name) + ' ' +\
24905            '>'
24906
24907    def to_dict(self):
24908        return {
24909            'id': self.id,
24910            'name': self.name,
24911        }
24912
24913    @classmethod
24914    def from_dict(cls, d):
24915        return cls(
24916            id=d.get('id'),
24917            name=d.get('name'),
24918        )

A RemoteIdentityGroup defines a group of remote identities.

RemoteIdentityGroup(id=None, name=None)
24887    def __init__(
24888        self,
24889        id=None,
24890        name=None,
24891    ):
24892        self.id = id if id is not None else ''
24893        '''
24894         Unique identifier of the RemoteIdentityGroup.
24895        '''
24896        self.name = name if name is not None else ''
24897        '''
24898         Unique human-readable name of the RemoteIdentityGroup.
24899        '''
id

Unique identifier of the RemoteIdentityGroup.

name

Unique human-readable name of the RemoteIdentityGroup.

def to_dict(self)
24907    def to_dict(self):
24908        return {
24909            'id': self.id,
24910            'name': self.name,
24911        }
@classmethod
def from_dict(cls, d)
24913    @classmethod
24914    def from_dict(cls, d):
24915        return cls(
24916            id=d.get('id'),
24917            name=d.get('name'),
24918        )
class RemoteIdentityGroupGetResponse:
24921class RemoteIdentityGroupGetResponse:
24922    '''
24923         RemoteIdentityGroupGetResponse returns a requested RemoteIdentityGroup.
24924    '''
24925    __slots__ = [
24926        'meta',
24927        'rate_limit',
24928        'remote_identity_group',
24929    ]
24930
24931    def __init__(
24932        self,
24933        meta=None,
24934        rate_limit=None,
24935        remote_identity_group=None,
24936    ):
24937        self.meta = meta if meta is not None else None
24938        '''
24939         Reserved for future use.
24940        '''
24941        self.rate_limit = rate_limit if rate_limit is not None else None
24942        '''
24943         Rate limit information.
24944        '''
24945        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
24946        '''
24947         The requested RemoteIdentityGroup.
24948        '''
24949
24950    def __repr__(self):
24951        return '<sdm.RemoteIdentityGroupGetResponse ' + \
24952            'meta: ' + repr(self.meta) + ' ' +\
24953            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24954            'remote_identity_group: ' + repr(self.remote_identity_group) + ' ' +\
24955            '>'
24956
24957    def to_dict(self):
24958        return {
24959            'meta': self.meta,
24960            'rate_limit': self.rate_limit,
24961            'remote_identity_group': self.remote_identity_group,
24962        }
24963
24964    @classmethod
24965    def from_dict(cls, d):
24966        return cls(
24967            meta=d.get('meta'),
24968            rate_limit=d.get('rate_limit'),
24969            remote_identity_group=d.get('remote_identity_group'),
24970        )

RemoteIdentityGroupGetResponse returns a requested RemoteIdentityGroup.

RemoteIdentityGroupGetResponse(meta=None, rate_limit=None, remote_identity_group=None)
24931    def __init__(
24932        self,
24933        meta=None,
24934        rate_limit=None,
24935        remote_identity_group=None,
24936    ):
24937        self.meta = meta if meta is not None else None
24938        '''
24939         Reserved for future use.
24940        '''
24941        self.rate_limit = rate_limit if rate_limit is not None else None
24942        '''
24943         Rate limit information.
24944        '''
24945        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
24946        '''
24947         The requested RemoteIdentityGroup.
24948        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

remote_identity_group

The requested RemoteIdentityGroup.

def to_dict(self)
24957    def to_dict(self):
24958        return {
24959            'meta': self.meta,
24960            'rate_limit': self.rate_limit,
24961            'remote_identity_group': self.remote_identity_group,
24962        }
@classmethod
def from_dict(cls, d)
24964    @classmethod
24965    def from_dict(cls, d):
24966        return cls(
24967            meta=d.get('meta'),
24968            rate_limit=d.get('rate_limit'),
24969            remote_identity_group=d.get('remote_identity_group'),
24970        )
class RemoteIdentityGroupHistory:
24973class RemoteIdentityGroupHistory:
24974    '''
24975         RemoteIdentityGroupHistory records the state of a RemoteIdentityGroup at a given point in time,
24976     where every change (create, update and delete) to a RemoteIdentityGroup produces an
24977     RemoteIdentityGroupHistory record.
24978    '''
24979    __slots__ = [
24980        'activity_id',
24981        'deleted_at',
24982        'remote_identity_group',
24983        'timestamp',
24984    ]
24985
24986    def __init__(
24987        self,
24988        activity_id=None,
24989        deleted_at=None,
24990        remote_identity_group=None,
24991        timestamp=None,
24992    ):
24993        self.activity_id = activity_id if activity_id is not None else ''
24994        '''
24995         The unique identifier of the Activity that produced this change to the RemoteIdentityGroup.
24996         May be empty for some system-initiated updates.
24997        '''
24998        self.deleted_at = deleted_at if deleted_at is not None else None
24999        '''
25000         If this RemoteIdentityGroup was deleted, the time it was deleted.
25001        '''
25002        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
25003        '''
25004         The complete RemoteIdentityGroup state at this time.
25005        '''
25006        self.timestamp = timestamp if timestamp is not None else None
25007        '''
25008         The time at which the RemoteIdentityGroup state was recorded.
25009        '''
25010
25011    def __repr__(self):
25012        return '<sdm.RemoteIdentityGroupHistory ' + \
25013            'activity_id: ' + repr(self.activity_id) + ' ' +\
25014            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
25015            'remote_identity_group: ' + repr(self.remote_identity_group) + ' ' +\
25016            'timestamp: ' + repr(self.timestamp) + ' ' +\
25017            '>'
25018
25019    def to_dict(self):
25020        return {
25021            'activity_id': self.activity_id,
25022            'deleted_at': self.deleted_at,
25023            'remote_identity_group': self.remote_identity_group,
25024            'timestamp': self.timestamp,
25025        }
25026
25027    @classmethod
25028    def from_dict(cls, d):
25029        return cls(
25030            activity_id=d.get('activity_id'),
25031            deleted_at=d.get('deleted_at'),
25032            remote_identity_group=d.get('remote_identity_group'),
25033            timestamp=d.get('timestamp'),
25034        )

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)
24986    def __init__(
24987        self,
24988        activity_id=None,
24989        deleted_at=None,
24990        remote_identity_group=None,
24991        timestamp=None,
24992    ):
24993        self.activity_id = activity_id if activity_id is not None else ''
24994        '''
24995         The unique identifier of the Activity that produced this change to the RemoteIdentityGroup.
24996         May be empty for some system-initiated updates.
24997        '''
24998        self.deleted_at = deleted_at if deleted_at is not None else None
24999        '''
25000         If this RemoteIdentityGroup was deleted, the time it was deleted.
25001        '''
25002        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
25003        '''
25004         The complete RemoteIdentityGroup state at this time.
25005        '''
25006        self.timestamp = timestamp if timestamp is not None else None
25007        '''
25008         The time at which the RemoteIdentityGroup state was recorded.
25009        '''
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)
25019    def to_dict(self):
25020        return {
25021            'activity_id': self.activity_id,
25022            'deleted_at': self.deleted_at,
25023            'remote_identity_group': self.remote_identity_group,
25024            'timestamp': self.timestamp,
25025        }
@classmethod
def from_dict(cls, d)
25027    @classmethod
25028    def from_dict(cls, d):
25029        return cls(
25030            activity_id=d.get('activity_id'),
25031            deleted_at=d.get('deleted_at'),
25032            remote_identity_group=d.get('remote_identity_group'),
25033            timestamp=d.get('timestamp'),
25034        )
class RemoteIdentityHistory:
25037class RemoteIdentityHistory:
25038    '''
25039         RemoteIdentityHistory records the state of a RemoteIdentity at a given point in time,
25040     where every change (create, update and delete) to a RemoteIdentity produces an
25041     RemoteIdentityHistory record.
25042    '''
25043    __slots__ = [
25044        'activity_id',
25045        'deleted_at',
25046        'remote_identity',
25047        'timestamp',
25048    ]
25049
25050    def __init__(
25051        self,
25052        activity_id=None,
25053        deleted_at=None,
25054        remote_identity=None,
25055        timestamp=None,
25056    ):
25057        self.activity_id = activity_id if activity_id is not None else ''
25058        '''
25059         The unique identifier of the Activity that produced this change to the RemoteIdentity.
25060         May be empty for some system-initiated updates.
25061        '''
25062        self.deleted_at = deleted_at if deleted_at is not None else None
25063        '''
25064         If this RemoteIdentity was deleted, the time it was deleted.
25065        '''
25066        self.remote_identity = remote_identity if remote_identity is not None else None
25067        '''
25068         The complete RemoteIdentity state at this time.
25069        '''
25070        self.timestamp = timestamp if timestamp is not None else None
25071        '''
25072         The time at which the RemoteIdentity state was recorded.
25073        '''
25074
25075    def __repr__(self):
25076        return '<sdm.RemoteIdentityHistory ' + \
25077            'activity_id: ' + repr(self.activity_id) + ' ' +\
25078            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
25079            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
25080            'timestamp: ' + repr(self.timestamp) + ' ' +\
25081            '>'
25082
25083    def to_dict(self):
25084        return {
25085            'activity_id': self.activity_id,
25086            'deleted_at': self.deleted_at,
25087            'remote_identity': self.remote_identity,
25088            'timestamp': self.timestamp,
25089        }
25090
25091    @classmethod
25092    def from_dict(cls, d):
25093        return cls(
25094            activity_id=d.get('activity_id'),
25095            deleted_at=d.get('deleted_at'),
25096            remote_identity=d.get('remote_identity'),
25097            timestamp=d.get('timestamp'),
25098        )

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)
25050    def __init__(
25051        self,
25052        activity_id=None,
25053        deleted_at=None,
25054        remote_identity=None,
25055        timestamp=None,
25056    ):
25057        self.activity_id = activity_id if activity_id is not None else ''
25058        '''
25059         The unique identifier of the Activity that produced this change to the RemoteIdentity.
25060         May be empty for some system-initiated updates.
25061        '''
25062        self.deleted_at = deleted_at if deleted_at is not None else None
25063        '''
25064         If this RemoteIdentity was deleted, the time it was deleted.
25065        '''
25066        self.remote_identity = remote_identity if remote_identity is not None else None
25067        '''
25068         The complete RemoteIdentity state at this time.
25069        '''
25070        self.timestamp = timestamp if timestamp is not None else None
25071        '''
25072         The time at which the RemoteIdentity state was recorded.
25073        '''
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)
25083    def to_dict(self):
25084        return {
25085            'activity_id': self.activity_id,
25086            'deleted_at': self.deleted_at,
25087            'remote_identity': self.remote_identity,
25088            'timestamp': self.timestamp,
25089        }
@classmethod
def from_dict(cls, d)
25091    @classmethod
25092    def from_dict(cls, d):
25093        return cls(
25094            activity_id=d.get('activity_id'),
25095            deleted_at=d.get('deleted_at'),
25096            remote_identity=d.get('remote_identity'),
25097            timestamp=d.get('timestamp'),
25098        )
class RemoteIdentityUpdateResponse:
25101class RemoteIdentityUpdateResponse:
25102    '''
25103         RemoteIdentityUpdateResponse returns the fields of a RemoteIdentity after it has been updated by
25104     a RemoteIdentityUpdateRequest.
25105    '''
25106    __slots__ = [
25107        'meta',
25108        'rate_limit',
25109        'remote_identity',
25110    ]
25111
25112    def __init__(
25113        self,
25114        meta=None,
25115        rate_limit=None,
25116        remote_identity=None,
25117    ):
25118        self.meta = meta if meta is not None else None
25119        '''
25120         Reserved for future use.
25121        '''
25122        self.rate_limit = rate_limit if rate_limit is not None else None
25123        '''
25124         Rate limit information.
25125        '''
25126        self.remote_identity = remote_identity if remote_identity is not None else None
25127        '''
25128         The updated RemoteIdentity.
25129        '''
25130
25131    def __repr__(self):
25132        return '<sdm.RemoteIdentityUpdateResponse ' + \
25133            'meta: ' + repr(self.meta) + ' ' +\
25134            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25135            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
25136            '>'
25137
25138    def to_dict(self):
25139        return {
25140            'meta': self.meta,
25141            'rate_limit': self.rate_limit,
25142            'remote_identity': self.remote_identity,
25143        }
25144
25145    @classmethod
25146    def from_dict(cls, d):
25147        return cls(
25148            meta=d.get('meta'),
25149            rate_limit=d.get('rate_limit'),
25150            remote_identity=d.get('remote_identity'),
25151        )

RemoteIdentityUpdateResponse returns the fields of a RemoteIdentity after it has been updated by a RemoteIdentityUpdateRequest.

RemoteIdentityUpdateResponse(meta=None, rate_limit=None, remote_identity=None)
25112    def __init__(
25113        self,
25114        meta=None,
25115        rate_limit=None,
25116        remote_identity=None,
25117    ):
25118        self.meta = meta if meta is not None else None
25119        '''
25120         Reserved for future use.
25121        '''
25122        self.rate_limit = rate_limit if rate_limit is not None else None
25123        '''
25124         Rate limit information.
25125        '''
25126        self.remote_identity = remote_identity if remote_identity is not None else None
25127        '''
25128         The updated RemoteIdentity.
25129        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

remote_identity

The updated RemoteIdentity.

def to_dict(self)
25138    def to_dict(self):
25139        return {
25140            'meta': self.meta,
25141            'rate_limit': self.rate_limit,
25142            'remote_identity': self.remote_identity,
25143        }
@classmethod
def from_dict(cls, d)
25145    @classmethod
25146    def from_dict(cls, d):
25147        return cls(
25148            meta=d.get('meta'),
25149            rate_limit=d.get('rate_limit'),
25150            remote_identity=d.get('remote_identity'),
25151        )
class ReplayChunk:
25154class ReplayChunk:
25155    '''
25156         A ReplayChunk represents a single "chunk" of data from the query replay.
25157    '''
25158    __slots__ = [
25159        'data',
25160        'events',
25161        'symmetric_key',
25162    ]
25163
25164    def __init__(
25165        self,
25166        data=None,
25167        events=None,
25168        symmetric_key=None,
25169    ):
25170        self.data = data if data is not None else b''
25171        '''
25172         The raw data of the ReplayChunk. The data is encrypted if the associated Query is encrypted.
25173        '''
25174        self.events = events if events is not None else []
25175        '''
25176         The list of events of the ReplayChunk. If the Query is encrypted, this field is always empty
25177         and the events can be obtained by decrypting the data using the QueryKey returned with the Query.
25178        '''
25179        self.symmetric_key = symmetric_key if symmetric_key is not None else ''
25180        '''
25181         If the data is encrypted, this contains the encrypted symmetric key
25182        '''
25183
25184    def __repr__(self):
25185        return '<sdm.ReplayChunk ' + \
25186            'data: ' + repr(self.data) + ' ' +\
25187            'events: ' + repr(self.events) + ' ' +\
25188            'symmetric_key: ' + repr(self.symmetric_key) + ' ' +\
25189            '>'
25190
25191    def to_dict(self):
25192        return {
25193            'data': self.data,
25194            'events': self.events,
25195            'symmetric_key': self.symmetric_key,
25196        }
25197
25198    @classmethod
25199    def from_dict(cls, d):
25200        return cls(
25201            data=d.get('data'),
25202            events=d.get('events'),
25203            symmetric_key=d.get('symmetric_key'),
25204        )

A ReplayChunk represents a single "chunk" of data from the query replay.

ReplayChunk(data=None, events=None, symmetric_key=None)
25164    def __init__(
25165        self,
25166        data=None,
25167        events=None,
25168        symmetric_key=None,
25169    ):
25170        self.data = data if data is not None else b''
25171        '''
25172         The raw data of the ReplayChunk. The data is encrypted if the associated Query is encrypted.
25173        '''
25174        self.events = events if events is not None else []
25175        '''
25176         The list of events of the ReplayChunk. If the Query is encrypted, this field is always empty
25177         and the events can be obtained by decrypting the data using the QueryKey returned with the Query.
25178        '''
25179        self.symmetric_key = symmetric_key if symmetric_key is not None else ''
25180        '''
25181         If the data is encrypted, this contains the encrypted symmetric key
25182        '''
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)
25191    def to_dict(self):
25192        return {
25193            'data': self.data,
25194            'events': self.events,
25195            'symmetric_key': self.symmetric_key,
25196        }
@classmethod
def from_dict(cls, d)
25198    @classmethod
25199    def from_dict(cls, d):
25200        return cls(
25201            data=d.get('data'),
25202            events=d.get('events'),
25203            symmetric_key=d.get('symmetric_key'),
25204        )
class ReplayChunkEvent:
25207class ReplayChunkEvent:
25208    '''
25209         A ReplayChunkEvent represents a single event within a query replay.
25210     The timing information included in each ReplayChunkEvent may be used to replay a session in real time.
25211    '''
25212    __slots__ = [
25213        'data',
25214        'duration',
25215    ]
25216
25217    def __init__(
25218        self,
25219        data=None,
25220        duration=None,
25221    ):
25222        self.data = data if data is not None else b''
25223        '''
25224         The raw data of the ReplayChunkEvent.
25225        '''
25226        self.duration = duration if duration is not None else None
25227        '''
25228         The time duration over which the data in this ReplayChunkEvent was transferred.
25229        '''
25230
25231    def __repr__(self):
25232        return '<sdm.ReplayChunkEvent ' + \
25233            'data: ' + repr(self.data) + ' ' +\
25234            'duration: ' + repr(self.duration) + ' ' +\
25235            '>'
25236
25237    def to_dict(self):
25238        return {
25239            'data': self.data,
25240            'duration': self.duration,
25241        }
25242
25243    @classmethod
25244    def from_dict(cls, d):
25245        return cls(
25246            data=d.get('data'),
25247            duration=d.get('duration'),
25248        )

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)
25217    def __init__(
25218        self,
25219        data=None,
25220        duration=None,
25221    ):
25222        self.data = data if data is not None else b''
25223        '''
25224         The raw data of the ReplayChunkEvent.
25225        '''
25226        self.duration = duration if duration is not None else None
25227        '''
25228         The time duration over which the data in this ReplayChunkEvent was transferred.
25229        '''
data

The raw data of the ReplayChunkEvent.

duration

The time duration over which the data in this ReplayChunkEvent was transferred.

def to_dict(self)
25237    def to_dict(self):
25238        return {
25239            'data': self.data,
25240            'duration': self.duration,
25241        }
@classmethod
def from_dict(cls, d)
25243    @classmethod
25244    def from_dict(cls, d):
25245        return cls(
25246            data=d.get('data'),
25247            duration=d.get('duration'),
25248        )
class RequestableResource:
25251class RequestableResource:
25252    '''
25253         RequestableResource is a resource that can be requested via an AccessRequestConfig
25254    '''
25255    __slots__ = [
25256        'access',
25257        'authentication',
25258        'healthy',
25259        'id',
25260        'name',
25261        'tags',
25262        'type',
25263    ]
25264
25265    def __init__(
25266        self,
25267        access=None,
25268        authentication=None,
25269        healthy=None,
25270        id=None,
25271        name=None,
25272        tags=None,
25273        type=None,
25274    ):
25275        self.access = access if access is not None else ''
25276        '''
25277         The current state of the user's access to the resources
25278        '''
25279        self.authentication = authentication if authentication is not None else ''
25280        '''
25281         The type of authentication for the resource
25282        '''
25283        self.healthy = healthy if healthy is not None else False
25284        '''
25285         The health check status of the reasource
25286        '''
25287        self.id = id if id is not None else ''
25288        '''
25289         The resource id.
25290        '''
25291        self.name = name if name is not None else ''
25292        '''
25293         The resource name.
25294        '''
25295        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25296        '''
25297         Any tags attached to this resource
25298        '''
25299        self.type = type if type is not None else ''
25300        '''
25301         The resource type
25302        '''
25303
25304    def __repr__(self):
25305        return '<sdm.RequestableResource ' + \
25306            'access: ' + repr(self.access) + ' ' +\
25307            'authentication: ' + repr(self.authentication) + ' ' +\
25308            'healthy: ' + repr(self.healthy) + ' ' +\
25309            'id: ' + repr(self.id) + ' ' +\
25310            'name: ' + repr(self.name) + ' ' +\
25311            'tags: ' + repr(self.tags) + ' ' +\
25312            'type: ' + repr(self.type) + ' ' +\
25313            '>'
25314
25315    def to_dict(self):
25316        return {
25317            'access': self.access,
25318            'authentication': self.authentication,
25319            'healthy': self.healthy,
25320            'id': self.id,
25321            'name': self.name,
25322            'tags': self.tags,
25323            'type': self.type,
25324        }
25325
25326    @classmethod
25327    def from_dict(cls, d):
25328        return cls(
25329            access=d.get('access'),
25330            authentication=d.get('authentication'),
25331            healthy=d.get('healthy'),
25332            id=d.get('id'),
25333            name=d.get('name'),
25334            tags=d.get('tags'),
25335            type=d.get('type'),
25336        )

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)
25265    def __init__(
25266        self,
25267        access=None,
25268        authentication=None,
25269        healthy=None,
25270        id=None,
25271        name=None,
25272        tags=None,
25273        type=None,
25274    ):
25275        self.access = access if access is not None else ''
25276        '''
25277         The current state of the user's access to the resources
25278        '''
25279        self.authentication = authentication if authentication is not None else ''
25280        '''
25281         The type of authentication for the resource
25282        '''
25283        self.healthy = healthy if healthy is not None else False
25284        '''
25285         The health check status of the reasource
25286        '''
25287        self.id = id if id is not None else ''
25288        '''
25289         The resource id.
25290        '''
25291        self.name = name if name is not None else ''
25292        '''
25293         The resource name.
25294        '''
25295        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25296        '''
25297         Any tags attached to this resource
25298        '''
25299        self.type = type if type is not None else ''
25300        '''
25301         The resource type
25302        '''
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)
25315    def to_dict(self):
25316        return {
25317            'access': self.access,
25318            'authentication': self.authentication,
25319            'healthy': self.healthy,
25320            'id': self.id,
25321            'name': self.name,
25322            'tags': self.tags,
25323            'type': self.type,
25324        }
@classmethod
def from_dict(cls, d)
25326    @classmethod
25327    def from_dict(cls, d):
25328        return cls(
25329            access=d.get('access'),
25330            authentication=d.get('authentication'),
25331            healthy=d.get('healthy'),
25332            id=d.get('id'),
25333            name=d.get('name'),
25334            tags=d.get('tags'),
25335            type=d.get('type'),
25336        )
class ResourceCreateResponse:
25339class ResourceCreateResponse:
25340    '''
25341         ResourceCreateResponse reports how the Resources were created in the system.
25342    '''
25343    __slots__ = [
25344        'meta',
25345        'rate_limit',
25346        'resource',
25347    ]
25348
25349    def __init__(
25350        self,
25351        meta=None,
25352        rate_limit=None,
25353        resource=None,
25354    ):
25355        self.meta = meta if meta is not None else None
25356        '''
25357         Reserved for future use.
25358        '''
25359        self.rate_limit = rate_limit if rate_limit is not None else None
25360        '''
25361         Rate limit information.
25362        '''
25363        self.resource = resource if resource is not None else None
25364        '''
25365         The created Resource.
25366        '''
25367
25368    def __repr__(self):
25369        return '<sdm.ResourceCreateResponse ' + \
25370            'meta: ' + repr(self.meta) + ' ' +\
25371            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25372            'resource: ' + repr(self.resource) + ' ' +\
25373            '>'
25374
25375    def to_dict(self):
25376        return {
25377            'meta': self.meta,
25378            'rate_limit': self.rate_limit,
25379            'resource': self.resource,
25380        }
25381
25382    @classmethod
25383    def from_dict(cls, d):
25384        return cls(
25385            meta=d.get('meta'),
25386            rate_limit=d.get('rate_limit'),
25387            resource=d.get('resource'),
25388        )

ResourceCreateResponse reports how the Resources were created in the system.

ResourceCreateResponse(meta=None, rate_limit=None, resource=None)
25349    def __init__(
25350        self,
25351        meta=None,
25352        rate_limit=None,
25353        resource=None,
25354    ):
25355        self.meta = meta if meta is not None else None
25356        '''
25357         Reserved for future use.
25358        '''
25359        self.rate_limit = rate_limit if rate_limit is not None else None
25360        '''
25361         Rate limit information.
25362        '''
25363        self.resource = resource if resource is not None else None
25364        '''
25365         The created Resource.
25366        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

resource

The created Resource.

def to_dict(self)
25375    def to_dict(self):
25376        return {
25377            'meta': self.meta,
25378            'rate_limit': self.rate_limit,
25379            'resource': self.resource,
25380        }
@classmethod
def from_dict(cls, d)
25382    @classmethod
25383    def from_dict(cls, d):
25384        return cls(
25385            meta=d.get('meta'),
25386            rate_limit=d.get('rate_limit'),
25387            resource=d.get('resource'),
25388        )
class ResourceDeleteResponse:
25391class ResourceDeleteResponse:
25392    '''
25393         ResourceDeleteResponse returns information about a Resource that was deleted.
25394    '''
25395    __slots__ = [
25396        'meta',
25397        'rate_limit',
25398    ]
25399
25400    def __init__(
25401        self,
25402        meta=None,
25403        rate_limit=None,
25404    ):
25405        self.meta = meta if meta is not None else None
25406        '''
25407         Reserved for future use.
25408        '''
25409        self.rate_limit = rate_limit if rate_limit is not None else None
25410        '''
25411         Rate limit information.
25412        '''
25413
25414    def __repr__(self):
25415        return '<sdm.ResourceDeleteResponse ' + \
25416            'meta: ' + repr(self.meta) + ' ' +\
25417            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25418            '>'
25419
25420    def to_dict(self):
25421        return {
25422            'meta': self.meta,
25423            'rate_limit': self.rate_limit,
25424        }
25425
25426    @classmethod
25427    def from_dict(cls, d):
25428        return cls(
25429            meta=d.get('meta'),
25430            rate_limit=d.get('rate_limit'),
25431        )

ResourceDeleteResponse returns information about a Resource that was deleted.

ResourceDeleteResponse(meta=None, rate_limit=None)
25400    def __init__(
25401        self,
25402        meta=None,
25403        rate_limit=None,
25404    ):
25405        self.meta = meta if meta is not None else None
25406        '''
25407         Reserved for future use.
25408        '''
25409        self.rate_limit = rate_limit if rate_limit is not None else None
25410        '''
25411         Rate limit information.
25412        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
25420    def to_dict(self):
25421        return {
25422            'meta': self.meta,
25423            'rate_limit': self.rate_limit,
25424        }
@classmethod
def from_dict(cls, d)
25426    @classmethod
25427    def from_dict(cls, d):
25428        return cls(
25429            meta=d.get('meta'),
25430            rate_limit=d.get('rate_limit'),
25431        )
class ResourceGetResponse:
25434class ResourceGetResponse:
25435    '''
25436         ResourceGetResponse returns a requested Resource.
25437    '''
25438    __slots__ = [
25439        'meta',
25440        'rate_limit',
25441        'resource',
25442    ]
25443
25444    def __init__(
25445        self,
25446        meta=None,
25447        rate_limit=None,
25448        resource=None,
25449    ):
25450        self.meta = meta if meta is not None else None
25451        '''
25452         Reserved for future use.
25453        '''
25454        self.rate_limit = rate_limit if rate_limit is not None else None
25455        '''
25456         Rate limit information.
25457        '''
25458        self.resource = resource if resource is not None else None
25459        '''
25460         The requested Resource.
25461        '''
25462
25463    def __repr__(self):
25464        return '<sdm.ResourceGetResponse ' + \
25465            'meta: ' + repr(self.meta) + ' ' +\
25466            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25467            'resource: ' + repr(self.resource) + ' ' +\
25468            '>'
25469
25470    def to_dict(self):
25471        return {
25472            'meta': self.meta,
25473            'rate_limit': self.rate_limit,
25474            'resource': self.resource,
25475        }
25476
25477    @classmethod
25478    def from_dict(cls, d):
25479        return cls(
25480            meta=d.get('meta'),
25481            rate_limit=d.get('rate_limit'),
25482            resource=d.get('resource'),
25483        )

ResourceGetResponse returns a requested Resource.

ResourceGetResponse(meta=None, rate_limit=None, resource=None)
25444    def __init__(
25445        self,
25446        meta=None,
25447        rate_limit=None,
25448        resource=None,
25449    ):
25450        self.meta = meta if meta is not None else None
25451        '''
25452         Reserved for future use.
25453        '''
25454        self.rate_limit = rate_limit if rate_limit is not None else None
25455        '''
25456         Rate limit information.
25457        '''
25458        self.resource = resource if resource is not None else None
25459        '''
25460         The requested Resource.
25461        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

resource

The requested Resource.

def to_dict(self)
25470    def to_dict(self):
25471        return {
25472            'meta': self.meta,
25473            'rate_limit': self.rate_limit,
25474            'resource': self.resource,
25475        }
@classmethod
def from_dict(cls, d)
25477    @classmethod
25478    def from_dict(cls, d):
25479        return cls(
25480            meta=d.get('meta'),
25481            rate_limit=d.get('rate_limit'),
25482            resource=d.get('resource'),
25483        )
class ResourceHealthcheckRequest:
25486class ResourceHealthcheckRequest:
25487    '''
25488         ResourceHealthcheckRequest specifies requesting a healthcheck for a given resource by ID.
25489    '''
25490    __slots__ = [
25491        'id',
25492    ]
25493
25494    def __init__(
25495        self,
25496        id=None,
25497    ):
25498        self.id = id if id is not None else ''
25499        '''
25500         The unique identifier of the Resource to healthcheck.
25501        '''
25502
25503    def __repr__(self):
25504        return '<sdm.ResourceHealthcheckRequest ' + \
25505            'id: ' + repr(self.id) + ' ' +\
25506            '>'
25507
25508    def to_dict(self):
25509        return {
25510            'id': self.id,
25511        }
25512
25513    @classmethod
25514    def from_dict(cls, d):
25515        return cls(id=d.get('id'), )

ResourceHealthcheckRequest specifies requesting a healthcheck for a given resource by ID.

ResourceHealthcheckRequest(id=None)
25494    def __init__(
25495        self,
25496        id=None,
25497    ):
25498        self.id = id if id is not None else ''
25499        '''
25500         The unique identifier of the Resource to healthcheck.
25501        '''
id

The unique identifier of the Resource to healthcheck.

def to_dict(self)
25508    def to_dict(self):
25509        return {
25510            'id': self.id,
25511        }
@classmethod
def from_dict(cls, d)
25513    @classmethod
25514    def from_dict(cls, d):
25515        return cls(id=d.get('id'), )
class ResourceHealthcheckResponse:
25518class ResourceHealthcheckResponse:
25519    '''
25520         ResourceHealthcheckResponse reports any metadata concerning a healthcheck response.
25521     Healthchecks are non blocking, and this contains no non-metadata.
25522    '''
25523    __slots__ = [
25524        'meta',
25525        'rate_limit',
25526    ]
25527
25528    def __init__(
25529        self,
25530        meta=None,
25531        rate_limit=None,
25532    ):
25533        self.meta = meta if meta is not None else None
25534        '''
25535         Reserved for future use.
25536        '''
25537        self.rate_limit = rate_limit if rate_limit is not None else None
25538        '''
25539         Rate limit information.
25540        '''
25541
25542    def __repr__(self):
25543        return '<sdm.ResourceHealthcheckResponse ' + \
25544            'meta: ' + repr(self.meta) + ' ' +\
25545            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25546            '>'
25547
25548    def to_dict(self):
25549        return {
25550            'meta': self.meta,
25551            'rate_limit': self.rate_limit,
25552        }
25553
25554    @classmethod
25555    def from_dict(cls, d):
25556        return cls(
25557            meta=d.get('meta'),
25558            rate_limit=d.get('rate_limit'),
25559        )

ResourceHealthcheckResponse reports any metadata concerning a healthcheck response. Healthchecks are non blocking, and this contains no non-metadata.

ResourceHealthcheckResponse(meta=None, rate_limit=None)
25528    def __init__(
25529        self,
25530        meta=None,
25531        rate_limit=None,
25532    ):
25533        self.meta = meta if meta is not None else None
25534        '''
25535         Reserved for future use.
25536        '''
25537        self.rate_limit = rate_limit if rate_limit is not None else None
25538        '''
25539         Rate limit information.
25540        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
25548    def to_dict(self):
25549        return {
25550            'meta': self.meta,
25551            'rate_limit': self.rate_limit,
25552        }
@classmethod
def from_dict(cls, d)
25554    @classmethod
25555    def from_dict(cls, d):
25556        return cls(
25557            meta=d.get('meta'),
25558            rate_limit=d.get('rate_limit'),
25559        )
class ResourceHistory:
25562class ResourceHistory:
25563    '''
25564         ResourceHistory records the state of a Resource at a given point in time,
25565     where every change (create, update and delete) to a Resource produces an
25566     ResourceHistory record.
25567    '''
25568    __slots__ = [
25569        'activity_id',
25570        'deleted_at',
25571        'resource',
25572        'timestamp',
25573    ]
25574
25575    def __init__(
25576        self,
25577        activity_id=None,
25578        deleted_at=None,
25579        resource=None,
25580        timestamp=None,
25581    ):
25582        self.activity_id = activity_id if activity_id is not None else ''
25583        '''
25584         The unique identifier of the Activity that produced this change to the Resource.
25585         May be empty for some system-initiated updates.
25586        '''
25587        self.deleted_at = deleted_at if deleted_at is not None else None
25588        '''
25589         If this Resource was deleted, the time it was deleted.
25590        '''
25591        self.resource = resource if resource is not None else None
25592        '''
25593         The complete Resource state at this time.
25594        '''
25595        self.timestamp = timestamp if timestamp is not None else None
25596        '''
25597         The time at which the Resource state was recorded.
25598        '''
25599
25600    def __repr__(self):
25601        return '<sdm.ResourceHistory ' + \
25602            'activity_id: ' + repr(self.activity_id) + ' ' +\
25603            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
25604            'resource: ' + repr(self.resource) + ' ' +\
25605            'timestamp: ' + repr(self.timestamp) + ' ' +\
25606            '>'
25607
25608    def to_dict(self):
25609        return {
25610            'activity_id': self.activity_id,
25611            'deleted_at': self.deleted_at,
25612            'resource': self.resource,
25613            'timestamp': self.timestamp,
25614        }
25615
25616    @classmethod
25617    def from_dict(cls, d):
25618        return cls(
25619            activity_id=d.get('activity_id'),
25620            deleted_at=d.get('deleted_at'),
25621            resource=d.get('resource'),
25622            timestamp=d.get('timestamp'),
25623        )

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)
25575    def __init__(
25576        self,
25577        activity_id=None,
25578        deleted_at=None,
25579        resource=None,
25580        timestamp=None,
25581    ):
25582        self.activity_id = activity_id if activity_id is not None else ''
25583        '''
25584         The unique identifier of the Activity that produced this change to the Resource.
25585         May be empty for some system-initiated updates.
25586        '''
25587        self.deleted_at = deleted_at if deleted_at is not None else None
25588        '''
25589         If this Resource was deleted, the time it was deleted.
25590        '''
25591        self.resource = resource if resource is not None else None
25592        '''
25593         The complete Resource state at this time.
25594        '''
25595        self.timestamp = timestamp if timestamp is not None else None
25596        '''
25597         The time at which the Resource state was recorded.
25598        '''
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)
25608    def to_dict(self):
25609        return {
25610            'activity_id': self.activity_id,
25611            'deleted_at': self.deleted_at,
25612            'resource': self.resource,
25613            'timestamp': self.timestamp,
25614        }
@classmethod
def from_dict(cls, d)
25616    @classmethod
25617    def from_dict(cls, d):
25618        return cls(
25619            activity_id=d.get('activity_id'),
25620            deleted_at=d.get('deleted_at'),
25621            resource=d.get('resource'),
25622            timestamp=d.get('timestamp'),
25623        )
class ResourceUpdateResponse:
25626class ResourceUpdateResponse:
25627    '''
25628         ResourceUpdateResponse returns the fields of a Resource after it has been updated by
25629     a ResourceUpdateRequest.
25630    '''
25631    __slots__ = [
25632        'meta',
25633        'rate_limit',
25634        'resource',
25635    ]
25636
25637    def __init__(
25638        self,
25639        meta=None,
25640        rate_limit=None,
25641        resource=None,
25642    ):
25643        self.meta = meta if meta is not None else None
25644        '''
25645         Reserved for future use.
25646        '''
25647        self.rate_limit = rate_limit if rate_limit is not None else None
25648        '''
25649         Rate limit information.
25650        '''
25651        self.resource = resource if resource is not None else None
25652        '''
25653         The updated Resource.
25654        '''
25655
25656    def __repr__(self):
25657        return '<sdm.ResourceUpdateResponse ' + \
25658            'meta: ' + repr(self.meta) + ' ' +\
25659            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25660            'resource: ' + repr(self.resource) + ' ' +\
25661            '>'
25662
25663    def to_dict(self):
25664        return {
25665            'meta': self.meta,
25666            'rate_limit': self.rate_limit,
25667            'resource': self.resource,
25668        }
25669
25670    @classmethod
25671    def from_dict(cls, d):
25672        return cls(
25673            meta=d.get('meta'),
25674            rate_limit=d.get('rate_limit'),
25675            resource=d.get('resource'),
25676        )

ResourceUpdateResponse returns the fields of a Resource after it has been updated by a ResourceUpdateRequest.

ResourceUpdateResponse(meta=None, rate_limit=None, resource=None)
25637    def __init__(
25638        self,
25639        meta=None,
25640        rate_limit=None,
25641        resource=None,
25642    ):
25643        self.meta = meta if meta is not None else None
25644        '''
25645         Reserved for future use.
25646        '''
25647        self.rate_limit = rate_limit if rate_limit is not None else None
25648        '''
25649         Rate limit information.
25650        '''
25651        self.resource = resource if resource is not None else None
25652        '''
25653         The updated Resource.
25654        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

resource

The updated Resource.

def to_dict(self)
25663    def to_dict(self):
25664        return {
25665            'meta': self.meta,
25666            'rate_limit': self.rate_limit,
25667            'resource': self.resource,
25668        }
@classmethod
def from_dict(cls, d)
25670    @classmethod
25671    def from_dict(cls, d):
25672        return cls(
25673            meta=d.get('meta'),
25674            rate_limit=d.get('rate_limit'),
25675            resource=d.get('resource'),
25676        )
class Role:
25679class Role:
25680    '''
25681         A Role has a list of access rules which determine which Resources the members
25682     of the Role have access to. An Account can be a member of multiple Roles via
25683     AccountAttachments.
25684    '''
25685    __slots__ = [
25686        'access_rules',
25687        'id',
25688        'managed_by',
25689        'name',
25690        'tags',
25691    ]
25692
25693    def __init__(
25694        self,
25695        access_rules=None,
25696        id=None,
25697        managed_by=None,
25698        name=None,
25699        tags=None,
25700    ):
25701        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
25702        )
25703        '''
25704         AccessRules is a list of access rules defining the resources this Role has access to.
25705        '''
25706        self.id = id if id is not None else ''
25707        '''
25708         Unique identifier of the Role.
25709        '''
25710        self.managed_by = managed_by if managed_by is not None else ''
25711        '''
25712         Managed By is a read only field for what service manages this role, e.g. StrongDM, Okta, Azure.
25713        '''
25714        self.name = name if name is not None else ''
25715        '''
25716         Unique human-readable name of the Role.
25717        '''
25718        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25719        '''
25720         Tags is a map of key, value pairs.
25721        '''
25722
25723    def __repr__(self):
25724        return '<sdm.Role ' + \
25725            'access_rules: ' + repr(self.access_rules) + ' ' +\
25726            'id: ' + repr(self.id) + ' ' +\
25727            'managed_by: ' + repr(self.managed_by) + ' ' +\
25728            'name: ' + repr(self.name) + ' ' +\
25729            'tags: ' + repr(self.tags) + ' ' +\
25730            '>'
25731
25732    def to_dict(self):
25733        return {
25734            'access_rules': self.access_rules,
25735            'id': self.id,
25736            'managed_by': self.managed_by,
25737            'name': self.name,
25738            'tags': self.tags,
25739        }
25740
25741    @classmethod
25742    def from_dict(cls, d):
25743        return cls(
25744            access_rules=d.get('access_rules'),
25745            id=d.get('id'),
25746            managed_by=d.get('managed_by'),
25747            name=d.get('name'),
25748            tags=d.get('tags'),
25749        )

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)
25693    def __init__(
25694        self,
25695        access_rules=None,
25696        id=None,
25697        managed_by=None,
25698        name=None,
25699        tags=None,
25700    ):
25701        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
25702        )
25703        '''
25704         AccessRules is a list of access rules defining the resources this Role has access to.
25705        '''
25706        self.id = id if id is not None else ''
25707        '''
25708         Unique identifier of the Role.
25709        '''
25710        self.managed_by = managed_by if managed_by is not None else ''
25711        '''
25712         Managed By is a read only field for what service manages this role, e.g. StrongDM, Okta, Azure.
25713        '''
25714        self.name = name if name is not None else ''
25715        '''
25716         Unique human-readable name of the Role.
25717        '''
25718        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25719        '''
25720         Tags is a map of key, value pairs.
25721        '''
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)
25732    def to_dict(self):
25733        return {
25734            'access_rules': self.access_rules,
25735            'id': self.id,
25736            'managed_by': self.managed_by,
25737            'name': self.name,
25738            'tags': self.tags,
25739        }
@classmethod
def from_dict(cls, d)
25741    @classmethod
25742    def from_dict(cls, d):
25743        return cls(
25744            access_rules=d.get('access_rules'),
25745            id=d.get('id'),
25746            managed_by=d.get('managed_by'),
25747            name=d.get('name'),
25748            tags=d.get('tags'),
25749        )
class RoleCreateResponse:
25752class RoleCreateResponse:
25753    '''
25754         RoleCreateResponse reports how the Roles were created in the system. It can
25755     communicate partial successes or failures.
25756    '''
25757    __slots__ = [
25758        'meta',
25759        'rate_limit',
25760        'role',
25761    ]
25762
25763    def __init__(
25764        self,
25765        meta=None,
25766        rate_limit=None,
25767        role=None,
25768    ):
25769        self.meta = meta if meta is not None else None
25770        '''
25771         Reserved for future use.
25772        '''
25773        self.rate_limit = rate_limit if rate_limit is not None else None
25774        '''
25775         Rate limit information.
25776        '''
25777        self.role = role if role is not None else None
25778        '''
25779         The created Role.
25780        '''
25781
25782    def __repr__(self):
25783        return '<sdm.RoleCreateResponse ' + \
25784            'meta: ' + repr(self.meta) + ' ' +\
25785            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25786            'role: ' + repr(self.role) + ' ' +\
25787            '>'
25788
25789    def to_dict(self):
25790        return {
25791            'meta': self.meta,
25792            'rate_limit': self.rate_limit,
25793            'role': self.role,
25794        }
25795
25796    @classmethod
25797    def from_dict(cls, d):
25798        return cls(
25799            meta=d.get('meta'),
25800            rate_limit=d.get('rate_limit'),
25801            role=d.get('role'),
25802        )

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)
25763    def __init__(
25764        self,
25765        meta=None,
25766        rate_limit=None,
25767        role=None,
25768    ):
25769        self.meta = meta if meta is not None else None
25770        '''
25771         Reserved for future use.
25772        '''
25773        self.rate_limit = rate_limit if rate_limit is not None else None
25774        '''
25775         Rate limit information.
25776        '''
25777        self.role = role if role is not None else None
25778        '''
25779         The created Role.
25780        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

role

The created Role.

def to_dict(self)
25789    def to_dict(self):
25790        return {
25791            'meta': self.meta,
25792            'rate_limit': self.rate_limit,
25793            'role': self.role,
25794        }
@classmethod
def from_dict(cls, d)
25796    @classmethod
25797    def from_dict(cls, d):
25798        return cls(
25799            meta=d.get('meta'),
25800            rate_limit=d.get('rate_limit'),
25801            role=d.get('role'),
25802        )
class RoleDeleteResponse:
25805class RoleDeleteResponse:
25806    '''
25807         RoleDeleteResponse returns information about a Role that was deleted.
25808    '''
25809    __slots__ = [
25810        'meta',
25811        'rate_limit',
25812    ]
25813
25814    def __init__(
25815        self,
25816        meta=None,
25817        rate_limit=None,
25818    ):
25819        self.meta = meta if meta is not None else None
25820        '''
25821         Reserved for future use.
25822        '''
25823        self.rate_limit = rate_limit if rate_limit is not None else None
25824        '''
25825         Rate limit information.
25826        '''
25827
25828    def __repr__(self):
25829        return '<sdm.RoleDeleteResponse ' + \
25830            'meta: ' + repr(self.meta) + ' ' +\
25831            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25832            '>'
25833
25834    def to_dict(self):
25835        return {
25836            'meta': self.meta,
25837            'rate_limit': self.rate_limit,
25838        }
25839
25840    @classmethod
25841    def from_dict(cls, d):
25842        return cls(
25843            meta=d.get('meta'),
25844            rate_limit=d.get('rate_limit'),
25845        )

RoleDeleteResponse returns information about a Role that was deleted.

RoleDeleteResponse(meta=None, rate_limit=None)
25814    def __init__(
25815        self,
25816        meta=None,
25817        rate_limit=None,
25818    ):
25819        self.meta = meta if meta is not None else None
25820        '''
25821         Reserved for future use.
25822        '''
25823        self.rate_limit = rate_limit if rate_limit is not None else None
25824        '''
25825         Rate limit information.
25826        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
25834    def to_dict(self):
25835        return {
25836            'meta': self.meta,
25837            'rate_limit': self.rate_limit,
25838        }
@classmethod
def from_dict(cls, d)
25840    @classmethod
25841    def from_dict(cls, d):
25842        return cls(
25843            meta=d.get('meta'),
25844            rate_limit=d.get('rate_limit'),
25845        )
class RoleGetResponse:
25848class RoleGetResponse:
25849    '''
25850         RoleGetResponse returns a requested Role.
25851    '''
25852    __slots__ = [
25853        'meta',
25854        'rate_limit',
25855        'role',
25856    ]
25857
25858    def __init__(
25859        self,
25860        meta=None,
25861        rate_limit=None,
25862        role=None,
25863    ):
25864        self.meta = meta if meta is not None else None
25865        '''
25866         Reserved for future use.
25867        '''
25868        self.rate_limit = rate_limit if rate_limit is not None else None
25869        '''
25870         Rate limit information.
25871        '''
25872        self.role = role if role is not None else None
25873        '''
25874         The requested Role.
25875        '''
25876
25877    def __repr__(self):
25878        return '<sdm.RoleGetResponse ' + \
25879            'meta: ' + repr(self.meta) + ' ' +\
25880            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25881            'role: ' + repr(self.role) + ' ' +\
25882            '>'
25883
25884    def to_dict(self):
25885        return {
25886            'meta': self.meta,
25887            'rate_limit': self.rate_limit,
25888            'role': self.role,
25889        }
25890
25891    @classmethod
25892    def from_dict(cls, d):
25893        return cls(
25894            meta=d.get('meta'),
25895            rate_limit=d.get('rate_limit'),
25896            role=d.get('role'),
25897        )

RoleGetResponse returns a requested Role.

RoleGetResponse(meta=None, rate_limit=None, role=None)
25858    def __init__(
25859        self,
25860        meta=None,
25861        rate_limit=None,
25862        role=None,
25863    ):
25864        self.meta = meta if meta is not None else None
25865        '''
25866         Reserved for future use.
25867        '''
25868        self.rate_limit = rate_limit if rate_limit is not None else None
25869        '''
25870         Rate limit information.
25871        '''
25872        self.role = role if role is not None else None
25873        '''
25874         The requested Role.
25875        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

role

The requested Role.

def to_dict(self)
25884    def to_dict(self):
25885        return {
25886            'meta': self.meta,
25887            'rate_limit': self.rate_limit,
25888            'role': self.role,
25889        }
@classmethod
def from_dict(cls, d)
25891    @classmethod
25892    def from_dict(cls, d):
25893        return cls(
25894            meta=d.get('meta'),
25895            rate_limit=d.get('rate_limit'),
25896            role=d.get('role'),
25897        )
class RoleHistory:
25900class RoleHistory:
25901    '''
25902         RoleHistory records the state of a Role at a given point in time,
25903     where every change (create, update and delete) to a Role produces an
25904     RoleHistory record.
25905    '''
25906    __slots__ = [
25907        'activity_id',
25908        'deleted_at',
25909        'role',
25910        'timestamp',
25911    ]
25912
25913    def __init__(
25914        self,
25915        activity_id=None,
25916        deleted_at=None,
25917        role=None,
25918        timestamp=None,
25919    ):
25920        self.activity_id = activity_id if activity_id is not None else ''
25921        '''
25922         The unique identifier of the Activity that produced this change to the Role.
25923         May be empty for some system-initiated updates.
25924        '''
25925        self.deleted_at = deleted_at if deleted_at is not None else None
25926        '''
25927         If this Role was deleted, the time it was deleted.
25928        '''
25929        self.role = role if role is not None else None
25930        '''
25931         The complete Role state at this time.
25932        '''
25933        self.timestamp = timestamp if timestamp is not None else None
25934        '''
25935         The time at which the Role state was recorded.
25936        '''
25937
25938    def __repr__(self):
25939        return '<sdm.RoleHistory ' + \
25940            'activity_id: ' + repr(self.activity_id) + ' ' +\
25941            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
25942            'role: ' + repr(self.role) + ' ' +\
25943            'timestamp: ' + repr(self.timestamp) + ' ' +\
25944            '>'
25945
25946    def to_dict(self):
25947        return {
25948            'activity_id': self.activity_id,
25949            'deleted_at': self.deleted_at,
25950            'role': self.role,
25951            'timestamp': self.timestamp,
25952        }
25953
25954    @classmethod
25955    def from_dict(cls, d):
25956        return cls(
25957            activity_id=d.get('activity_id'),
25958            deleted_at=d.get('deleted_at'),
25959            role=d.get('role'),
25960            timestamp=d.get('timestamp'),
25961        )

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)
25913    def __init__(
25914        self,
25915        activity_id=None,
25916        deleted_at=None,
25917        role=None,
25918        timestamp=None,
25919    ):
25920        self.activity_id = activity_id if activity_id is not None else ''
25921        '''
25922         The unique identifier of the Activity that produced this change to the Role.
25923         May be empty for some system-initiated updates.
25924        '''
25925        self.deleted_at = deleted_at if deleted_at is not None else None
25926        '''
25927         If this Role was deleted, the time it was deleted.
25928        '''
25929        self.role = role if role is not None else None
25930        '''
25931         The complete Role state at this time.
25932        '''
25933        self.timestamp = timestamp if timestamp is not None else None
25934        '''
25935         The time at which the Role state was recorded.
25936        '''
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)
25946    def to_dict(self):
25947        return {
25948            'activity_id': self.activity_id,
25949            'deleted_at': self.deleted_at,
25950            'role': self.role,
25951            'timestamp': self.timestamp,
25952        }
@classmethod
def from_dict(cls, d)
25954    @classmethod
25955    def from_dict(cls, d):
25956        return cls(
25957            activity_id=d.get('activity_id'),
25958            deleted_at=d.get('deleted_at'),
25959            role=d.get('role'),
25960            timestamp=d.get('timestamp'),
25961        )
class RoleResource:
25964class RoleResource:
25965    '''
25966         RoleResource represents an individual access grant of a Role to a Resource.
25967    '''
25968    __slots__ = [
25969        'granted_at',
25970        'resource_id',
25971        'role_id',
25972    ]
25973
25974    def __init__(
25975        self,
25976        granted_at=None,
25977        resource_id=None,
25978        role_id=None,
25979    ):
25980        self.granted_at = granted_at if granted_at is not None else None
25981        '''
25982         The most recent time at which access was granted. If access was granted,
25983         revoked, and granted again, this will reflect the later time.
25984        '''
25985        self.resource_id = resource_id if resource_id is not None else ''
25986        '''
25987         The unique identifier of the Resource to which access is granted.
25988        '''
25989        self.role_id = role_id if role_id is not None else ''
25990        '''
25991         The unique identifier of the Role to which access is granted.
25992        '''
25993
25994    def __repr__(self):
25995        return '<sdm.RoleResource ' + \
25996            'granted_at: ' + repr(self.granted_at) + ' ' +\
25997            'resource_id: ' + repr(self.resource_id) + ' ' +\
25998            'role_id: ' + repr(self.role_id) + ' ' +\
25999            '>'
26000
26001    def to_dict(self):
26002        return {
26003            'granted_at': self.granted_at,
26004            'resource_id': self.resource_id,
26005            'role_id': self.role_id,
26006        }
26007
26008    @classmethod
26009    def from_dict(cls, d):
26010        return cls(
26011            granted_at=d.get('granted_at'),
26012            resource_id=d.get('resource_id'),
26013            role_id=d.get('role_id'),
26014        )

RoleResource represents an individual access grant of a Role to a Resource.

RoleResource(granted_at=None, resource_id=None, role_id=None)
25974    def __init__(
25975        self,
25976        granted_at=None,
25977        resource_id=None,
25978        role_id=None,
25979    ):
25980        self.granted_at = granted_at if granted_at is not None else None
25981        '''
25982         The most recent time at which access was granted. If access was granted,
25983         revoked, and granted again, this will reflect the later time.
25984        '''
25985        self.resource_id = resource_id if resource_id is not None else ''
25986        '''
25987         The unique identifier of the Resource to which access is granted.
25988        '''
25989        self.role_id = role_id if role_id is not None else ''
25990        '''
25991         The unique identifier of the Role to which access is granted.
25992        '''
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)
26001    def to_dict(self):
26002        return {
26003            'granted_at': self.granted_at,
26004            'resource_id': self.resource_id,
26005            'role_id': self.role_id,
26006        }
@classmethod
def from_dict(cls, d)
26008    @classmethod
26009    def from_dict(cls, d):
26010        return cls(
26011            granted_at=d.get('granted_at'),
26012            resource_id=d.get('resource_id'),
26013            role_id=d.get('role_id'),
26014        )
class RoleResourceHistory:
26017class RoleResourceHistory:
26018    '''
26019         RoleResourceHistory records the state of a RoleResource at a given point in time,
26020     where every change (create or delete) to a RoleResource produces an
26021     RoleResourceHistory record.
26022    '''
26023    __slots__ = [
26024        'activity_id',
26025        'deleted_at',
26026        'role_resource',
26027        'timestamp',
26028    ]
26029
26030    def __init__(
26031        self,
26032        activity_id=None,
26033        deleted_at=None,
26034        role_resource=None,
26035        timestamp=None,
26036    ):
26037        self.activity_id = activity_id if activity_id is not None else ''
26038        '''
26039         The unique identifier of the Activity that produced this change to the RoleResource.
26040         May be empty for some system-initiated updates.
26041        '''
26042        self.deleted_at = deleted_at if deleted_at is not None else None
26043        '''
26044         If this RoleResource was deleted, the time it was deleted.
26045        '''
26046        self.role_resource = role_resource if role_resource is not None else None
26047        '''
26048         The complete RoleResource state at this time.
26049        '''
26050        self.timestamp = timestamp if timestamp is not None else None
26051        '''
26052         The time at which the RoleResource state was recorded.
26053        '''
26054
26055    def __repr__(self):
26056        return '<sdm.RoleResourceHistory ' + \
26057            'activity_id: ' + repr(self.activity_id) + ' ' +\
26058            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
26059            'role_resource: ' + repr(self.role_resource) + ' ' +\
26060            'timestamp: ' + repr(self.timestamp) + ' ' +\
26061            '>'
26062
26063    def to_dict(self):
26064        return {
26065            'activity_id': self.activity_id,
26066            'deleted_at': self.deleted_at,
26067            'role_resource': self.role_resource,
26068            'timestamp': self.timestamp,
26069        }
26070
26071    @classmethod
26072    def from_dict(cls, d):
26073        return cls(
26074            activity_id=d.get('activity_id'),
26075            deleted_at=d.get('deleted_at'),
26076            role_resource=d.get('role_resource'),
26077            timestamp=d.get('timestamp'),
26078        )

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)
26030    def __init__(
26031        self,
26032        activity_id=None,
26033        deleted_at=None,
26034        role_resource=None,
26035        timestamp=None,
26036    ):
26037        self.activity_id = activity_id if activity_id is not None else ''
26038        '''
26039         The unique identifier of the Activity that produced this change to the RoleResource.
26040         May be empty for some system-initiated updates.
26041        '''
26042        self.deleted_at = deleted_at if deleted_at is not None else None
26043        '''
26044         If this RoleResource was deleted, the time it was deleted.
26045        '''
26046        self.role_resource = role_resource if role_resource is not None else None
26047        '''
26048         The complete RoleResource state at this time.
26049        '''
26050        self.timestamp = timestamp if timestamp is not None else None
26051        '''
26052         The time at which the RoleResource state was recorded.
26053        '''
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)
26063    def to_dict(self):
26064        return {
26065            'activity_id': self.activity_id,
26066            'deleted_at': self.deleted_at,
26067            'role_resource': self.role_resource,
26068            'timestamp': self.timestamp,
26069        }
@classmethod
def from_dict(cls, d)
26071    @classmethod
26072    def from_dict(cls, d):
26073        return cls(
26074            activity_id=d.get('activity_id'),
26075            deleted_at=d.get('deleted_at'),
26076            role_resource=d.get('role_resource'),
26077            timestamp=d.get('timestamp'),
26078        )
class RoleUpdateResponse:
26081class RoleUpdateResponse:
26082    '''
26083         RoleUpdateResponse returns the fields of a Role after it has been updated by
26084     a RoleUpdateRequest.
26085    '''
26086    __slots__ = [
26087        'meta',
26088        'rate_limit',
26089        'role',
26090    ]
26091
26092    def __init__(
26093        self,
26094        meta=None,
26095        rate_limit=None,
26096        role=None,
26097    ):
26098        self.meta = meta if meta is not None else None
26099        '''
26100         Reserved for future use.
26101        '''
26102        self.rate_limit = rate_limit if rate_limit is not None else None
26103        '''
26104         Rate limit information.
26105        '''
26106        self.role = role if role is not None else None
26107        '''
26108         The updated Role.
26109        '''
26110
26111    def __repr__(self):
26112        return '<sdm.RoleUpdateResponse ' + \
26113            'meta: ' + repr(self.meta) + ' ' +\
26114            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26115            'role: ' + repr(self.role) + ' ' +\
26116            '>'
26117
26118    def to_dict(self):
26119        return {
26120            'meta': self.meta,
26121            'rate_limit': self.rate_limit,
26122            'role': self.role,
26123        }
26124
26125    @classmethod
26126    def from_dict(cls, d):
26127        return cls(
26128            meta=d.get('meta'),
26129            rate_limit=d.get('rate_limit'),
26130            role=d.get('role'),
26131        )

RoleUpdateResponse returns the fields of a Role after it has been updated by a RoleUpdateRequest.

RoleUpdateResponse(meta=None, rate_limit=None, role=None)
26092    def __init__(
26093        self,
26094        meta=None,
26095        rate_limit=None,
26096        role=None,
26097    ):
26098        self.meta = meta if meta is not None else None
26099        '''
26100         Reserved for future use.
26101        '''
26102        self.rate_limit = rate_limit if rate_limit is not None else None
26103        '''
26104         Rate limit information.
26105        '''
26106        self.role = role if role is not None else None
26107        '''
26108         The updated Role.
26109        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

role

The updated Role.

def to_dict(self)
26118    def to_dict(self):
26119        return {
26120            'meta': self.meta,
26121            'rate_limit': self.rate_limit,
26122            'role': self.role,
26123        }
@classmethod
def from_dict(cls, d)
26125    @classmethod
26126    def from_dict(cls, d):
26127        return cls(
26128            meta=d.get('meta'),
26129            rate_limit=d.get('rate_limit'),
26130            role=d.get('role'),
26131        )
class SQLServer:
26134class SQLServer:
26135    __slots__ = [
26136        'allow_deprecated_encryption',
26137        'bind_interface',
26138        'database',
26139        'egress_filter',
26140        'healthy',
26141        'hostname',
26142        'id',
26143        'name',
26144        'override_database',
26145        'password',
26146        'port',
26147        'port_override',
26148        'proxy_cluster_id',
26149        'schema',
26150        'secret_store_id',
26151        'subdomain',
26152        'tags',
26153        'username',
26154    ]
26155
26156    def __init__(
26157        self,
26158        allow_deprecated_encryption=None,
26159        bind_interface=None,
26160        database=None,
26161        egress_filter=None,
26162        healthy=None,
26163        hostname=None,
26164        id=None,
26165        name=None,
26166        override_database=None,
26167        password=None,
26168        port=None,
26169        port_override=None,
26170        proxy_cluster_id=None,
26171        schema=None,
26172        secret_store_id=None,
26173        subdomain=None,
26174        tags=None,
26175        username=None,
26176    ):
26177        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
26178        '''
26179         Whether to allow deprecated encryption protocols to be used for this resource. For example,
26180         TLS 1.0.
26181        '''
26182        self.bind_interface = bind_interface if bind_interface is not None else ''
26183        '''
26184         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26185        '''
26186        self.database = database if database is not None else ''
26187        '''
26188         The database for healthchecks, and used for clients if Override Default Database is true.
26189        '''
26190        self.egress_filter = egress_filter if egress_filter is not None else ''
26191        '''
26192         A filter applied to the routing logic to pin datasource to nodes.
26193        '''
26194        self.healthy = healthy if healthy is not None else False
26195        '''
26196         True if the datasource is reachable and the credentials are valid.
26197        '''
26198        self.hostname = hostname if hostname is not None else ''
26199        '''
26200         The host to dial to initiate a connection from the egress node to this resource.
26201        '''
26202        self.id = id if id is not None else ''
26203        '''
26204         Unique identifier of the Resource.
26205        '''
26206        self.name = name if name is not None else ''
26207        '''
26208         Unique human-readable name of the Resource.
26209        '''
26210        self.override_database = override_database if override_database is not None else False
26211        '''
26212         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
26213        '''
26214        self.password = password if password is not None else ''
26215        '''
26216         The password to authenticate with.
26217        '''
26218        self.port = port if port is not None else 0
26219        '''
26220         The port to dial to initiate a connection from the egress node to this resource.
26221        '''
26222        self.port_override = port_override if port_override is not None else 0
26223        '''
26224         The local port used by clients to connect to this resource.
26225        '''
26226        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26227        '''
26228         ID of the proxy cluster for this resource, if any.
26229        '''
26230        self.schema = schema if schema is not None else ''
26231        '''
26232         The Schema to use to direct initial requests.
26233        '''
26234        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26235        '''
26236         ID of the secret store containing credentials for this resource, if any.
26237        '''
26238        self.subdomain = subdomain if subdomain is not None else ''
26239        '''
26240         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26241        '''
26242        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26243        '''
26244         Tags is a map of key, value pairs.
26245        '''
26246        self.username = username if username is not None else ''
26247        '''
26248         The username to authenticate with.
26249        '''
26250
26251    def __repr__(self):
26252        return '<sdm.SQLServer ' + \
26253            'allow_deprecated_encryption: ' + repr(self.allow_deprecated_encryption) + ' ' +\
26254            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26255            'database: ' + repr(self.database) + ' ' +\
26256            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26257            'healthy: ' + repr(self.healthy) + ' ' +\
26258            'hostname: ' + repr(self.hostname) + ' ' +\
26259            'id: ' + repr(self.id) + ' ' +\
26260            'name: ' + repr(self.name) + ' ' +\
26261            'override_database: ' + repr(self.override_database) + ' ' +\
26262            'password: ' + repr(self.password) + ' ' +\
26263            'port: ' + repr(self.port) + ' ' +\
26264            'port_override: ' + repr(self.port_override) + ' ' +\
26265            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26266            'schema: ' + repr(self.schema) + ' ' +\
26267            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26268            'subdomain: ' + repr(self.subdomain) + ' ' +\
26269            'tags: ' + repr(self.tags) + ' ' +\
26270            'username: ' + repr(self.username) + ' ' +\
26271            '>'
26272
26273    def to_dict(self):
26274        return {
26275            'allow_deprecated_encryption': self.allow_deprecated_encryption,
26276            'bind_interface': self.bind_interface,
26277            'database': self.database,
26278            'egress_filter': self.egress_filter,
26279            'healthy': self.healthy,
26280            'hostname': self.hostname,
26281            'id': self.id,
26282            'name': self.name,
26283            'override_database': self.override_database,
26284            'password': self.password,
26285            'port': self.port,
26286            'port_override': self.port_override,
26287            'proxy_cluster_id': self.proxy_cluster_id,
26288            'schema': self.schema,
26289            'secret_store_id': self.secret_store_id,
26290            'subdomain': self.subdomain,
26291            'tags': self.tags,
26292            'username': self.username,
26293        }
26294
26295    @classmethod
26296    def from_dict(cls, d):
26297        return cls(
26298            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
26299            bind_interface=d.get('bind_interface'),
26300            database=d.get('database'),
26301            egress_filter=d.get('egress_filter'),
26302            healthy=d.get('healthy'),
26303            hostname=d.get('hostname'),
26304            id=d.get('id'),
26305            name=d.get('name'),
26306            override_database=d.get('override_database'),
26307            password=d.get('password'),
26308            port=d.get('port'),
26309            port_override=d.get('port_override'),
26310            proxy_cluster_id=d.get('proxy_cluster_id'),
26311            schema=d.get('schema'),
26312            secret_store_id=d.get('secret_store_id'),
26313            subdomain=d.get('subdomain'),
26314            tags=d.get('tags'),
26315            username=d.get('username'),
26316        )
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)
26156    def __init__(
26157        self,
26158        allow_deprecated_encryption=None,
26159        bind_interface=None,
26160        database=None,
26161        egress_filter=None,
26162        healthy=None,
26163        hostname=None,
26164        id=None,
26165        name=None,
26166        override_database=None,
26167        password=None,
26168        port=None,
26169        port_override=None,
26170        proxy_cluster_id=None,
26171        schema=None,
26172        secret_store_id=None,
26173        subdomain=None,
26174        tags=None,
26175        username=None,
26176    ):
26177        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
26178        '''
26179         Whether to allow deprecated encryption protocols to be used for this resource. For example,
26180         TLS 1.0.
26181        '''
26182        self.bind_interface = bind_interface if bind_interface is not None else ''
26183        '''
26184         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26185        '''
26186        self.database = database if database is not None else ''
26187        '''
26188         The database for healthchecks, and used for clients if Override Default Database is true.
26189        '''
26190        self.egress_filter = egress_filter if egress_filter is not None else ''
26191        '''
26192         A filter applied to the routing logic to pin datasource to nodes.
26193        '''
26194        self.healthy = healthy if healthy is not None else False
26195        '''
26196         True if the datasource is reachable and the credentials are valid.
26197        '''
26198        self.hostname = hostname if hostname is not None else ''
26199        '''
26200         The host to dial to initiate a connection from the egress node to this resource.
26201        '''
26202        self.id = id if id is not None else ''
26203        '''
26204         Unique identifier of the Resource.
26205        '''
26206        self.name = name if name is not None else ''
26207        '''
26208         Unique human-readable name of the Resource.
26209        '''
26210        self.override_database = override_database if override_database is not None else False
26211        '''
26212         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
26213        '''
26214        self.password = password if password is not None else ''
26215        '''
26216         The password to authenticate with.
26217        '''
26218        self.port = port if port is not None else 0
26219        '''
26220         The port to dial to initiate a connection from the egress node to this resource.
26221        '''
26222        self.port_override = port_override if port_override is not None else 0
26223        '''
26224         The local port used by clients to connect to this resource.
26225        '''
26226        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26227        '''
26228         ID of the proxy cluster for this resource, if any.
26229        '''
26230        self.schema = schema if schema is not None else ''
26231        '''
26232         The Schema to use to direct initial requests.
26233        '''
26234        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26235        '''
26236         ID of the secret store containing credentials for this resource, if any.
26237        '''
26238        self.subdomain = subdomain if subdomain is not None else ''
26239        '''
26240         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26241        '''
26242        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26243        '''
26244         Tags is a map of key, value pairs.
26245        '''
26246        self.username = username if username is not None else ''
26247        '''
26248         The username to authenticate with.
26249        '''
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)
26273    def to_dict(self):
26274        return {
26275            'allow_deprecated_encryption': self.allow_deprecated_encryption,
26276            'bind_interface': self.bind_interface,
26277            'database': self.database,
26278            'egress_filter': self.egress_filter,
26279            'healthy': self.healthy,
26280            'hostname': self.hostname,
26281            'id': self.id,
26282            'name': self.name,
26283            'override_database': self.override_database,
26284            'password': self.password,
26285            'port': self.port,
26286            'port_override': self.port_override,
26287            'proxy_cluster_id': self.proxy_cluster_id,
26288            'schema': self.schema,
26289            'secret_store_id': self.secret_store_id,
26290            'subdomain': self.subdomain,
26291            'tags': self.tags,
26292            'username': self.username,
26293        }
@classmethod
def from_dict(cls, d)
26295    @classmethod
26296    def from_dict(cls, d):
26297        return cls(
26298            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
26299            bind_interface=d.get('bind_interface'),
26300            database=d.get('database'),
26301            egress_filter=d.get('egress_filter'),
26302            healthy=d.get('healthy'),
26303            hostname=d.get('hostname'),
26304            id=d.get('id'),
26305            name=d.get('name'),
26306            override_database=d.get('override_database'),
26307            password=d.get('password'),
26308            port=d.get('port'),
26309            port_override=d.get('port_override'),
26310            proxy_cluster_id=d.get('proxy_cluster_id'),
26311            schema=d.get('schema'),
26312            secret_store_id=d.get('secret_store_id'),
26313            subdomain=d.get('subdomain'),
26314            tags=d.get('tags'),
26315            username=d.get('username'),
26316        )
class SQLServerAzureAD:
26319class SQLServerAzureAD:
26320    __slots__ = [
26321        'allow_deprecated_encryption',
26322        'bind_interface',
26323        'client_id',
26324        'database',
26325        'egress_filter',
26326        'healthy',
26327        'hostname',
26328        'id',
26329        'name',
26330        'override_database',
26331        'port',
26332        'port_override',
26333        'proxy_cluster_id',
26334        'schema',
26335        'secret',
26336        'secret_store_id',
26337        'subdomain',
26338        'tags',
26339        'tenant_id',
26340    ]
26341
26342    def __init__(
26343        self,
26344        allow_deprecated_encryption=None,
26345        bind_interface=None,
26346        client_id=None,
26347        database=None,
26348        egress_filter=None,
26349        healthy=None,
26350        hostname=None,
26351        id=None,
26352        name=None,
26353        override_database=None,
26354        port=None,
26355        port_override=None,
26356        proxy_cluster_id=None,
26357        schema=None,
26358        secret=None,
26359        secret_store_id=None,
26360        subdomain=None,
26361        tags=None,
26362        tenant_id=None,
26363    ):
26364        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
26365        '''
26366         Whether to allow deprecated encryption protocols to be used for this resource. For example,
26367         TLS 1.0.
26368        '''
26369        self.bind_interface = bind_interface if bind_interface is not None else ''
26370        '''
26371         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26372        '''
26373        self.client_id = client_id if client_id is not None else ''
26374        '''
26375         The Azure AD application (client) ID with which to authenticate.
26376        '''
26377        self.database = database if database is not None else ''
26378        '''
26379         The database for healthchecks, and used for clients if Override Default Database is true.
26380        '''
26381        self.egress_filter = egress_filter if egress_filter is not None else ''
26382        '''
26383         A filter applied to the routing logic to pin datasource to nodes.
26384        '''
26385        self.healthy = healthy if healthy is not None else False
26386        '''
26387         True if the datasource is reachable and the credentials are valid.
26388        '''
26389        self.hostname = hostname if hostname is not None else ''
26390        '''
26391         The host to dial to initiate a connection from the egress node to this resource.
26392        '''
26393        self.id = id if id is not None else ''
26394        '''
26395         Unique identifier of the Resource.
26396        '''
26397        self.name = name if name is not None else ''
26398        '''
26399         Unique human-readable name of the Resource.
26400        '''
26401        self.override_database = override_database if override_database is not None else False
26402        '''
26403         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
26404        '''
26405        self.port = port if port is not None else 0
26406        '''
26407         The port to dial to initiate a connection from the egress node to this resource.
26408        '''
26409        self.port_override = port_override if port_override is not None else 0
26410        '''
26411         The local port used by clients to connect to this resource.
26412        '''
26413        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26414        '''
26415         ID of the proxy cluster for this resource, if any.
26416        '''
26417        self.schema = schema if schema is not None else ''
26418        '''
26419         The Schema to use to direct initial requests.
26420        '''
26421        self.secret = secret if secret is not None else ''
26422        '''
26423         The Azure AD client secret (application password) with which to authenticate.
26424        '''
26425        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26426        '''
26427         ID of the secret store containing credentials for this resource, if any.
26428        '''
26429        self.subdomain = subdomain if subdomain is not None else ''
26430        '''
26431         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26432        '''
26433        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26434        '''
26435         Tags is a map of key, value pairs.
26436        '''
26437        self.tenant_id = tenant_id if tenant_id is not None else ''
26438        '''
26439         The Azure AD directory (tenant) ID with which to authenticate.
26440        '''
26441
26442    def __repr__(self):
26443        return '<sdm.SQLServerAzureAD ' + \
26444            'allow_deprecated_encryption: ' + repr(self.allow_deprecated_encryption) + ' ' +\
26445            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26446            'client_id: ' + repr(self.client_id) + ' ' +\
26447            'database: ' + repr(self.database) + ' ' +\
26448            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26449            'healthy: ' + repr(self.healthy) + ' ' +\
26450            'hostname: ' + repr(self.hostname) + ' ' +\
26451            'id: ' + repr(self.id) + ' ' +\
26452            'name: ' + repr(self.name) + ' ' +\
26453            'override_database: ' + repr(self.override_database) + ' ' +\
26454            'port: ' + repr(self.port) + ' ' +\
26455            'port_override: ' + repr(self.port_override) + ' ' +\
26456            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26457            'schema: ' + repr(self.schema) + ' ' +\
26458            'secret: ' + repr(self.secret) + ' ' +\
26459            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26460            'subdomain: ' + repr(self.subdomain) + ' ' +\
26461            'tags: ' + repr(self.tags) + ' ' +\
26462            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
26463            '>'
26464
26465    def to_dict(self):
26466        return {
26467            'allow_deprecated_encryption': self.allow_deprecated_encryption,
26468            'bind_interface': self.bind_interface,
26469            'client_id': self.client_id,
26470            'database': self.database,
26471            'egress_filter': self.egress_filter,
26472            'healthy': self.healthy,
26473            'hostname': self.hostname,
26474            'id': self.id,
26475            'name': self.name,
26476            'override_database': self.override_database,
26477            'port': self.port,
26478            'port_override': self.port_override,
26479            'proxy_cluster_id': self.proxy_cluster_id,
26480            'schema': self.schema,
26481            'secret': self.secret,
26482            'secret_store_id': self.secret_store_id,
26483            'subdomain': self.subdomain,
26484            'tags': self.tags,
26485            'tenant_id': self.tenant_id,
26486        }
26487
26488    @classmethod
26489    def from_dict(cls, d):
26490        return cls(
26491            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
26492            bind_interface=d.get('bind_interface'),
26493            client_id=d.get('client_id'),
26494            database=d.get('database'),
26495            egress_filter=d.get('egress_filter'),
26496            healthy=d.get('healthy'),
26497            hostname=d.get('hostname'),
26498            id=d.get('id'),
26499            name=d.get('name'),
26500            override_database=d.get('override_database'),
26501            port=d.get('port'),
26502            port_override=d.get('port_override'),
26503            proxy_cluster_id=d.get('proxy_cluster_id'),
26504            schema=d.get('schema'),
26505            secret=d.get('secret'),
26506            secret_store_id=d.get('secret_store_id'),
26507            subdomain=d.get('subdomain'),
26508            tags=d.get('tags'),
26509            tenant_id=d.get('tenant_id'),
26510        )
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)
26342    def __init__(
26343        self,
26344        allow_deprecated_encryption=None,
26345        bind_interface=None,
26346        client_id=None,
26347        database=None,
26348        egress_filter=None,
26349        healthy=None,
26350        hostname=None,
26351        id=None,
26352        name=None,
26353        override_database=None,
26354        port=None,
26355        port_override=None,
26356        proxy_cluster_id=None,
26357        schema=None,
26358        secret=None,
26359        secret_store_id=None,
26360        subdomain=None,
26361        tags=None,
26362        tenant_id=None,
26363    ):
26364        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
26365        '''
26366         Whether to allow deprecated encryption protocols to be used for this resource. For example,
26367         TLS 1.0.
26368        '''
26369        self.bind_interface = bind_interface if bind_interface is not None else ''
26370        '''
26371         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26372        '''
26373        self.client_id = client_id if client_id is not None else ''
26374        '''
26375         The Azure AD application (client) ID with which to authenticate.
26376        '''
26377        self.database = database if database is not None else ''
26378        '''
26379         The database for healthchecks, and used for clients if Override Default Database is true.
26380        '''
26381        self.egress_filter = egress_filter if egress_filter is not None else ''
26382        '''
26383         A filter applied to the routing logic to pin datasource to nodes.
26384        '''
26385        self.healthy = healthy if healthy is not None else False
26386        '''
26387         True if the datasource is reachable and the credentials are valid.
26388        '''
26389        self.hostname = hostname if hostname is not None else ''
26390        '''
26391         The host to dial to initiate a connection from the egress node to this resource.
26392        '''
26393        self.id = id if id is not None else ''
26394        '''
26395         Unique identifier of the Resource.
26396        '''
26397        self.name = name if name is not None else ''
26398        '''
26399         Unique human-readable name of the Resource.
26400        '''
26401        self.override_database = override_database if override_database is not None else False
26402        '''
26403         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
26404        '''
26405        self.port = port if port is not None else 0
26406        '''
26407         The port to dial to initiate a connection from the egress node to this resource.
26408        '''
26409        self.port_override = port_override if port_override is not None else 0
26410        '''
26411         The local port used by clients to connect to this resource.
26412        '''
26413        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26414        '''
26415         ID of the proxy cluster for this resource, if any.
26416        '''
26417        self.schema = schema if schema is not None else ''
26418        '''
26419         The Schema to use to direct initial requests.
26420        '''
26421        self.secret = secret if secret is not None else ''
26422        '''
26423         The Azure AD client secret (application password) with which to authenticate.
26424        '''
26425        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26426        '''
26427         ID of the secret store containing credentials for this resource, if any.
26428        '''
26429        self.subdomain = subdomain if subdomain is not None else ''
26430        '''
26431         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26432        '''
26433        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26434        '''
26435         Tags is a map of key, value pairs.
26436        '''
26437        self.tenant_id = tenant_id if tenant_id is not None else ''
26438        '''
26439         The Azure AD directory (tenant) ID with which to authenticate.
26440        '''
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)
26465    def to_dict(self):
26466        return {
26467            'allow_deprecated_encryption': self.allow_deprecated_encryption,
26468            'bind_interface': self.bind_interface,
26469            'client_id': self.client_id,
26470            'database': self.database,
26471            'egress_filter': self.egress_filter,
26472            'healthy': self.healthy,
26473            'hostname': self.hostname,
26474            'id': self.id,
26475            'name': self.name,
26476            'override_database': self.override_database,
26477            'port': self.port,
26478            'port_override': self.port_override,
26479            'proxy_cluster_id': self.proxy_cluster_id,
26480            'schema': self.schema,
26481            'secret': self.secret,
26482            'secret_store_id': self.secret_store_id,
26483            'subdomain': self.subdomain,
26484            'tags': self.tags,
26485            'tenant_id': self.tenant_id,
26486        }
@classmethod
def from_dict(cls, d)
26488    @classmethod
26489    def from_dict(cls, d):
26490        return cls(
26491            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
26492            bind_interface=d.get('bind_interface'),
26493            client_id=d.get('client_id'),
26494            database=d.get('database'),
26495            egress_filter=d.get('egress_filter'),
26496            healthy=d.get('healthy'),
26497            hostname=d.get('hostname'),
26498            id=d.get('id'),
26499            name=d.get('name'),
26500            override_database=d.get('override_database'),
26501            port=d.get('port'),
26502            port_override=d.get('port_override'),
26503            proxy_cluster_id=d.get('proxy_cluster_id'),
26504            schema=d.get('schema'),
26505            secret=d.get('secret'),
26506            secret_store_id=d.get('secret_store_id'),
26507            subdomain=d.get('subdomain'),
26508            tags=d.get('tags'),
26509            tenant_id=d.get('tenant_id'),
26510        )
class SQLServerKerberosAD:
26513class SQLServerKerberosAD:
26514    __slots__ = [
26515        'allow_deprecated_encryption',
26516        'bind_interface',
26517        'database',
26518        'egress_filter',
26519        'healthy',
26520        'hostname',
26521        'id',
26522        'keytab',
26523        'krb_config',
26524        'name',
26525        'override_database',
26526        'port',
26527        'port_override',
26528        'proxy_cluster_id',
26529        'realm',
26530        'schema',
26531        'secret_store_id',
26532        'server_spn',
26533        'subdomain',
26534        'tags',
26535        'username',
26536    ]
26537
26538    def __init__(
26539        self,
26540        allow_deprecated_encryption=None,
26541        bind_interface=None,
26542        database=None,
26543        egress_filter=None,
26544        healthy=None,
26545        hostname=None,
26546        id=None,
26547        keytab=None,
26548        krb_config=None,
26549        name=None,
26550        override_database=None,
26551        port=None,
26552        port_override=None,
26553        proxy_cluster_id=None,
26554        realm=None,
26555        schema=None,
26556        secret_store_id=None,
26557        server_spn=None,
26558        subdomain=None,
26559        tags=None,
26560        username=None,
26561    ):
26562        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
26563        '''
26564         Whether to allow deprecated encryption protocols to be used for this resource. For example,
26565         TLS 1.0.
26566        '''
26567        self.bind_interface = bind_interface if bind_interface is not None else ''
26568        '''
26569         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26570        '''
26571        self.database = database if database is not None else ''
26572        '''
26573         The database for healthchecks, and used for clients if Override Default Database is true.
26574        '''
26575        self.egress_filter = egress_filter if egress_filter is not None else ''
26576        '''
26577         A filter applied to the routing logic to pin datasource to nodes.
26578        '''
26579        self.healthy = healthy if healthy is not None else False
26580        '''
26581         True if the datasource is reachable and the credentials are valid.
26582        '''
26583        self.hostname = hostname if hostname is not None else ''
26584        '''
26585         The host to dial to initiate a connection from the egress node to this resource.
26586        '''
26587        self.id = id if id is not None else ''
26588        '''
26589         Unique identifier of the Resource.
26590        '''
26591        self.keytab = keytab if keytab is not None else ''
26592        '''
26593         The keytab file in base64 format containing an entry with the principal name (username@realm) and key version number with which to authenticate.
26594        '''
26595        self.krb_config = krb_config if krb_config is not None else ''
26596        '''
26597         The Kerberos 5 configuration file (krb5.conf) specifying the Active Directory server (KDC) for the configured realm.
26598        '''
26599        self.name = name if name is not None else ''
26600        '''
26601         Unique human-readable name of the Resource.
26602        '''
26603        self.override_database = override_database if override_database is not None else False
26604        '''
26605         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
26606        '''
26607        self.port = port if port is not None else 0
26608        '''
26609         The port to dial to initiate a connection from the egress node to this resource.
26610        '''
26611        self.port_override = port_override if port_override is not None else 0
26612        '''
26613         The local port used by clients to connect to this resource.
26614        '''
26615        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26616        '''
26617         ID of the proxy cluster for this resource, if any.
26618        '''
26619        self.realm = realm if realm is not None else ''
26620        '''
26621         The Active Directory domain (realm) to which the configured username belongs.
26622        '''
26623        self.schema = schema if schema is not None else ''
26624        '''
26625         The Schema to use to direct initial requests.
26626        '''
26627        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26628        '''
26629         ID of the secret store containing credentials for this resource, if any.
26630        '''
26631        self.server_spn = server_spn if server_spn is not None else ''
26632        '''
26633         The Service Principal Name of the Microsoft SQL Server instance in Active Directory.
26634        '''
26635        self.subdomain = subdomain if subdomain is not None else ''
26636        '''
26637         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26638        '''
26639        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26640        '''
26641         Tags is a map of key, value pairs.
26642        '''
26643        self.username = username if username is not None else ''
26644        '''
26645         The username to authenticate with.
26646        '''
26647
26648    def __repr__(self):
26649        return '<sdm.SQLServerKerberosAD ' + \
26650            'allow_deprecated_encryption: ' + repr(self.allow_deprecated_encryption) + ' ' +\
26651            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26652            'database: ' + repr(self.database) + ' ' +\
26653            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26654            'healthy: ' + repr(self.healthy) + ' ' +\
26655            'hostname: ' + repr(self.hostname) + ' ' +\
26656            'id: ' + repr(self.id) + ' ' +\
26657            'keytab: ' + repr(self.keytab) + ' ' +\
26658            'krb_config: ' + repr(self.krb_config) + ' ' +\
26659            'name: ' + repr(self.name) + ' ' +\
26660            'override_database: ' + repr(self.override_database) + ' ' +\
26661            'port: ' + repr(self.port) + ' ' +\
26662            'port_override: ' + repr(self.port_override) + ' ' +\
26663            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26664            'realm: ' + repr(self.realm) + ' ' +\
26665            'schema: ' + repr(self.schema) + ' ' +\
26666            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26667            'server_spn: ' + repr(self.server_spn) + ' ' +\
26668            'subdomain: ' + repr(self.subdomain) + ' ' +\
26669            'tags: ' + repr(self.tags) + ' ' +\
26670            'username: ' + repr(self.username) + ' ' +\
26671            '>'
26672
26673    def to_dict(self):
26674        return {
26675            'allow_deprecated_encryption': self.allow_deprecated_encryption,
26676            'bind_interface': self.bind_interface,
26677            'database': self.database,
26678            'egress_filter': self.egress_filter,
26679            'healthy': self.healthy,
26680            'hostname': self.hostname,
26681            'id': self.id,
26682            'keytab': self.keytab,
26683            'krb_config': self.krb_config,
26684            'name': self.name,
26685            'override_database': self.override_database,
26686            'port': self.port,
26687            'port_override': self.port_override,
26688            'proxy_cluster_id': self.proxy_cluster_id,
26689            'realm': self.realm,
26690            'schema': self.schema,
26691            'secret_store_id': self.secret_store_id,
26692            'server_spn': self.server_spn,
26693            'subdomain': self.subdomain,
26694            'tags': self.tags,
26695            'username': self.username,
26696        }
26697
26698    @classmethod
26699    def from_dict(cls, d):
26700        return cls(
26701            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
26702            bind_interface=d.get('bind_interface'),
26703            database=d.get('database'),
26704            egress_filter=d.get('egress_filter'),
26705            healthy=d.get('healthy'),
26706            hostname=d.get('hostname'),
26707            id=d.get('id'),
26708            keytab=d.get('keytab'),
26709            krb_config=d.get('krb_config'),
26710            name=d.get('name'),
26711            override_database=d.get('override_database'),
26712            port=d.get('port'),
26713            port_override=d.get('port_override'),
26714            proxy_cluster_id=d.get('proxy_cluster_id'),
26715            realm=d.get('realm'),
26716            schema=d.get('schema'),
26717            secret_store_id=d.get('secret_store_id'),
26718            server_spn=d.get('server_spn'),
26719            subdomain=d.get('subdomain'),
26720            tags=d.get('tags'),
26721            username=d.get('username'),
26722        )
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)
26538    def __init__(
26539        self,
26540        allow_deprecated_encryption=None,
26541        bind_interface=None,
26542        database=None,
26543        egress_filter=None,
26544        healthy=None,
26545        hostname=None,
26546        id=None,
26547        keytab=None,
26548        krb_config=None,
26549        name=None,
26550        override_database=None,
26551        port=None,
26552        port_override=None,
26553        proxy_cluster_id=None,
26554        realm=None,
26555        schema=None,
26556        secret_store_id=None,
26557        server_spn=None,
26558        subdomain=None,
26559        tags=None,
26560        username=None,
26561    ):
26562        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
26563        '''
26564         Whether to allow deprecated encryption protocols to be used for this resource. For example,
26565         TLS 1.0.
26566        '''
26567        self.bind_interface = bind_interface if bind_interface is not None else ''
26568        '''
26569         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26570        '''
26571        self.database = database if database is not None else ''
26572        '''
26573         The database for healthchecks, and used for clients if Override Default Database is true.
26574        '''
26575        self.egress_filter = egress_filter if egress_filter is not None else ''
26576        '''
26577         A filter applied to the routing logic to pin datasource to nodes.
26578        '''
26579        self.healthy = healthy if healthy is not None else False
26580        '''
26581         True if the datasource is reachable and the credentials are valid.
26582        '''
26583        self.hostname = hostname if hostname is not None else ''
26584        '''
26585         The host to dial to initiate a connection from the egress node to this resource.
26586        '''
26587        self.id = id if id is not None else ''
26588        '''
26589         Unique identifier of the Resource.
26590        '''
26591        self.keytab = keytab if keytab is not None else ''
26592        '''
26593         The keytab file in base64 format containing an entry with the principal name (username@realm) and key version number with which to authenticate.
26594        '''
26595        self.krb_config = krb_config if krb_config is not None else ''
26596        '''
26597         The Kerberos 5 configuration file (krb5.conf) specifying the Active Directory server (KDC) for the configured realm.
26598        '''
26599        self.name = name if name is not None else ''
26600        '''
26601         Unique human-readable name of the Resource.
26602        '''
26603        self.override_database = override_database if override_database is not None else False
26604        '''
26605         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
26606        '''
26607        self.port = port if port is not None else 0
26608        '''
26609         The port to dial to initiate a connection from the egress node to this resource.
26610        '''
26611        self.port_override = port_override if port_override is not None else 0
26612        '''
26613         The local port used by clients to connect to this resource.
26614        '''
26615        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26616        '''
26617         ID of the proxy cluster for this resource, if any.
26618        '''
26619        self.realm = realm if realm is not None else ''
26620        '''
26621         The Active Directory domain (realm) to which the configured username belongs.
26622        '''
26623        self.schema = schema if schema is not None else ''
26624        '''
26625         The Schema to use to direct initial requests.
26626        '''
26627        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26628        '''
26629         ID of the secret store containing credentials for this resource, if any.
26630        '''
26631        self.server_spn = server_spn if server_spn is not None else ''
26632        '''
26633         The Service Principal Name of the Microsoft SQL Server instance in Active Directory.
26634        '''
26635        self.subdomain = subdomain if subdomain is not None else ''
26636        '''
26637         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26638        '''
26639        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26640        '''
26641         Tags is a map of key, value pairs.
26642        '''
26643        self.username = username if username is not None else ''
26644        '''
26645         The username to authenticate with.
26646        '''
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)
26673    def to_dict(self):
26674        return {
26675            'allow_deprecated_encryption': self.allow_deprecated_encryption,
26676            'bind_interface': self.bind_interface,
26677            'database': self.database,
26678            'egress_filter': self.egress_filter,
26679            'healthy': self.healthy,
26680            'hostname': self.hostname,
26681            'id': self.id,
26682            'keytab': self.keytab,
26683            'krb_config': self.krb_config,
26684            'name': self.name,
26685            'override_database': self.override_database,
26686            'port': self.port,
26687            'port_override': self.port_override,
26688            'proxy_cluster_id': self.proxy_cluster_id,
26689            'realm': self.realm,
26690            'schema': self.schema,
26691            'secret_store_id': self.secret_store_id,
26692            'server_spn': self.server_spn,
26693            'subdomain': self.subdomain,
26694            'tags': self.tags,
26695            'username': self.username,
26696        }
@classmethod
def from_dict(cls, d)
26698    @classmethod
26699    def from_dict(cls, d):
26700        return cls(
26701            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
26702            bind_interface=d.get('bind_interface'),
26703            database=d.get('database'),
26704            egress_filter=d.get('egress_filter'),
26705            healthy=d.get('healthy'),
26706            hostname=d.get('hostname'),
26707            id=d.get('id'),
26708            keytab=d.get('keytab'),
26709            krb_config=d.get('krb_config'),
26710            name=d.get('name'),
26711            override_database=d.get('override_database'),
26712            port=d.get('port'),
26713            port_override=d.get('port_override'),
26714            proxy_cluster_id=d.get('proxy_cluster_id'),
26715            realm=d.get('realm'),
26716            schema=d.get('schema'),
26717            secret_store_id=d.get('secret_store_id'),
26718            server_spn=d.get('server_spn'),
26719            subdomain=d.get('subdomain'),
26720            tags=d.get('tags'),
26721            username=d.get('username'),
26722        )
class SSH:
26725class SSH:
26726    __slots__ = [
26727        'allow_deprecated_key_exchanges',
26728        'bind_interface',
26729        'egress_filter',
26730        'healthy',
26731        'hostname',
26732        'id',
26733        'key_type',
26734        'name',
26735        'port',
26736        'port_forwarding',
26737        'port_override',
26738        'proxy_cluster_id',
26739        'public_key',
26740        'secret_store_id',
26741        'subdomain',
26742        'tags',
26743        'username',
26744    ]
26745
26746    def __init__(
26747        self,
26748        allow_deprecated_key_exchanges=None,
26749        bind_interface=None,
26750        egress_filter=None,
26751        healthy=None,
26752        hostname=None,
26753        id=None,
26754        key_type=None,
26755        name=None,
26756        port=None,
26757        port_forwarding=None,
26758        port_override=None,
26759        proxy_cluster_id=None,
26760        public_key=None,
26761        secret_store_id=None,
26762        subdomain=None,
26763        tags=None,
26764        username=None,
26765    ):
26766        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
26767        '''
26768         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
26769        '''
26770        self.bind_interface = bind_interface if bind_interface is not None else ''
26771        '''
26772         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26773        '''
26774        self.egress_filter = egress_filter if egress_filter is not None else ''
26775        '''
26776         A filter applied to the routing logic to pin datasource to nodes.
26777        '''
26778        self.healthy = healthy if healthy is not None else False
26779        '''
26780         True if the datasource is reachable and the credentials are valid.
26781        '''
26782        self.hostname = hostname if hostname is not None else ''
26783        '''
26784         The host to dial to initiate a connection from the egress node to this resource.
26785        '''
26786        self.id = id if id is not None else ''
26787        '''
26788         Unique identifier of the Resource.
26789        '''
26790        self.key_type = key_type if key_type is not None else ''
26791        '''
26792         The key type to use e.g. rsa-2048 or ed25519
26793        '''
26794        self.name = name if name is not None else ''
26795        '''
26796         Unique human-readable name of the Resource.
26797        '''
26798        self.port = port if port is not None else 0
26799        '''
26800         The port to dial to initiate a connection from the egress node to this resource.
26801        '''
26802        self.port_forwarding = port_forwarding if port_forwarding is not None else False
26803        '''
26804         Whether port forwarding is allowed through this server.
26805        '''
26806        self.port_override = port_override if port_override is not None else 0
26807        '''
26808         The local port used by clients to connect to this resource.
26809        '''
26810        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26811        '''
26812         ID of the proxy cluster for this resource, if any.
26813        '''
26814        self.public_key = public_key if public_key is not None else ''
26815        '''
26816         The public key to append to a server's authorized keys. This will be generated after resource creation.
26817        '''
26818        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26819        '''
26820         ID of the secret store containing credentials for this resource, if any.
26821        '''
26822        self.subdomain = subdomain if subdomain is not None else ''
26823        '''
26824         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26825        '''
26826        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26827        '''
26828         Tags is a map of key, value pairs.
26829        '''
26830        self.username = username if username is not None else ''
26831        '''
26832         The username to authenticate with.
26833        '''
26834
26835    def __repr__(self):
26836        return '<sdm.SSH ' + \
26837            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
26838            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26839            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26840            'healthy: ' + repr(self.healthy) + ' ' +\
26841            'hostname: ' + repr(self.hostname) + ' ' +\
26842            'id: ' + repr(self.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            'public_key: ' + repr(self.public_key) + ' ' +\
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            'key_type': self.key_type,
26866            'name': self.name,
26867            'port': self.port,
26868            'port_forwarding': self.port_forwarding,
26869            'port_override': self.port_override,
26870            'proxy_cluster_id': self.proxy_cluster_id,
26871            'public_key': self.public_key,
26872            'secret_store_id': self.secret_store_id,
26873            'subdomain': self.subdomain,
26874            'tags': self.tags,
26875            'username': self.username,
26876        }
26877
26878    @classmethod
26879    def from_dict(cls, d):
26880        return cls(
26881            allow_deprecated_key_exchanges=d.get(
26882                'allow_deprecated_key_exchanges'),
26883            bind_interface=d.get('bind_interface'),
26884            egress_filter=d.get('egress_filter'),
26885            healthy=d.get('healthy'),
26886            hostname=d.get('hostname'),
26887            id=d.get('id'),
26888            key_type=d.get('key_type'),
26889            name=d.get('name'),
26890            port=d.get('port'),
26891            port_forwarding=d.get('port_forwarding'),
26892            port_override=d.get('port_override'),
26893            proxy_cluster_id=d.get('proxy_cluster_id'),
26894            public_key=d.get('public_key'),
26895            secret_store_id=d.get('secret_store_id'),
26896            subdomain=d.get('subdomain'),
26897            tags=d.get('tags'),
26898            username=d.get('username'),
26899        )
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)
26746    def __init__(
26747        self,
26748        allow_deprecated_key_exchanges=None,
26749        bind_interface=None,
26750        egress_filter=None,
26751        healthy=None,
26752        hostname=None,
26753        id=None,
26754        key_type=None,
26755        name=None,
26756        port=None,
26757        port_forwarding=None,
26758        port_override=None,
26759        proxy_cluster_id=None,
26760        public_key=None,
26761        secret_store_id=None,
26762        subdomain=None,
26763        tags=None,
26764        username=None,
26765    ):
26766        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
26767        '''
26768         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
26769        '''
26770        self.bind_interface = bind_interface if bind_interface is not None else ''
26771        '''
26772         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26773        '''
26774        self.egress_filter = egress_filter if egress_filter is not None else ''
26775        '''
26776         A filter applied to the routing logic to pin datasource to nodes.
26777        '''
26778        self.healthy = healthy if healthy is not None else False
26779        '''
26780         True if the datasource is reachable and the credentials are valid.
26781        '''
26782        self.hostname = hostname if hostname is not None else ''
26783        '''
26784         The host to dial to initiate a connection from the egress node to this resource.
26785        '''
26786        self.id = id if id is not None else ''
26787        '''
26788         Unique identifier of the Resource.
26789        '''
26790        self.key_type = key_type if key_type is not None else ''
26791        '''
26792         The key type to use e.g. rsa-2048 or ed25519
26793        '''
26794        self.name = name if name is not None else ''
26795        '''
26796         Unique human-readable name of the Resource.
26797        '''
26798        self.port = port if port is not None else 0
26799        '''
26800         The port to dial to initiate a connection from the egress node to this resource.
26801        '''
26802        self.port_forwarding = port_forwarding if port_forwarding is not None else False
26803        '''
26804         Whether port forwarding is allowed through this server.
26805        '''
26806        self.port_override = port_override if port_override is not None else 0
26807        '''
26808         The local port used by clients to connect to this resource.
26809        '''
26810        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26811        '''
26812         ID of the proxy cluster for this resource, if any.
26813        '''
26814        self.public_key = public_key if public_key is not None else ''
26815        '''
26816         The public key to append to a server's authorized keys. This will be generated after resource creation.
26817        '''
26818        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26819        '''
26820         ID of the secret store containing credentials for this resource, if any.
26821        '''
26822        self.subdomain = subdomain if subdomain is not None else ''
26823        '''
26824         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26825        '''
26826        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26827        '''
26828         Tags is a map of key, value pairs.
26829        '''
26830        self.username = username if username is not None else ''
26831        '''
26832         The username to authenticate with.
26833        '''
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)
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            'key_type': self.key_type,
26866            'name': self.name,
26867            'port': self.port,
26868            'port_forwarding': self.port_forwarding,
26869            'port_override': self.port_override,
26870            'proxy_cluster_id': self.proxy_cluster_id,
26871            'public_key': self.public_key,
26872            'secret_store_id': self.secret_store_id,
26873            'subdomain': self.subdomain,
26874            'tags': self.tags,
26875            'username': self.username,
26876        }
@classmethod
def from_dict(cls, d)
26878    @classmethod
26879    def from_dict(cls, d):
26880        return cls(
26881            allow_deprecated_key_exchanges=d.get(
26882                'allow_deprecated_key_exchanges'),
26883            bind_interface=d.get('bind_interface'),
26884            egress_filter=d.get('egress_filter'),
26885            healthy=d.get('healthy'),
26886            hostname=d.get('hostname'),
26887            id=d.get('id'),
26888            key_type=d.get('key_type'),
26889            name=d.get('name'),
26890            port=d.get('port'),
26891            port_forwarding=d.get('port_forwarding'),
26892            port_override=d.get('port_override'),
26893            proxy_cluster_id=d.get('proxy_cluster_id'),
26894            public_key=d.get('public_key'),
26895            secret_store_id=d.get('secret_store_id'),
26896            subdomain=d.get('subdomain'),
26897            tags=d.get('tags'),
26898            username=d.get('username'),
26899        )
class SSHCert:
26902class SSHCert:
26903    __slots__ = [
26904        'allow_deprecated_key_exchanges',
26905        'bind_interface',
26906        'egress_filter',
26907        'healthy',
26908        'hostname',
26909        'id',
26910        'identity_alias_healthcheck_username',
26911        'identity_set_id',
26912        'key_type',
26913        'name',
26914        'port',
26915        'port_forwarding',
26916        'port_override',
26917        'proxy_cluster_id',
26918        'secret_store_id',
26919        'subdomain',
26920        'tags',
26921        'username',
26922    ]
26923
26924    def __init__(
26925        self,
26926        allow_deprecated_key_exchanges=None,
26927        bind_interface=None,
26928        egress_filter=None,
26929        healthy=None,
26930        hostname=None,
26931        id=None,
26932        identity_alias_healthcheck_username=None,
26933        identity_set_id=None,
26934        key_type=None,
26935        name=None,
26936        port=None,
26937        port_forwarding=None,
26938        port_override=None,
26939        proxy_cluster_id=None,
26940        secret_store_id=None,
26941        subdomain=None,
26942        tags=None,
26943        username=None,
26944    ):
26945        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
26946        '''
26947         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
26948        '''
26949        self.bind_interface = bind_interface if bind_interface is not None else ''
26950        '''
26951         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26952        '''
26953        self.egress_filter = egress_filter if egress_filter is not None else ''
26954        '''
26955         A filter applied to the routing logic to pin datasource to nodes.
26956        '''
26957        self.healthy = healthy if healthy is not None else False
26958        '''
26959         True if the datasource is reachable and the credentials are valid.
26960        '''
26961        self.hostname = hostname if hostname is not None else ''
26962        '''
26963         The host to dial to initiate a connection from the egress node to this resource.
26964        '''
26965        self.id = id if id is not None else ''
26966        '''
26967         Unique identifier of the Resource.
26968        '''
26969        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
26970        '''
26971         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
26972        '''
26973        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
26974        '''
26975         The ID of the identity set to use for identity connections.
26976        '''
26977        self.key_type = key_type if key_type is not None else ''
26978        '''
26979         The key type to use e.g. rsa-2048 or ed25519
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.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26998        '''
26999         ID of the proxy cluster for this resource, if any.
27000        '''
27001        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
27002        '''
27003         ID of the secret store containing credentials for this resource, if any.
27004        '''
27005        self.subdomain = subdomain if subdomain is not None else ''
27006        '''
27007         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
27008        '''
27009        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27010        '''
27011         Tags is a map of key, value pairs.
27012        '''
27013        self.username = username if username is not None else ''
27014        '''
27015         The username to authenticate with.
27016        '''
27017
27018    def __repr__(self):
27019        return '<sdm.SSHCert ' + \
27020            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
27021            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
27022            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
27023            'healthy: ' + repr(self.healthy) + ' ' +\
27024            'hostname: ' + repr(self.hostname) + ' ' +\
27025            'id: ' + repr(self.id) + ' ' +\
27026            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
27027            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
27028            'key_type: ' + repr(self.key_type) + ' ' +\
27029            'name: ' + repr(self.name) + ' ' +\
27030            'port: ' + repr(self.port) + ' ' +\
27031            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
27032            'port_override: ' + repr(self.port_override) + ' ' +\
27033            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
27034            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
27035            'subdomain: ' + repr(self.subdomain) + ' ' +\
27036            'tags: ' + repr(self.tags) + ' ' +\
27037            'username: ' + repr(self.username) + ' ' +\
27038            '>'
27039
27040    def to_dict(self):
27041        return {
27042            'allow_deprecated_key_exchanges':
27043            self.allow_deprecated_key_exchanges,
27044            'bind_interface': self.bind_interface,
27045            'egress_filter': self.egress_filter,
27046            'healthy': self.healthy,
27047            'hostname': self.hostname,
27048            'id': self.id,
27049            'identity_alias_healthcheck_username':
27050            self.identity_alias_healthcheck_username,
27051            'identity_set_id': self.identity_set_id,
27052            'key_type': self.key_type,
27053            'name': self.name,
27054            'port': self.port,
27055            'port_forwarding': self.port_forwarding,
27056            'port_override': self.port_override,
27057            'proxy_cluster_id': self.proxy_cluster_id,
27058            'secret_store_id': self.secret_store_id,
27059            'subdomain': self.subdomain,
27060            'tags': self.tags,
27061            'username': self.username,
27062        }
27063
27064    @classmethod
27065    def from_dict(cls, d):
27066        return cls(
27067            allow_deprecated_key_exchanges=d.get(
27068                'allow_deprecated_key_exchanges'),
27069            bind_interface=d.get('bind_interface'),
27070            egress_filter=d.get('egress_filter'),
27071            healthy=d.get('healthy'),
27072            hostname=d.get('hostname'),
27073            id=d.get('id'),
27074            identity_alias_healthcheck_username=d.get(
27075                'identity_alias_healthcheck_username'),
27076            identity_set_id=d.get('identity_set_id'),
27077            key_type=d.get('key_type'),
27078            name=d.get('name'),
27079            port=d.get('port'),
27080            port_forwarding=d.get('port_forwarding'),
27081            port_override=d.get('port_override'),
27082            proxy_cluster_id=d.get('proxy_cluster_id'),
27083            secret_store_id=d.get('secret_store_id'),
27084            subdomain=d.get('subdomain'),
27085            tags=d.get('tags'),
27086            username=d.get('username'),
27087        )
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)
26924    def __init__(
26925        self,
26926        allow_deprecated_key_exchanges=None,
26927        bind_interface=None,
26928        egress_filter=None,
26929        healthy=None,
26930        hostname=None,
26931        id=None,
26932        identity_alias_healthcheck_username=None,
26933        identity_set_id=None,
26934        key_type=None,
26935        name=None,
26936        port=None,
26937        port_forwarding=None,
26938        port_override=None,
26939        proxy_cluster_id=None,
26940        secret_store_id=None,
26941        subdomain=None,
26942        tags=None,
26943        username=None,
26944    ):
26945        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
26946        '''
26947         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
26948        '''
26949        self.bind_interface = bind_interface if bind_interface is not None else ''
26950        '''
26951         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26952        '''
26953        self.egress_filter = egress_filter if egress_filter is not None else ''
26954        '''
26955         A filter applied to the routing logic to pin datasource to nodes.
26956        '''
26957        self.healthy = healthy if healthy is not None else False
26958        '''
26959         True if the datasource is reachable and the credentials are valid.
26960        '''
26961        self.hostname = hostname if hostname is not None else ''
26962        '''
26963         The host to dial to initiate a connection from the egress node to this resource.
26964        '''
26965        self.id = id if id is not None else ''
26966        '''
26967         Unique identifier of the Resource.
26968        '''
26969        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
26970        '''
26971         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
26972        '''
26973        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
26974        '''
26975         The ID of the identity set to use for identity connections.
26976        '''
26977        self.key_type = key_type if key_type is not None else ''
26978        '''
26979         The key type to use e.g. rsa-2048 or ed25519
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.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26998        '''
26999         ID of the proxy cluster for this resource, if any.
27000        '''
27001        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
27002        '''
27003         ID of the secret store containing credentials for this resource, if any.
27004        '''
27005        self.subdomain = subdomain if subdomain is not None else ''
27006        '''
27007         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
27008        '''
27009        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27010        '''
27011         Tags is a map of key, value pairs.
27012        '''
27013        self.username = username if username is not None else ''
27014        '''
27015         The username to authenticate with.
27016        '''
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)
27040    def to_dict(self):
27041        return {
27042            'allow_deprecated_key_exchanges':
27043            self.allow_deprecated_key_exchanges,
27044            'bind_interface': self.bind_interface,
27045            'egress_filter': self.egress_filter,
27046            'healthy': self.healthy,
27047            'hostname': self.hostname,
27048            'id': self.id,
27049            'identity_alias_healthcheck_username':
27050            self.identity_alias_healthcheck_username,
27051            'identity_set_id': self.identity_set_id,
27052            'key_type': self.key_type,
27053            'name': self.name,
27054            'port': self.port,
27055            'port_forwarding': self.port_forwarding,
27056            'port_override': self.port_override,
27057            'proxy_cluster_id': self.proxy_cluster_id,
27058            'secret_store_id': self.secret_store_id,
27059            'subdomain': self.subdomain,
27060            'tags': self.tags,
27061            'username': self.username,
27062        }
@classmethod
def from_dict(cls, d)
27064    @classmethod
27065    def from_dict(cls, d):
27066        return cls(
27067            allow_deprecated_key_exchanges=d.get(
27068                'allow_deprecated_key_exchanges'),
27069            bind_interface=d.get('bind_interface'),
27070            egress_filter=d.get('egress_filter'),
27071            healthy=d.get('healthy'),
27072            hostname=d.get('hostname'),
27073            id=d.get('id'),
27074            identity_alias_healthcheck_username=d.get(
27075                'identity_alias_healthcheck_username'),
27076            identity_set_id=d.get('identity_set_id'),
27077            key_type=d.get('key_type'),
27078            name=d.get('name'),
27079            port=d.get('port'),
27080            port_forwarding=d.get('port_forwarding'),
27081            port_override=d.get('port_override'),
27082            proxy_cluster_id=d.get('proxy_cluster_id'),
27083            secret_store_id=d.get('secret_store_id'),
27084            subdomain=d.get('subdomain'),
27085            tags=d.get('tags'),
27086            username=d.get('username'),
27087        )
class SSHCustomerKey:
27090class SSHCustomerKey:
27091    __slots__ = [
27092        'allow_deprecated_key_exchanges',
27093        'bind_interface',
27094        'egress_filter',
27095        'healthy',
27096        'hostname',
27097        'id',
27098        'identity_alias_healthcheck_username',
27099        'identity_set_id',
27100        'name',
27101        'port',
27102        'port_forwarding',
27103        'port_override',
27104        'private_key',
27105        'proxy_cluster_id',
27106        'secret_store_id',
27107        'subdomain',
27108        'tags',
27109        'username',
27110    ]
27111
27112    def __init__(
27113        self,
27114        allow_deprecated_key_exchanges=None,
27115        bind_interface=None,
27116        egress_filter=None,
27117        healthy=None,
27118        hostname=None,
27119        id=None,
27120        identity_alias_healthcheck_username=None,
27121        identity_set_id=None,
27122        name=None,
27123        port=None,
27124        port_forwarding=None,
27125        port_override=None,
27126        private_key=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.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
27158        '''
27159         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
27160        '''
27161        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
27162        '''
27163         The ID of the identity set to use for identity connections.
27164        '''
27165        self.name = name if name is not None else ''
27166        '''
27167         Unique human-readable name of the Resource.
27168        '''
27169        self.port = port if port is not None else 0
27170        '''
27171         The port to dial to initiate a connection from the egress node to this resource.
27172        '''
27173        self.port_forwarding = port_forwarding if port_forwarding is not None else False
27174        '''
27175         Whether port forwarding is allowed through this server.
27176        '''
27177        self.port_override = port_override if port_override is not None else 0
27178        '''
27179         The local port used by clients to connect to this resource.
27180        '''
27181        self.private_key = private_key if private_key is not None else ''
27182        '''
27183         The private key used to authenticate with the server.
27184        '''
27185        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
27186        '''
27187         ID of the proxy cluster for this resource, if any.
27188        '''
27189        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
27190        '''
27191         ID of the secret store containing credentials for this resource, if any.
27192        '''
27193        self.subdomain = subdomain if subdomain is not None else ''
27194        '''
27195         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
27196        '''
27197        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27198        '''
27199         Tags is a map of key, value pairs.
27200        '''
27201        self.username = username if username is not None else ''
27202        '''
27203         The username to authenticate with.
27204        '''
27205
27206    def __repr__(self):
27207        return '<sdm.SSHCustomerKey ' + \
27208            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
27209            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
27210            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
27211            'healthy: ' + repr(self.healthy) + ' ' +\
27212            'hostname: ' + repr(self.hostname) + ' ' +\
27213            'id: ' + repr(self.id) + ' ' +\
27214            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
27215            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
27216            'name: ' + repr(self.name) + ' ' +\
27217            'port: ' + repr(self.port) + ' ' +\
27218            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
27219            'port_override: ' + repr(self.port_override) + ' ' +\
27220            'private_key: ' + repr(self.private_key) + ' ' +\
27221            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
27222            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
27223            'subdomain: ' + repr(self.subdomain) + ' ' +\
27224            'tags: ' + repr(self.tags) + ' ' +\
27225            'username: ' + repr(self.username) + ' ' +\
27226            '>'
27227
27228    def to_dict(self):
27229        return {
27230            'allow_deprecated_key_exchanges':
27231            self.allow_deprecated_key_exchanges,
27232            'bind_interface': self.bind_interface,
27233            'egress_filter': self.egress_filter,
27234            'healthy': self.healthy,
27235            'hostname': self.hostname,
27236            'id': self.id,
27237            'identity_alias_healthcheck_username':
27238            self.identity_alias_healthcheck_username,
27239            'identity_set_id': self.identity_set_id,
27240            'name': self.name,
27241            'port': self.port,
27242            'port_forwarding': self.port_forwarding,
27243            'port_override': self.port_override,
27244            'private_key': self.private_key,
27245            'proxy_cluster_id': self.proxy_cluster_id,
27246            'secret_store_id': self.secret_store_id,
27247            'subdomain': self.subdomain,
27248            'tags': self.tags,
27249            'username': self.username,
27250        }
27251
27252    @classmethod
27253    def from_dict(cls, d):
27254        return cls(
27255            allow_deprecated_key_exchanges=d.get(
27256                'allow_deprecated_key_exchanges'),
27257            bind_interface=d.get('bind_interface'),
27258            egress_filter=d.get('egress_filter'),
27259            healthy=d.get('healthy'),
27260            hostname=d.get('hostname'),
27261            id=d.get('id'),
27262            identity_alias_healthcheck_username=d.get(
27263                'identity_alias_healthcheck_username'),
27264            identity_set_id=d.get('identity_set_id'),
27265            name=d.get('name'),
27266            port=d.get('port'),
27267            port_forwarding=d.get('port_forwarding'),
27268            port_override=d.get('port_override'),
27269            private_key=d.get('private_key'),
27270            proxy_cluster_id=d.get('proxy_cluster_id'),
27271            secret_store_id=d.get('secret_store_id'),
27272            subdomain=d.get('subdomain'),
27273            tags=d.get('tags'),
27274            username=d.get('username'),
27275        )
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)
27112    def __init__(
27113        self,
27114        allow_deprecated_key_exchanges=None,
27115        bind_interface=None,
27116        egress_filter=None,
27117        healthy=None,
27118        hostname=None,
27119        id=None,
27120        identity_alias_healthcheck_username=None,
27121        identity_set_id=None,
27122        name=None,
27123        port=None,
27124        port_forwarding=None,
27125        port_override=None,
27126        private_key=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.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
27158        '''
27159         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
27160        '''
27161        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
27162        '''
27163         The ID of the identity set to use for identity connections.
27164        '''
27165        self.name = name if name is not None else ''
27166        '''
27167         Unique human-readable name of the Resource.
27168        '''
27169        self.port = port if port is not None else 0
27170        '''
27171         The port to dial to initiate a connection from the egress node to this resource.
27172        '''
27173        self.port_forwarding = port_forwarding if port_forwarding is not None else False
27174        '''
27175         Whether port forwarding is allowed through this server.
27176        '''
27177        self.port_override = port_override if port_override is not None else 0
27178        '''
27179         The local port used by clients to connect to this resource.
27180        '''
27181        self.private_key = private_key if private_key is not None else ''
27182        '''
27183         The private key used to authenticate with the server.
27184        '''
27185        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
27186        '''
27187         ID of the proxy cluster for this resource, if any.
27188        '''
27189        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
27190        '''
27191         ID of the secret store containing credentials for this resource, if any.
27192        '''
27193        self.subdomain = subdomain if subdomain is not None else ''
27194        '''
27195         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
27196        '''
27197        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27198        '''
27199         Tags is a map of key, value pairs.
27200        '''
27201        self.username = username if username is not None else ''
27202        '''
27203         The username to authenticate with.
27204        '''
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)
27228    def to_dict(self):
27229        return {
27230            'allow_deprecated_key_exchanges':
27231            self.allow_deprecated_key_exchanges,
27232            'bind_interface': self.bind_interface,
27233            'egress_filter': self.egress_filter,
27234            'healthy': self.healthy,
27235            'hostname': self.hostname,
27236            'id': self.id,
27237            'identity_alias_healthcheck_username':
27238            self.identity_alias_healthcheck_username,
27239            'identity_set_id': self.identity_set_id,
27240            'name': self.name,
27241            'port': self.port,
27242            'port_forwarding': self.port_forwarding,
27243            'port_override': self.port_override,
27244            'private_key': self.private_key,
27245            'proxy_cluster_id': self.proxy_cluster_id,
27246            'secret_store_id': self.secret_store_id,
27247            'subdomain': self.subdomain,
27248            'tags': self.tags,
27249            'username': self.username,
27250        }
@classmethod
def from_dict(cls, d)
27252    @classmethod
27253    def from_dict(cls, d):
27254        return cls(
27255            allow_deprecated_key_exchanges=d.get(
27256                'allow_deprecated_key_exchanges'),
27257            bind_interface=d.get('bind_interface'),
27258            egress_filter=d.get('egress_filter'),
27259            healthy=d.get('healthy'),
27260            hostname=d.get('hostname'),
27261            id=d.get('id'),
27262            identity_alias_healthcheck_username=d.get(
27263                'identity_alias_healthcheck_username'),
27264            identity_set_id=d.get('identity_set_id'),
27265            name=d.get('name'),
27266            port=d.get('port'),
27267            port_forwarding=d.get('port_forwarding'),
27268            port_override=d.get('port_override'),
27269            private_key=d.get('private_key'),
27270            proxy_cluster_id=d.get('proxy_cluster_id'),
27271            secret_store_id=d.get('secret_store_id'),
27272            subdomain=d.get('subdomain'),
27273            tags=d.get('tags'),
27274            username=d.get('username'),
27275        )
class SSHPassword:
27278class SSHPassword:
27279    __slots__ = [
27280        'allow_deprecated_key_exchanges',
27281        'bind_interface',
27282        'egress_filter',
27283        'healthy',
27284        'hostname',
27285        'id',
27286        'name',
27287        'password',
27288        'port',
27289        'port_forwarding',
27290        'port_override',
27291        'proxy_cluster_id',
27292        'secret_store_id',
27293        'subdomain',
27294        'tags',
27295        'username',
27296    ]
27297
27298    def __init__(
27299        self,
27300        allow_deprecated_key_exchanges=None,
27301        bind_interface=None,
27302        egress_filter=None,
27303        healthy=None,
27304        hostname=None,
27305        id=None,
27306        name=None,
27307        password=None,
27308        port=None,
27309        port_forwarding=None,
27310        port_override=None,
27311        proxy_cluster_id=None,
27312        secret_store_id=None,
27313        subdomain=None,
27314        tags=None,
27315        username=None,
27316    ):
27317        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
27318        '''
27319         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
27320        '''
27321        self.bind_interface = bind_interface if bind_interface is not None else ''
27322        '''
27323         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
27324        '''
27325        self.egress_filter = egress_filter if egress_filter is not None else ''
27326        '''
27327         A filter applied to the routing logic to pin datasource to nodes.
27328        '''
27329        self.healthy = healthy if healthy is not None else False
27330        '''
27331         True if the datasource is reachable and the credentials are valid.
27332        '''
27333        self.hostname = hostname if hostname is not None else ''
27334        '''
27335         The host to dial to initiate a connection from the egress node to this resource.
27336        '''
27337        self.id = id if id is not None else ''
27338        '''
27339         Unique identifier of the Resource.
27340        '''
27341        self.name = name if name is not None else ''
27342        '''
27343         Unique human-readable name of the Resource.
27344        '''
27345        self.password = password if password is not None else ''
27346        '''
27347         The password to authenticate with.
27348        '''
27349        self.port = port if port is not None else 0
27350        '''
27351         The port to dial to initiate a connection from the egress node to this resource.
27352        '''
27353        self.port_forwarding = port_forwarding if port_forwarding is not None else False
27354        '''
27355         Whether port forwarding is allowed through this server.
27356        '''
27357        self.port_override = port_override if port_override is not None else 0
27358        '''
27359         The local port used by clients to connect to this resource.
27360        '''
27361        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
27362        '''
27363         ID of the proxy cluster for this resource, if any.
27364        '''
27365        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
27366        '''
27367         ID of the secret store containing credentials for this resource, if any.
27368        '''
27369        self.subdomain = subdomain if subdomain is not None else ''
27370        '''
27371         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
27372        '''
27373        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27374        '''
27375         Tags is a map of key, value pairs.
27376        '''
27377        self.username = username if username is not None else ''
27378        '''
27379         The username to authenticate with.
27380        '''
27381
27382    def __repr__(self):
27383        return '<sdm.SSHPassword ' + \
27384            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
27385            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
27386            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
27387            'healthy: ' + repr(self.healthy) + ' ' +\
27388            'hostname: ' + repr(self.hostname) + ' ' +\
27389            'id: ' + repr(self.id) + ' ' +\
27390            'name: ' + repr(self.name) + ' ' +\
27391            'password: ' + repr(self.password) + ' ' +\
27392            'port: ' + repr(self.port) + ' ' +\
27393            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
27394            'port_override: ' + repr(self.port_override) + ' ' +\
27395            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
27396            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
27397            'subdomain: ' + repr(self.subdomain) + ' ' +\
27398            'tags: ' + repr(self.tags) + ' ' +\
27399            'username: ' + repr(self.username) + ' ' +\
27400            '>'
27401
27402    def to_dict(self):
27403        return {
27404            'allow_deprecated_key_exchanges':
27405            self.allow_deprecated_key_exchanges,
27406            'bind_interface': self.bind_interface,
27407            'egress_filter': self.egress_filter,
27408            'healthy': self.healthy,
27409            'hostname': self.hostname,
27410            'id': self.id,
27411            'name': self.name,
27412            'password': self.password,
27413            'port': self.port,
27414            'port_forwarding': self.port_forwarding,
27415            'port_override': self.port_override,
27416            'proxy_cluster_id': self.proxy_cluster_id,
27417            'secret_store_id': self.secret_store_id,
27418            'subdomain': self.subdomain,
27419            'tags': self.tags,
27420            'username': self.username,
27421        }
27422
27423    @classmethod
27424    def from_dict(cls, d):
27425        return cls(
27426            allow_deprecated_key_exchanges=d.get(
27427                'allow_deprecated_key_exchanges'),
27428            bind_interface=d.get('bind_interface'),
27429            egress_filter=d.get('egress_filter'),
27430            healthy=d.get('healthy'),
27431            hostname=d.get('hostname'),
27432            id=d.get('id'),
27433            name=d.get('name'),
27434            password=d.get('password'),
27435            port=d.get('port'),
27436            port_forwarding=d.get('port_forwarding'),
27437            port_override=d.get('port_override'),
27438            proxy_cluster_id=d.get('proxy_cluster_id'),
27439            secret_store_id=d.get('secret_store_id'),
27440            subdomain=d.get('subdomain'),
27441            tags=d.get('tags'),
27442            username=d.get('username'),
27443        )
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)
27298    def __init__(
27299        self,
27300        allow_deprecated_key_exchanges=None,
27301        bind_interface=None,
27302        egress_filter=None,
27303        healthy=None,
27304        hostname=None,
27305        id=None,
27306        name=None,
27307        password=None,
27308        port=None,
27309        port_forwarding=None,
27310        port_override=None,
27311        proxy_cluster_id=None,
27312        secret_store_id=None,
27313        subdomain=None,
27314        tags=None,
27315        username=None,
27316    ):
27317        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
27318        '''
27319         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
27320        '''
27321        self.bind_interface = bind_interface if bind_interface is not None else ''
27322        '''
27323         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
27324        '''
27325        self.egress_filter = egress_filter if egress_filter is not None else ''
27326        '''
27327         A filter applied to the routing logic to pin datasource to nodes.
27328        '''
27329        self.healthy = healthy if healthy is not None else False
27330        '''
27331         True if the datasource is reachable and the credentials are valid.
27332        '''
27333        self.hostname = hostname if hostname is not None else ''
27334        '''
27335         The host to dial to initiate a connection from the egress node to this resource.
27336        '''
27337        self.id = id if id is not None else ''
27338        '''
27339         Unique identifier of the Resource.
27340        '''
27341        self.name = name if name is not None else ''
27342        '''
27343         Unique human-readable name of the Resource.
27344        '''
27345        self.password = password if password is not None else ''
27346        '''
27347         The password to authenticate with.
27348        '''
27349        self.port = port if port is not None else 0
27350        '''
27351         The port to dial to initiate a connection from the egress node to this resource.
27352        '''
27353        self.port_forwarding = port_forwarding if port_forwarding is not None else False
27354        '''
27355         Whether port forwarding is allowed through this server.
27356        '''
27357        self.port_override = port_override if port_override is not None else 0
27358        '''
27359         The local port used by clients to connect to this resource.
27360        '''
27361        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
27362        '''
27363         ID of the proxy cluster for this resource, if any.
27364        '''
27365        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
27366        '''
27367         ID of the secret store containing credentials for this resource, if any.
27368        '''
27369        self.subdomain = subdomain if subdomain is not None else ''
27370        '''
27371         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
27372        '''
27373        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27374        '''
27375         Tags is a map of key, value pairs.
27376        '''
27377        self.username = username if username is not None else ''
27378        '''
27379         The username to authenticate with.
27380        '''
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)
27402    def to_dict(self):
27403        return {
27404            'allow_deprecated_key_exchanges':
27405            self.allow_deprecated_key_exchanges,
27406            'bind_interface': self.bind_interface,
27407            'egress_filter': self.egress_filter,
27408            'healthy': self.healthy,
27409            'hostname': self.hostname,
27410            'id': self.id,
27411            'name': self.name,
27412            'password': self.password,
27413            'port': self.port,
27414            'port_forwarding': self.port_forwarding,
27415            'port_override': self.port_override,
27416            'proxy_cluster_id': self.proxy_cluster_id,
27417            'secret_store_id': self.secret_store_id,
27418            'subdomain': self.subdomain,
27419            'tags': self.tags,
27420            'username': self.username,
27421        }
@classmethod
def from_dict(cls, d)
27423    @classmethod
27424    def from_dict(cls, d):
27425        return cls(
27426            allow_deprecated_key_exchanges=d.get(
27427                'allow_deprecated_key_exchanges'),
27428            bind_interface=d.get('bind_interface'),
27429            egress_filter=d.get('egress_filter'),
27430            healthy=d.get('healthy'),
27431            hostname=d.get('hostname'),
27432            id=d.get('id'),
27433            name=d.get('name'),
27434            password=d.get('password'),
27435            port=d.get('port'),
27436            port_forwarding=d.get('port_forwarding'),
27437            port_override=d.get('port_override'),
27438            proxy_cluster_id=d.get('proxy_cluster_id'),
27439            secret_store_id=d.get('secret_store_id'),
27440            subdomain=d.get('subdomain'),
27441            tags=d.get('tags'),
27442            username=d.get('username'),
27443        )
class SecretEngineCreateRequest:
27446class SecretEngineCreateRequest:
27447    '''
27448         SecretEngineCreateRequest specifies a Secret Engine to create.
27449    '''
27450    __slots__ = [
27451        'secret_engine',
27452    ]
27453
27454    def __init__(
27455        self,
27456        secret_engine=None,
27457    ):
27458        self.secret_engine = secret_engine if secret_engine is not None else None
27459        '''
27460         Parameters to define the new Secret Engine.
27461        '''
27462
27463    def __repr__(self):
27464        return '<sdm.SecretEngineCreateRequest ' + \
27465            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
27466            '>'
27467
27468    def to_dict(self):
27469        return {
27470            'secret_engine': self.secret_engine,
27471        }
27472
27473    @classmethod
27474    def from_dict(cls, d):
27475        return cls(secret_engine=d.get('secret_engine'), )

SecretEngineCreateRequest specifies a Secret Engine to create.

SecretEngineCreateRequest(secret_engine=None)
27454    def __init__(
27455        self,
27456        secret_engine=None,
27457    ):
27458        self.secret_engine = secret_engine if secret_engine is not None else None
27459        '''
27460         Parameters to define the new Secret Engine.
27461        '''
secret_engine

Parameters to define the new Secret Engine.

def to_dict(self)
27468    def to_dict(self):
27469        return {
27470            'secret_engine': self.secret_engine,
27471        }
@classmethod
def from_dict(cls, d)
27473    @classmethod
27474    def from_dict(cls, d):
27475        return cls(secret_engine=d.get('secret_engine'), )
class SecretEngineCreateResponse:
27478class SecretEngineCreateResponse:
27479    '''
27480         SecretEngineCreateResponse contains information about a Secret Engine after successful creation.
27481    '''
27482    __slots__ = [
27483        'meta',
27484        'rate_limit',
27485        'secret_engine',
27486    ]
27487
27488    def __init__(
27489        self,
27490        meta=None,
27491        rate_limit=None,
27492        secret_engine=None,
27493    ):
27494        self.meta = meta if meta is not None else None
27495        '''
27496         Reserved for future use.
27497        '''
27498        self.rate_limit = rate_limit if rate_limit is not None else None
27499        '''
27500         Rate limit information.
27501        '''
27502        self.secret_engine = secret_engine if secret_engine is not None else None
27503        '''
27504         The requested Secret Engine.
27505        '''
27506
27507    def __repr__(self):
27508        return '<sdm.SecretEngineCreateResponse ' + \
27509            'meta: ' + repr(self.meta) + ' ' +\
27510            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27511            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
27512            '>'
27513
27514    def to_dict(self):
27515        return {
27516            'meta': self.meta,
27517            'rate_limit': self.rate_limit,
27518            'secret_engine': self.secret_engine,
27519        }
27520
27521    @classmethod
27522    def from_dict(cls, d):
27523        return cls(
27524            meta=d.get('meta'),
27525            rate_limit=d.get('rate_limit'),
27526            secret_engine=d.get('secret_engine'),
27527        )

SecretEngineCreateResponse contains information about a Secret Engine after successful creation.

SecretEngineCreateResponse(meta=None, rate_limit=None, secret_engine=None)
27488    def __init__(
27489        self,
27490        meta=None,
27491        rate_limit=None,
27492        secret_engine=None,
27493    ):
27494        self.meta = meta if meta is not None else None
27495        '''
27496         Reserved for future use.
27497        '''
27498        self.rate_limit = rate_limit if rate_limit is not None else None
27499        '''
27500         Rate limit information.
27501        '''
27502        self.secret_engine = secret_engine if secret_engine is not None else None
27503        '''
27504         The requested Secret Engine.
27505        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

secret_engine

The requested Secret Engine.

def to_dict(self)
27514    def to_dict(self):
27515        return {
27516            'meta': self.meta,
27517            'rate_limit': self.rate_limit,
27518            'secret_engine': self.secret_engine,
27519        }
@classmethod
def from_dict(cls, d)
27521    @classmethod
27522    def from_dict(cls, d):
27523        return cls(
27524            meta=d.get('meta'),
27525            rate_limit=d.get('rate_limit'),
27526            secret_engine=d.get('secret_engine'),
27527        )
class SecretEngineDeleteRequest:
27530class SecretEngineDeleteRequest:
27531    '''
27532         SecretEngineDeleteRequest specified the ID of a Secret Engine to be deleted.
27533    '''
27534    __slots__ = [
27535        'id',
27536    ]
27537
27538    def __init__(
27539        self,
27540        id=None,
27541    ):
27542        self.id = id if id is not None else ''
27543        '''
27544         The unique identifier of the Secret Engine to delete.
27545        '''
27546
27547    def __repr__(self):
27548        return '<sdm.SecretEngineDeleteRequest ' + \
27549            'id: ' + repr(self.id) + ' ' +\
27550            '>'
27551
27552    def to_dict(self):
27553        return {
27554            'id': self.id,
27555        }
27556
27557    @classmethod
27558    def from_dict(cls, d):
27559        return cls(id=d.get('id'), )

SecretEngineDeleteRequest specified the ID of a Secret Engine to be deleted.

SecretEngineDeleteRequest(id=None)
27538    def __init__(
27539        self,
27540        id=None,
27541    ):
27542        self.id = id if id is not None else ''
27543        '''
27544         The unique identifier of the Secret Engine to delete.
27545        '''
id

The unique identifier of the Secret Engine to delete.

def to_dict(self)
27552    def to_dict(self):
27553        return {
27554            'id': self.id,
27555        }
@classmethod
def from_dict(cls, d)
27557    @classmethod
27558    def from_dict(cls, d):
27559        return cls(id=d.get('id'), )
class SecretEngineDeleteResponse:
27562class SecretEngineDeleteResponse:
27563    '''
27564         SecretEngineDeleteResponse contains information about a Secret Engine after it was deleted.
27565    '''
27566    __slots__ = [
27567        'rate_limit',
27568    ]
27569
27570    def __init__(
27571        self,
27572        rate_limit=None,
27573    ):
27574        self.rate_limit = rate_limit if rate_limit is not None else None
27575        '''
27576         Rate limit information.
27577        '''
27578
27579    def __repr__(self):
27580        return '<sdm.SecretEngineDeleteResponse ' + \
27581            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27582            '>'
27583
27584    def to_dict(self):
27585        return {
27586            'rate_limit': self.rate_limit,
27587        }
27588
27589    @classmethod
27590    def from_dict(cls, d):
27591        return cls(rate_limit=d.get('rate_limit'), )

SecretEngineDeleteResponse contains information about a Secret Engine after it was deleted.

SecretEngineDeleteResponse(rate_limit=None)
27570    def __init__(
27571        self,
27572        rate_limit=None,
27573    ):
27574        self.rate_limit = rate_limit if rate_limit is not None else None
27575        '''
27576         Rate limit information.
27577        '''
rate_limit

Rate limit information.

def to_dict(self)
27584    def to_dict(self):
27585        return {
27586            'rate_limit': self.rate_limit,
27587        }
@classmethod
def from_dict(cls, d)
27589    @classmethod
27590    def from_dict(cls, d):
27591        return cls(rate_limit=d.get('rate_limit'), )
class SecretEngineGetRequest:
27594class SecretEngineGetRequest:
27595    '''
27596         SecretEngineGetRequest specifies which Secret Engine to retrieve
27597    '''
27598    __slots__ = [
27599        'id',
27600    ]
27601
27602    def __init__(
27603        self,
27604        id=None,
27605    ):
27606        self.id = id if id is not None else ''
27607        '''
27608         The unique identifier of the Secret Engine to retrieve.
27609        '''
27610
27611    def __repr__(self):
27612        return '<sdm.SecretEngineGetRequest ' + \
27613            'id: ' + repr(self.id) + ' ' +\
27614            '>'
27615
27616    def to_dict(self):
27617        return {
27618            'id': self.id,
27619        }
27620
27621    @classmethod
27622    def from_dict(cls, d):
27623        return cls(id=d.get('id'), )

SecretEngineGetRequest specifies which Secret Engine to retrieve

SecretEngineGetRequest(id=None)
27602    def __init__(
27603        self,
27604        id=None,
27605    ):
27606        self.id = id if id is not None else ''
27607        '''
27608         The unique identifier of the Secret Engine to retrieve.
27609        '''
id

The unique identifier of the Secret Engine to retrieve.

def to_dict(self)
27616    def to_dict(self):
27617        return {
27618            'id': self.id,
27619        }
@classmethod
def from_dict(cls, d)
27621    @classmethod
27622    def from_dict(cls, d):
27623        return cls(id=d.get('id'), )
class SecretEngineGetResponse:
27626class SecretEngineGetResponse:
27627    '''
27628         SecretEngineGetResponse contains information about requested Secret Engine
27629    '''
27630    __slots__ = [
27631        'meta',
27632        'rate_limit',
27633        'secret_engine',
27634    ]
27635
27636    def __init__(
27637        self,
27638        meta=None,
27639        rate_limit=None,
27640        secret_engine=None,
27641    ):
27642        self.meta = meta if meta is not None else None
27643        '''
27644         Reserved for future use.
27645        '''
27646        self.rate_limit = rate_limit if rate_limit is not None else None
27647        '''
27648         Rate limit information.
27649        '''
27650        self.secret_engine = secret_engine if secret_engine is not None else None
27651        '''
27652         The requested Secret Engine.
27653        '''
27654
27655    def __repr__(self):
27656        return '<sdm.SecretEngineGetResponse ' + \
27657            'meta: ' + repr(self.meta) + ' ' +\
27658            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27659            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
27660            '>'
27661
27662    def to_dict(self):
27663        return {
27664            'meta': self.meta,
27665            'rate_limit': self.rate_limit,
27666            'secret_engine': self.secret_engine,
27667        }
27668
27669    @classmethod
27670    def from_dict(cls, d):
27671        return cls(
27672            meta=d.get('meta'),
27673            rate_limit=d.get('rate_limit'),
27674            secret_engine=d.get('secret_engine'),
27675        )

SecretEngineGetResponse contains information about requested Secret Engine

SecretEngineGetResponse(meta=None, rate_limit=None, secret_engine=None)
27636    def __init__(
27637        self,
27638        meta=None,
27639        rate_limit=None,
27640        secret_engine=None,
27641    ):
27642        self.meta = meta if meta is not None else None
27643        '''
27644         Reserved for future use.
27645        '''
27646        self.rate_limit = rate_limit if rate_limit is not None else None
27647        '''
27648         Rate limit information.
27649        '''
27650        self.secret_engine = secret_engine if secret_engine is not None else None
27651        '''
27652         The requested Secret Engine.
27653        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

secret_engine

The requested Secret Engine.

def to_dict(self)
27662    def to_dict(self):
27663        return {
27664            'meta': self.meta,
27665            'rate_limit': self.rate_limit,
27666            'secret_engine': self.secret_engine,
27667        }
@classmethod
def from_dict(cls, d)
27669    @classmethod
27670    def from_dict(cls, d):
27671        return cls(
27672            meta=d.get('meta'),
27673            rate_limit=d.get('rate_limit'),
27674            secret_engine=d.get('secret_engine'),
27675        )
class SecretEngineListRequest:
27678class SecretEngineListRequest:
27679    '''
27680         SecretEngineListRequest specifies criteria for retrieving a list of Secret Engines
27681    '''
27682    __slots__ = [
27683        'filter',
27684    ]
27685
27686    def __init__(
27687        self,
27688        filter=None,
27689    ):
27690        self.filter = filter if filter is not None else ''
27691        '''
27692         A human-readable filter query string.
27693        '''
27694
27695    def __repr__(self):
27696        return '<sdm.SecretEngineListRequest ' + \
27697            'filter: ' + repr(self.filter) + ' ' +\
27698            '>'
27699
27700    def to_dict(self):
27701        return {
27702            'filter': self.filter,
27703        }
27704
27705    @classmethod
27706    def from_dict(cls, d):
27707        return cls(filter=d.get('filter'), )

SecretEngineListRequest specifies criteria for retrieving a list of Secret Engines

SecretEngineListRequest(filter=None)
27686    def __init__(
27687        self,
27688        filter=None,
27689    ):
27690        self.filter = filter if filter is not None else ''
27691        '''
27692         A human-readable filter query string.
27693        '''
filter

A human-readable filter query string.

def to_dict(self)
27700    def to_dict(self):
27701        return {
27702            'filter': self.filter,
27703        }
@classmethod
def from_dict(cls, d)
27705    @classmethod
27706    def from_dict(cls, d):
27707        return cls(filter=d.get('filter'), )
class SecretEngineListResponse:
27710class SecretEngineListResponse:
27711    '''
27712         SecretEngineListResponse contains a list of requested Secret Engine
27713    '''
27714    __slots__ = [
27715        'rate_limit',
27716    ]
27717
27718    def __init__(
27719        self,
27720        rate_limit=None,
27721    ):
27722        self.rate_limit = rate_limit if rate_limit is not None else None
27723        '''
27724         Rate limit information.
27725        '''
27726
27727    def __repr__(self):
27728        return '<sdm.SecretEngineListResponse ' + \
27729            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27730            '>'
27731
27732    def to_dict(self):
27733        return {
27734            'rate_limit': self.rate_limit,
27735        }
27736
27737    @classmethod
27738    def from_dict(cls, d):
27739        return cls(rate_limit=d.get('rate_limit'), )

SecretEngineListResponse contains a list of requested Secret Engine

SecretEngineListResponse(rate_limit=None)
27718    def __init__(
27719        self,
27720        rate_limit=None,
27721    ):
27722        self.rate_limit = rate_limit if rate_limit is not None else None
27723        '''
27724         Rate limit information.
27725        '''
rate_limit

Rate limit information.

def to_dict(self)
27732    def to_dict(self):
27733        return {
27734            'rate_limit': self.rate_limit,
27735        }
@classmethod
def from_dict(cls, d)
27737    @classmethod
27738    def from_dict(cls, d):
27739        return cls(rate_limit=d.get('rate_limit'), )
class SecretEnginePasswordPolicy:
27742class SecretEnginePasswordPolicy:
27743    __slots__ = [
27744        'allow_repeat',
27745        'exclude_characters',
27746        'exclude_upper_case',
27747        'length',
27748        'num_digits',
27749        'num_symbols',
27750    ]
27751
27752    def __init__(
27753        self,
27754        allow_repeat=None,
27755        exclude_characters=None,
27756        exclude_upper_case=None,
27757        length=None,
27758        num_digits=None,
27759        num_symbols=None,
27760    ):
27761        self.allow_repeat = allow_repeat if allow_repeat is not None else False
27762        '''
27763         If set to true allows for consecutive characters to repeat itself
27764        '''
27765        self.exclude_characters = exclude_characters if exclude_characters is not None else ''
27766        '''
27767         Characters to exclude when generating password
27768        '''
27769        self.exclude_upper_case = exclude_upper_case if exclude_upper_case is not None else False
27770        '''
27771         If set to true do not include upper case letters when generating password
27772        '''
27773        self.length = length if length is not None else 0
27774        '''
27775         Password length.
27776        '''
27777        self.num_digits = num_digits if num_digits is not None else 0
27778        '''
27779         Numbers of digits to use when generating password
27780        '''
27781        self.num_symbols = num_symbols if num_symbols is not None else 0
27782        '''
27783         Number of symbols to use when generating password
27784        '''
27785
27786    def __repr__(self):
27787        return '<sdm.SecretEnginePasswordPolicy ' + \
27788            'allow_repeat: ' + repr(self.allow_repeat) + ' ' +\
27789            'exclude_characters: ' + repr(self.exclude_characters) + ' ' +\
27790            'exclude_upper_case: ' + repr(self.exclude_upper_case) + ' ' +\
27791            'length: ' + repr(self.length) + ' ' +\
27792            'num_digits: ' + repr(self.num_digits) + ' ' +\
27793            'num_symbols: ' + repr(self.num_symbols) + ' ' +\
27794            '>'
27795
27796    def to_dict(self):
27797        return {
27798            'allow_repeat': self.allow_repeat,
27799            'exclude_characters': self.exclude_characters,
27800            'exclude_upper_case': self.exclude_upper_case,
27801            'length': self.length,
27802            'num_digits': self.num_digits,
27803            'num_symbols': self.num_symbols,
27804        }
27805
27806    @classmethod
27807    def from_dict(cls, d):
27808        return cls(
27809            allow_repeat=d.get('allow_repeat'),
27810            exclude_characters=d.get('exclude_characters'),
27811            exclude_upper_case=d.get('exclude_upper_case'),
27812            length=d.get('length'),
27813            num_digits=d.get('num_digits'),
27814            num_symbols=d.get('num_symbols'),
27815        )
SecretEnginePasswordPolicy( allow_repeat=None, exclude_characters=None, exclude_upper_case=None, length=None, num_digits=None, num_symbols=None)
27752    def __init__(
27753        self,
27754        allow_repeat=None,
27755        exclude_characters=None,
27756        exclude_upper_case=None,
27757        length=None,
27758        num_digits=None,
27759        num_symbols=None,
27760    ):
27761        self.allow_repeat = allow_repeat if allow_repeat is not None else False
27762        '''
27763         If set to true allows for consecutive characters to repeat itself
27764        '''
27765        self.exclude_characters = exclude_characters if exclude_characters is not None else ''
27766        '''
27767         Characters to exclude when generating password
27768        '''
27769        self.exclude_upper_case = exclude_upper_case if exclude_upper_case is not None else False
27770        '''
27771         If set to true do not include upper case letters when generating password
27772        '''
27773        self.length = length if length is not None else 0
27774        '''
27775         Password length.
27776        '''
27777        self.num_digits = num_digits if num_digits is not None else 0
27778        '''
27779         Numbers of digits to use when generating password
27780        '''
27781        self.num_symbols = num_symbols if num_symbols is not None else 0
27782        '''
27783         Number of symbols to use when generating password
27784        '''
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)
27796    def to_dict(self):
27797        return {
27798            'allow_repeat': self.allow_repeat,
27799            'exclude_characters': self.exclude_characters,
27800            'exclude_upper_case': self.exclude_upper_case,
27801            'length': self.length,
27802            'num_digits': self.num_digits,
27803            'num_symbols': self.num_symbols,
27804        }
@classmethod
def from_dict(cls, d)
27806    @classmethod
27807    def from_dict(cls, d):
27808        return cls(
27809            allow_repeat=d.get('allow_repeat'),
27810            exclude_characters=d.get('exclude_characters'),
27811            exclude_upper_case=d.get('exclude_upper_case'),
27812            length=d.get('length'),
27813            num_digits=d.get('num_digits'),
27814            num_symbols=d.get('num_symbols'),
27815        )
class SecretEnginePolicy:
27818class SecretEnginePolicy:
27819    __slots__ = [
27820        'password_policy',
27821    ]
27822
27823    def __init__(
27824        self,
27825        password_policy=None,
27826    ):
27827        self.password_policy = password_policy if password_policy is not None else None
27828        '''
27829         Policy for password
27830        '''
27831
27832    def __repr__(self):
27833        return '<sdm.SecretEnginePolicy ' + \
27834            'password_policy: ' + repr(self.password_policy) + ' ' +\
27835            '>'
27836
27837    def to_dict(self):
27838        return {
27839            'password_policy': self.password_policy,
27840        }
27841
27842    @classmethod
27843    def from_dict(cls, d):
27844        return cls(password_policy=d.get('password_policy'), )
SecretEnginePolicy(password_policy=None)
27823    def __init__(
27824        self,
27825        password_policy=None,
27826    ):
27827        self.password_policy = password_policy if password_policy is not None else None
27828        '''
27829         Policy for password
27830        '''
password_policy

Policy for password

def to_dict(self)
27837    def to_dict(self):
27838        return {
27839            'password_policy': self.password_policy,
27840        }
@classmethod
def from_dict(cls, d)
27842    @classmethod
27843    def from_dict(cls, d):
27844        return cls(password_policy=d.get('password_policy'), )
class SecretEngineRotateRequest:
27847class SecretEngineRotateRequest:
27848    __slots__ = [
27849        'id',
27850        'password_policy',
27851    ]
27852
27853    def __init__(
27854        self,
27855        id=None,
27856        password_policy=None,
27857    ):
27858        self.id = id if id is not None else ''
27859        '''
27860         The unique identifier of the Secret Engine to rotate credentials for.
27861        '''
27862        self.password_policy = password_policy if password_policy is not None else None
27863        '''
27864         Optional password policy to use when generating a password
27865         If not provided it will use secret engine's password_policy
27866        '''
27867
27868    def __repr__(self):
27869        return '<sdm.SecretEngineRotateRequest ' + \
27870            'id: ' + repr(self.id) + ' ' +\
27871            'password_policy: ' + repr(self.password_policy) + ' ' +\
27872            '>'
27873
27874    def to_dict(self):
27875        return {
27876            'id': self.id,
27877            'password_policy': self.password_policy,
27878        }
27879
27880    @classmethod
27881    def from_dict(cls, d):
27882        return cls(
27883            id=d.get('id'),
27884            password_policy=d.get('password_policy'),
27885        )
SecretEngineRotateRequest(id=None, password_policy=None)
27853    def __init__(
27854        self,
27855        id=None,
27856        password_policy=None,
27857    ):
27858        self.id = id if id is not None else ''
27859        '''
27860         The unique identifier of the Secret Engine to rotate credentials for.
27861        '''
27862        self.password_policy = password_policy if password_policy is not None else None
27863        '''
27864         Optional password policy to use when generating a password
27865         If not provided it will use secret engine's password_policy
27866        '''
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)
27874    def to_dict(self):
27875        return {
27876            'id': self.id,
27877            'password_policy': self.password_policy,
27878        }
@classmethod
def from_dict(cls, d)
27880    @classmethod
27881    def from_dict(cls, d):
27882        return cls(
27883            id=d.get('id'),
27884            password_policy=d.get('password_policy'),
27885        )
class SecretEngineRotateResponse:
27888class SecretEngineRotateResponse:
27889    __slots__ = [
27890        'rate_limit',
27891    ]
27892
27893    def __init__(
27894        self,
27895        rate_limit=None,
27896    ):
27897        self.rate_limit = rate_limit if rate_limit is not None else None
27898        '''
27899         Rate limit information.
27900        '''
27901
27902    def __repr__(self):
27903        return '<sdm.SecretEngineRotateResponse ' + \
27904            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27905            '>'
27906
27907    def to_dict(self):
27908        return {
27909            'rate_limit': self.rate_limit,
27910        }
27911
27912    @classmethod
27913    def from_dict(cls, d):
27914        return cls(rate_limit=d.get('rate_limit'), )
SecretEngineRotateResponse(rate_limit=None)
27893    def __init__(
27894        self,
27895        rate_limit=None,
27896    ):
27897        self.rate_limit = rate_limit if rate_limit is not None else None
27898        '''
27899         Rate limit information.
27900        '''
rate_limit

Rate limit information.

def to_dict(self)
27907    def to_dict(self):
27908        return {
27909            'rate_limit': self.rate_limit,
27910        }
@classmethod
def from_dict(cls, d)
27912    @classmethod
27913    def from_dict(cls, d):
27914        return cls(rate_limit=d.get('rate_limit'), )
class SecretEngineUpdateRequest:
27917class SecretEngineUpdateRequest:
27918    '''
27919         SecretEngineUpdateRequest specifies secret engine to update
27920    '''
27921    __slots__ = [
27922        'secret_engine',
27923    ]
27924
27925    def __init__(
27926        self,
27927        secret_engine=None,
27928    ):
27929        self.secret_engine = secret_engine if secret_engine is not None else None
27930        '''
27931         Secret engine to update
27932        '''
27933
27934    def __repr__(self):
27935        return '<sdm.SecretEngineUpdateRequest ' + \
27936            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
27937            '>'
27938
27939    def to_dict(self):
27940        return {
27941            'secret_engine': self.secret_engine,
27942        }
27943
27944    @classmethod
27945    def from_dict(cls, d):
27946        return cls(secret_engine=d.get('secret_engine'), )

SecretEngineUpdateRequest specifies secret engine to update

SecretEngineUpdateRequest(secret_engine=None)
27925    def __init__(
27926        self,
27927        secret_engine=None,
27928    ):
27929        self.secret_engine = secret_engine if secret_engine is not None else None
27930        '''
27931         Secret engine to update
27932        '''
secret_engine

Secret engine to update

def to_dict(self)
27939    def to_dict(self):
27940        return {
27941            'secret_engine': self.secret_engine,
27942        }
@classmethod
def from_dict(cls, d)
27944    @classmethod
27945    def from_dict(cls, d):
27946        return cls(secret_engine=d.get('secret_engine'), )
class SecretEngineUpdateResponse:
27949class SecretEngineUpdateResponse:
27950    '''
27951         SecretEngineUpdateResponse contains information about Secret Engine after successful update.
27952    '''
27953    __slots__ = [
27954        'meta',
27955        'rate_limit',
27956        'secret_engine',
27957    ]
27958
27959    def __init__(
27960        self,
27961        meta=None,
27962        rate_limit=None,
27963        secret_engine=None,
27964    ):
27965        self.meta = meta if meta is not None else None
27966        '''
27967         Reserved for future use.
27968        '''
27969        self.rate_limit = rate_limit if rate_limit is not None else None
27970        '''
27971         Rate limit information.
27972        '''
27973        self.secret_engine = secret_engine if secret_engine is not None else None
27974        '''
27975         The requested Secret Engine.
27976        '''
27977
27978    def __repr__(self):
27979        return '<sdm.SecretEngineUpdateResponse ' + \
27980            'meta: ' + repr(self.meta) + ' ' +\
27981            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27982            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
27983            '>'
27984
27985    def to_dict(self):
27986        return {
27987            'meta': self.meta,
27988            'rate_limit': self.rate_limit,
27989            'secret_engine': self.secret_engine,
27990        }
27991
27992    @classmethod
27993    def from_dict(cls, d):
27994        return cls(
27995            meta=d.get('meta'),
27996            rate_limit=d.get('rate_limit'),
27997            secret_engine=d.get('secret_engine'),
27998        )

SecretEngineUpdateResponse contains information about Secret Engine after successful update.

SecretEngineUpdateResponse(meta=None, rate_limit=None, secret_engine=None)
27959    def __init__(
27960        self,
27961        meta=None,
27962        rate_limit=None,
27963        secret_engine=None,
27964    ):
27965        self.meta = meta if meta is not None else None
27966        '''
27967         Reserved for future use.
27968        '''
27969        self.rate_limit = rate_limit if rate_limit is not None else None
27970        '''
27971         Rate limit information.
27972        '''
27973        self.secret_engine = secret_engine if secret_engine is not None else None
27974        '''
27975         The requested Secret Engine.
27976        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

secret_engine

The requested Secret Engine.

def to_dict(self)
27985    def to_dict(self):
27986        return {
27987            'meta': self.meta,
27988            'rate_limit': self.rate_limit,
27989            'secret_engine': self.secret_engine,
27990        }
@classmethod
def from_dict(cls, d)
27992    @classmethod
27993    def from_dict(cls, d):
27994        return cls(
27995            meta=d.get('meta'),
27996            rate_limit=d.get('rate_limit'),
27997            secret_engine=d.get('secret_engine'),
27998        )
class SecretStoreCreateResponse:
28001class SecretStoreCreateResponse:
28002    '''
28003         SecretStoreCreateResponse reports how the SecretStores were created in the system.
28004    '''
28005    __slots__ = [
28006        'meta',
28007        'rate_limit',
28008        'secret_store',
28009    ]
28010
28011    def __init__(
28012        self,
28013        meta=None,
28014        rate_limit=None,
28015        secret_store=None,
28016    ):
28017        self.meta = meta if meta is not None else None
28018        '''
28019         Reserved for future use.
28020        '''
28021        self.rate_limit = rate_limit if rate_limit is not None else None
28022        '''
28023         Rate limit information.
28024        '''
28025        self.secret_store = secret_store if secret_store is not None else None
28026        '''
28027         The created SecretStore.
28028        '''
28029
28030    def __repr__(self):
28031        return '<sdm.SecretStoreCreateResponse ' + \
28032            'meta: ' + repr(self.meta) + ' ' +\
28033            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28034            'secret_store: ' + repr(self.secret_store) + ' ' +\
28035            '>'
28036
28037    def to_dict(self):
28038        return {
28039            'meta': self.meta,
28040            'rate_limit': self.rate_limit,
28041            'secret_store': self.secret_store,
28042        }
28043
28044    @classmethod
28045    def from_dict(cls, d):
28046        return cls(
28047            meta=d.get('meta'),
28048            rate_limit=d.get('rate_limit'),
28049            secret_store=d.get('secret_store'),
28050        )

SecretStoreCreateResponse reports how the SecretStores were created in the system.

SecretStoreCreateResponse(meta=None, rate_limit=None, secret_store=None)
28011    def __init__(
28012        self,
28013        meta=None,
28014        rate_limit=None,
28015        secret_store=None,
28016    ):
28017        self.meta = meta if meta is not None else None
28018        '''
28019         Reserved for future use.
28020        '''
28021        self.rate_limit = rate_limit if rate_limit is not None else None
28022        '''
28023         Rate limit information.
28024        '''
28025        self.secret_store = secret_store if secret_store is not None else None
28026        '''
28027         The created SecretStore.
28028        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

secret_store

The created SecretStore.

def to_dict(self)
28037    def to_dict(self):
28038        return {
28039            'meta': self.meta,
28040            'rate_limit': self.rate_limit,
28041            'secret_store': self.secret_store,
28042        }
@classmethod
def from_dict(cls, d)
28044    @classmethod
28045    def from_dict(cls, d):
28046        return cls(
28047            meta=d.get('meta'),
28048            rate_limit=d.get('rate_limit'),
28049            secret_store=d.get('secret_store'),
28050        )
class SecretStoreDeleteResponse:
28053class SecretStoreDeleteResponse:
28054    '''
28055         SecretStoreDeleteResponse returns information about a SecretStore that was deleted.
28056    '''
28057    __slots__ = [
28058        'meta',
28059        'rate_limit',
28060    ]
28061
28062    def __init__(
28063        self,
28064        meta=None,
28065        rate_limit=None,
28066    ):
28067        self.meta = meta if meta is not None else None
28068        '''
28069         Reserved for future use.
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.SecretStoreDeleteResponse ' + \
28078            'meta: ' + repr(self.meta) + ' ' +\
28079            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28080            '>'
28081
28082    def to_dict(self):
28083        return {
28084            'meta': self.meta,
28085            'rate_limit': self.rate_limit,
28086        }
28087
28088    @classmethod
28089    def from_dict(cls, d):
28090        return cls(
28091            meta=d.get('meta'),
28092            rate_limit=d.get('rate_limit'),
28093        )

SecretStoreDeleteResponse returns information about a SecretStore that was deleted.

SecretStoreDeleteResponse(meta=None, rate_limit=None)
28062    def __init__(
28063        self,
28064        meta=None,
28065        rate_limit=None,
28066    ):
28067        self.meta = meta if meta is not None else None
28068        '''
28069         Reserved for future use.
28070        '''
28071        self.rate_limit = rate_limit if rate_limit is not None else None
28072        '''
28073         Rate limit information.
28074        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
28082    def to_dict(self):
28083        return {
28084            'meta': self.meta,
28085            'rate_limit': self.rate_limit,
28086        }
@classmethod
def from_dict(cls, d)
28088    @classmethod
28089    def from_dict(cls, d):
28090        return cls(
28091            meta=d.get('meta'),
28092            rate_limit=d.get('rate_limit'),
28093        )
class SecretStoreGetResponse:
28096class SecretStoreGetResponse:
28097    '''
28098         SecretStoreGetResponse returns a requested SecretStore.
28099    '''
28100    __slots__ = [
28101        'meta',
28102        'rate_limit',
28103        'secret_store',
28104    ]
28105
28106    def __init__(
28107        self,
28108        meta=None,
28109        rate_limit=None,
28110        secret_store=None,
28111    ):
28112        self.meta = meta if meta is not None else None
28113        '''
28114         Reserved for future use.
28115        '''
28116        self.rate_limit = rate_limit if rate_limit is not None else None
28117        '''
28118         Rate limit information.
28119        '''
28120        self.secret_store = secret_store if secret_store is not None else None
28121        '''
28122         The requested SecretStore.
28123        '''
28124
28125    def __repr__(self):
28126        return '<sdm.SecretStoreGetResponse ' + \
28127            'meta: ' + repr(self.meta) + ' ' +\
28128            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28129            'secret_store: ' + repr(self.secret_store) + ' ' +\
28130            '>'
28131
28132    def to_dict(self):
28133        return {
28134            'meta': self.meta,
28135            'rate_limit': self.rate_limit,
28136            'secret_store': self.secret_store,
28137        }
28138
28139    @classmethod
28140    def from_dict(cls, d):
28141        return cls(
28142            meta=d.get('meta'),
28143            rate_limit=d.get('rate_limit'),
28144            secret_store=d.get('secret_store'),
28145        )

SecretStoreGetResponse returns a requested SecretStore.

SecretStoreGetResponse(meta=None, rate_limit=None, secret_store=None)
28106    def __init__(
28107        self,
28108        meta=None,
28109        rate_limit=None,
28110        secret_store=None,
28111    ):
28112        self.meta = meta if meta is not None else None
28113        '''
28114         Reserved for future use.
28115        '''
28116        self.rate_limit = rate_limit if rate_limit is not None else None
28117        '''
28118         Rate limit information.
28119        '''
28120        self.secret_store = secret_store if secret_store is not None else None
28121        '''
28122         The requested SecretStore.
28123        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

secret_store

The requested SecretStore.

def to_dict(self)
28132    def to_dict(self):
28133        return {
28134            'meta': self.meta,
28135            'rate_limit': self.rate_limit,
28136            'secret_store': self.secret_store,
28137        }
@classmethod
def from_dict(cls, d)
28139    @classmethod
28140    def from_dict(cls, d):
28141        return cls(
28142            meta=d.get('meta'),
28143            rate_limit=d.get('rate_limit'),
28144            secret_store=d.get('secret_store'),
28145        )
class SecretStoreHealth:
28148class SecretStoreHealth:
28149    '''
28150         SecretStoreHealth denotes a secret store's health status. Note a secret store is not
28151     healthy in terms of a simple boolean, but rather healthy with respect to a particular node
28152     or set of nodes.
28153    '''
28154    __slots__ = [
28155        'changed_at',
28156        'checked_at',
28157        'error',
28158        'flags',
28159        'node_id',
28160        'reachability',
28161        'secret_store_id',
28162        'status',
28163    ]
28164
28165    def __init__(
28166        self,
28167        changed_at=None,
28168        checked_at=None,
28169        error=None,
28170        flags=None,
28171        node_id=None,
28172        reachability=None,
28173        secret_store_id=None,
28174        status=None,
28175    ):
28176        self.changed_at = changed_at if changed_at is not None else None
28177        '''
28178         The time when the status last changed
28179        '''
28180        self.checked_at = checked_at if checked_at is not None else None
28181        '''
28182         The time when the status was last checked by the node
28183        '''
28184        self.error = error if error is not None else ''
28185        '''
28186         The error associated with this health check, if it occurred after reachability checks succeeded.
28187        '''
28188        self.flags = flags if flags is not None else []
28189        '''
28190         Any specific status or error flags associated with this health check.
28191        '''
28192        self.node_id = node_id if node_id is not None else ''
28193        '''
28194         Associated node id for this health
28195        '''
28196        self.reachability = reachability if reachability is not None else ''
28197        '''
28198         The error associated with this health check, if it occurred during reachability checks.
28199        '''
28200        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28201        '''
28202         Associated secret store for this health
28203        '''
28204        self.status = status if status is not None else ''
28205        '''
28206         The status of the link between the node and secret store
28207        '''
28208
28209    def __repr__(self):
28210        return '<sdm.SecretStoreHealth ' + \
28211            'changed_at: ' + repr(self.changed_at) + ' ' +\
28212            'checked_at: ' + repr(self.checked_at) + ' ' +\
28213            'error: ' + repr(self.error) + ' ' +\
28214            'flags: ' + repr(self.flags) + ' ' +\
28215            'node_id: ' + repr(self.node_id) + ' ' +\
28216            'reachability: ' + repr(self.reachability) + ' ' +\
28217            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
28218            'status: ' + repr(self.status) + ' ' +\
28219            '>'
28220
28221    def to_dict(self):
28222        return {
28223            'changed_at': self.changed_at,
28224            'checked_at': self.checked_at,
28225            'error': self.error,
28226            'flags': self.flags,
28227            'node_id': self.node_id,
28228            'reachability': self.reachability,
28229            'secret_store_id': self.secret_store_id,
28230            'status': self.status,
28231        }
28232
28233    @classmethod
28234    def from_dict(cls, d):
28235        return cls(
28236            changed_at=d.get('changed_at'),
28237            checked_at=d.get('checked_at'),
28238            error=d.get('error'),
28239            flags=d.get('flags'),
28240            node_id=d.get('node_id'),
28241            reachability=d.get('reachability'),
28242            secret_store_id=d.get('secret_store_id'),
28243            status=d.get('status'),
28244        )

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)
28165    def __init__(
28166        self,
28167        changed_at=None,
28168        checked_at=None,
28169        error=None,
28170        flags=None,
28171        node_id=None,
28172        reachability=None,
28173        secret_store_id=None,
28174        status=None,
28175    ):
28176        self.changed_at = changed_at if changed_at is not None else None
28177        '''
28178         The time when the status last changed
28179        '''
28180        self.checked_at = checked_at if checked_at is not None else None
28181        '''
28182         The time when the status was last checked by the node
28183        '''
28184        self.error = error if error is not None else ''
28185        '''
28186         The error associated with this health check, if it occurred after reachability checks succeeded.
28187        '''
28188        self.flags = flags if flags is not None else []
28189        '''
28190         Any specific status or error flags associated with this health check.
28191        '''
28192        self.node_id = node_id if node_id is not None else ''
28193        '''
28194         Associated node id for this health
28195        '''
28196        self.reachability = reachability if reachability is not None else ''
28197        '''
28198         The error associated with this health check, if it occurred during reachability checks.
28199        '''
28200        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28201        '''
28202         Associated secret store for this health
28203        '''
28204        self.status = status if status is not None else ''
28205        '''
28206         The status of the link between the node and secret store
28207        '''
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)
28221    def to_dict(self):
28222        return {
28223            'changed_at': self.changed_at,
28224            'checked_at': self.checked_at,
28225            'error': self.error,
28226            'flags': self.flags,
28227            'node_id': self.node_id,
28228            'reachability': self.reachability,
28229            'secret_store_id': self.secret_store_id,
28230            'status': self.status,
28231        }
@classmethod
def from_dict(cls, d)
28233    @classmethod
28234    def from_dict(cls, d):
28235        return cls(
28236            changed_at=d.get('changed_at'),
28237            checked_at=d.get('checked_at'),
28238            error=d.get('error'),
28239            flags=d.get('flags'),
28240            node_id=d.get('node_id'),
28241            reachability=d.get('reachability'),
28242            secret_store_id=d.get('secret_store_id'),
28243            status=d.get('status'),
28244        )
class SecretStoreHealthListResponse:
28247class SecretStoreHealthListResponse:
28248    __slots__ = [
28249        'rate_limit',
28250    ]
28251
28252    def __init__(
28253        self,
28254        rate_limit=None,
28255    ):
28256        self.rate_limit = rate_limit if rate_limit is not None else None
28257        '''
28258         Rate limit information.
28259        '''
28260
28261    def __repr__(self):
28262        return '<sdm.SecretStoreHealthListResponse ' + \
28263            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28264            '>'
28265
28266    def to_dict(self):
28267        return {
28268            'rate_limit': self.rate_limit,
28269        }
28270
28271    @classmethod
28272    def from_dict(cls, d):
28273        return cls(rate_limit=d.get('rate_limit'), )
SecretStoreHealthListResponse(rate_limit=None)
28252    def __init__(
28253        self,
28254        rate_limit=None,
28255    ):
28256        self.rate_limit = rate_limit if rate_limit is not None else None
28257        '''
28258         Rate limit information.
28259        '''
rate_limit

Rate limit information.

def to_dict(self)
28266    def to_dict(self):
28267        return {
28268            'rate_limit': self.rate_limit,
28269        }
@classmethod
def from_dict(cls, d)
28271    @classmethod
28272    def from_dict(cls, d):
28273        return cls(rate_limit=d.get('rate_limit'), )
class SecretStoreHealthcheckResponse:
28276class SecretStoreHealthcheckResponse:
28277    __slots__ = [
28278        'rate_limit',
28279    ]
28280
28281    def __init__(
28282        self,
28283        rate_limit=None,
28284    ):
28285        self.rate_limit = rate_limit if rate_limit is not None else None
28286        '''
28287         Rate limit information.
28288        '''
28289
28290    def __repr__(self):
28291        return '<sdm.SecretStoreHealthcheckResponse ' + \
28292            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28293            '>'
28294
28295    def to_dict(self):
28296        return {
28297            'rate_limit': self.rate_limit,
28298        }
28299
28300    @classmethod
28301    def from_dict(cls, d):
28302        return cls(rate_limit=d.get('rate_limit'), )
SecretStoreHealthcheckResponse(rate_limit=None)
28281    def __init__(
28282        self,
28283        rate_limit=None,
28284    ):
28285        self.rate_limit = rate_limit if rate_limit is not None else None
28286        '''
28287         Rate limit information.
28288        '''
rate_limit

Rate limit information.

def to_dict(self)
28295    def to_dict(self):
28296        return {
28297            'rate_limit': self.rate_limit,
28298        }
@classmethod
def from_dict(cls, d)
28300    @classmethod
28301    def from_dict(cls, d):
28302        return cls(rate_limit=d.get('rate_limit'), )
class SecretStoreHistory:
28305class SecretStoreHistory:
28306    '''
28307         SecretStoreHistory records the state of a SecretStore at a given point in time,
28308     where every change (create, update and delete) to a SecretStore produces an
28309     SecretStoreHistory record.
28310    '''
28311    __slots__ = [
28312        'activity_id',
28313        'deleted_at',
28314        'secret_store',
28315        'timestamp',
28316    ]
28317
28318    def __init__(
28319        self,
28320        activity_id=None,
28321        deleted_at=None,
28322        secret_store=None,
28323        timestamp=None,
28324    ):
28325        self.activity_id = activity_id if activity_id is not None else ''
28326        '''
28327         The unique identifier of the Activity that produced this change to the SecretStore.
28328         May be empty for some system-initiated updates.
28329        '''
28330        self.deleted_at = deleted_at if deleted_at is not None else None
28331        '''
28332         If this SecretStore was deleted, the time it was deleted.
28333        '''
28334        self.secret_store = secret_store if secret_store is not None else None
28335        '''
28336         The complete SecretStore state at this time.
28337        '''
28338        self.timestamp = timestamp if timestamp is not None else None
28339        '''
28340         The time at which the SecretStore state was recorded.
28341        '''
28342
28343    def __repr__(self):
28344        return '<sdm.SecretStoreHistory ' + \
28345            'activity_id: ' + repr(self.activity_id) + ' ' +\
28346            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
28347            'secret_store: ' + repr(self.secret_store) + ' ' +\
28348            'timestamp: ' + repr(self.timestamp) + ' ' +\
28349            '>'
28350
28351    def to_dict(self):
28352        return {
28353            'activity_id': self.activity_id,
28354            'deleted_at': self.deleted_at,
28355            'secret_store': self.secret_store,
28356            'timestamp': self.timestamp,
28357        }
28358
28359    @classmethod
28360    def from_dict(cls, d):
28361        return cls(
28362            activity_id=d.get('activity_id'),
28363            deleted_at=d.get('deleted_at'),
28364            secret_store=d.get('secret_store'),
28365            timestamp=d.get('timestamp'),
28366        )

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)
28318    def __init__(
28319        self,
28320        activity_id=None,
28321        deleted_at=None,
28322        secret_store=None,
28323        timestamp=None,
28324    ):
28325        self.activity_id = activity_id if activity_id is not None else ''
28326        '''
28327         The unique identifier of the Activity that produced this change to the SecretStore.
28328         May be empty for some system-initiated updates.
28329        '''
28330        self.deleted_at = deleted_at if deleted_at is not None else None
28331        '''
28332         If this SecretStore was deleted, the time it was deleted.
28333        '''
28334        self.secret_store = secret_store if secret_store is not None else None
28335        '''
28336         The complete SecretStore state at this time.
28337        '''
28338        self.timestamp = timestamp if timestamp is not None else None
28339        '''
28340         The time at which the SecretStore state was recorded.
28341        '''
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)
28351    def to_dict(self):
28352        return {
28353            'activity_id': self.activity_id,
28354            'deleted_at': self.deleted_at,
28355            'secret_store': self.secret_store,
28356            'timestamp': self.timestamp,
28357        }
@classmethod
def from_dict(cls, d)
28359    @classmethod
28360    def from_dict(cls, d):
28361        return cls(
28362            activity_id=d.get('activity_id'),
28363            deleted_at=d.get('deleted_at'),
28364            secret_store=d.get('secret_store'),
28365            timestamp=d.get('timestamp'),
28366        )
class SecretStoreUpdateResponse:
28369class SecretStoreUpdateResponse:
28370    '''
28371         SecretStoreUpdateResponse returns the fields of a SecretStore after it has been updated by
28372     a SecretStoreUpdateRequest.
28373    '''
28374    __slots__ = [
28375        'meta',
28376        'rate_limit',
28377        'secret_store',
28378    ]
28379
28380    def __init__(
28381        self,
28382        meta=None,
28383        rate_limit=None,
28384        secret_store=None,
28385    ):
28386        self.meta = meta if meta is not None else None
28387        '''
28388         Reserved for future use.
28389        '''
28390        self.rate_limit = rate_limit if rate_limit is not None else None
28391        '''
28392         Rate limit information.
28393        '''
28394        self.secret_store = secret_store if secret_store is not None else None
28395        '''
28396         The updated SecretStore.
28397        '''
28398
28399    def __repr__(self):
28400        return '<sdm.SecretStoreUpdateResponse ' + \
28401            'meta: ' + repr(self.meta) + ' ' +\
28402            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28403            'secret_store: ' + repr(self.secret_store) + ' ' +\
28404            '>'
28405
28406    def to_dict(self):
28407        return {
28408            'meta': self.meta,
28409            'rate_limit': self.rate_limit,
28410            'secret_store': self.secret_store,
28411        }
28412
28413    @classmethod
28414    def from_dict(cls, d):
28415        return cls(
28416            meta=d.get('meta'),
28417            rate_limit=d.get('rate_limit'),
28418            secret_store=d.get('secret_store'),
28419        )

SecretStoreUpdateResponse returns the fields of a SecretStore after it has been updated by a SecretStoreUpdateRequest.

SecretStoreUpdateResponse(meta=None, rate_limit=None, secret_store=None)
28380    def __init__(
28381        self,
28382        meta=None,
28383        rate_limit=None,
28384        secret_store=None,
28385    ):
28386        self.meta = meta if meta is not None else None
28387        '''
28388         Reserved for future use.
28389        '''
28390        self.rate_limit = rate_limit if rate_limit is not None else None
28391        '''
28392         Rate limit information.
28393        '''
28394        self.secret_store = secret_store if secret_store is not None else None
28395        '''
28396         The updated SecretStore.
28397        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

secret_store

The updated SecretStore.

def to_dict(self)
28406    def to_dict(self):
28407        return {
28408            'meta': self.meta,
28409            'rate_limit': self.rate_limit,
28410            'secret_store': self.secret_store,
28411        }
@classmethod
def from_dict(cls, d)
28413    @classmethod
28414    def from_dict(cls, d):
28415        return cls(
28416            meta=d.get('meta'),
28417            rate_limit=d.get('rate_limit'),
28418            secret_store=d.get('secret_store'),
28419        )
class Service:
28422class Service:
28423    '''
28424         A Service is a service account that can connect to resources they are granted
28425     directly, or granted via roles. Services are typically automated jobs.
28426    '''
28427    __slots__ = [
28428        'id',
28429        'name',
28430        'suspended',
28431        'tags',
28432    ]
28433
28434    def __init__(
28435        self,
28436        id=None,
28437        name=None,
28438        suspended=None,
28439        tags=None,
28440    ):
28441        self.id = id if id is not None else ''
28442        '''
28443         Unique identifier of the Service.
28444        '''
28445        self.name = name if name is not None else ''
28446        '''
28447         Unique human-readable name of the Service.
28448        '''
28449        self.suspended = suspended if suspended is not None else False
28450        '''
28451         The Service's suspended state.
28452        '''
28453        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28454        '''
28455         Tags is a map of key, value pairs.
28456        '''
28457
28458    def __repr__(self):
28459        return '<sdm.Service ' + \
28460            'id: ' + repr(self.id) + ' ' +\
28461            'name: ' + repr(self.name) + ' ' +\
28462            'suspended: ' + repr(self.suspended) + ' ' +\
28463            'tags: ' + repr(self.tags) + ' ' +\
28464            '>'
28465
28466    def to_dict(self):
28467        return {
28468            'id': self.id,
28469            'name': self.name,
28470            'suspended': self.suspended,
28471            'tags': self.tags,
28472        }
28473
28474    @classmethod
28475    def from_dict(cls, d):
28476        return cls(
28477            id=d.get('id'),
28478            name=d.get('name'),
28479            suspended=d.get('suspended'),
28480            tags=d.get('tags'),
28481        )

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)
28434    def __init__(
28435        self,
28436        id=None,
28437        name=None,
28438        suspended=None,
28439        tags=None,
28440    ):
28441        self.id = id if id is not None else ''
28442        '''
28443         Unique identifier of the Service.
28444        '''
28445        self.name = name if name is not None else ''
28446        '''
28447         Unique human-readable name of the Service.
28448        '''
28449        self.suspended = suspended if suspended is not None else False
28450        '''
28451         The Service's suspended state.
28452        '''
28453        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28454        '''
28455         Tags is a map of key, value pairs.
28456        '''
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)
28466    def to_dict(self):
28467        return {
28468            'id': self.id,
28469            'name': self.name,
28470            'suspended': self.suspended,
28471            'tags': self.tags,
28472        }
@classmethod
def from_dict(cls, d)
28474    @classmethod
28475    def from_dict(cls, d):
28476        return cls(
28477            id=d.get('id'),
28478            name=d.get('name'),
28479            suspended=d.get('suspended'),
28480            tags=d.get('tags'),
28481        )
class SingleStore:
28484class SingleStore:
28485    __slots__ = [
28486        'bind_interface',
28487        'database',
28488        'egress_filter',
28489        'healthy',
28490        'hostname',
28491        'id',
28492        'name',
28493        'password',
28494        'port',
28495        'port_override',
28496        'proxy_cluster_id',
28497        'require_native_auth',
28498        'secret_store_id',
28499        'subdomain',
28500        'tags',
28501        'use_azure_single_server_usernames',
28502        'username',
28503    ]
28504
28505    def __init__(
28506        self,
28507        bind_interface=None,
28508        database=None,
28509        egress_filter=None,
28510        healthy=None,
28511        hostname=None,
28512        id=None,
28513        name=None,
28514        password=None,
28515        port=None,
28516        port_override=None,
28517        proxy_cluster_id=None,
28518        require_native_auth=None,
28519        secret_store_id=None,
28520        subdomain=None,
28521        tags=None,
28522        use_azure_single_server_usernames=None,
28523        username=None,
28524    ):
28525        self.bind_interface = bind_interface if bind_interface is not None else ''
28526        '''
28527         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28528        '''
28529        self.database = database if database is not None else ''
28530        '''
28531         The database for healthchecks. Does not affect client requests.
28532        '''
28533        self.egress_filter = egress_filter if egress_filter is not None else ''
28534        '''
28535         A filter applied to the routing logic to pin datasource to nodes.
28536        '''
28537        self.healthy = healthy if healthy is not None else False
28538        '''
28539         True if the datasource is reachable and the credentials are valid.
28540        '''
28541        self.hostname = hostname if hostname is not None else ''
28542        '''
28543         The host to dial to initiate a connection from the egress node to this resource.
28544        '''
28545        self.id = id if id is not None else ''
28546        '''
28547         Unique identifier of the Resource.
28548        '''
28549        self.name = name if name is not None else ''
28550        '''
28551         Unique human-readable name of the Resource.
28552        '''
28553        self.password = password if password is not None else ''
28554        '''
28555         The password to authenticate with.
28556        '''
28557        self.port = port if port is not None else 0
28558        '''
28559         The port to dial to initiate a connection from the egress node to this resource.
28560        '''
28561        self.port_override = port_override if port_override is not None else 0
28562        '''
28563         The local port used by clients to connect to this resource.
28564        '''
28565        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28566        '''
28567         ID of the proxy cluster for this resource, if any.
28568        '''
28569        self.require_native_auth = require_native_auth if require_native_auth is not None else False
28570        '''
28571         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
28572        '''
28573        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28574        '''
28575         ID of the secret store containing credentials for this resource, if any.
28576        '''
28577        self.subdomain = subdomain if subdomain is not None else ''
28578        '''
28579         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
28580        '''
28581        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28582        '''
28583         Tags is a map of key, value pairs.
28584        '''
28585        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
28586        '''
28587         If true, appends the hostname to the username when hitting a database.azure.com address
28588        '''
28589        self.username = username if username is not None else ''
28590        '''
28591         The username to authenticate with.
28592        '''
28593
28594    def __repr__(self):
28595        return '<sdm.SingleStore ' + \
28596            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
28597            'database: ' + repr(self.database) + ' ' +\
28598            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
28599            'healthy: ' + repr(self.healthy) + ' ' +\
28600            'hostname: ' + repr(self.hostname) + ' ' +\
28601            'id: ' + repr(self.id) + ' ' +\
28602            'name: ' + repr(self.name) + ' ' +\
28603            'password: ' + repr(self.password) + ' ' +\
28604            'port: ' + repr(self.port) + ' ' +\
28605            'port_override: ' + repr(self.port_override) + ' ' +\
28606            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
28607            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
28608            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
28609            'subdomain: ' + repr(self.subdomain) + ' ' +\
28610            'tags: ' + repr(self.tags) + ' ' +\
28611            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
28612            'username: ' + repr(self.username) + ' ' +\
28613            '>'
28614
28615    def to_dict(self):
28616        return {
28617            'bind_interface': self.bind_interface,
28618            'database': self.database,
28619            'egress_filter': self.egress_filter,
28620            'healthy': self.healthy,
28621            'hostname': self.hostname,
28622            'id': self.id,
28623            'name': self.name,
28624            'password': self.password,
28625            'port': self.port,
28626            'port_override': self.port_override,
28627            'proxy_cluster_id': self.proxy_cluster_id,
28628            'require_native_auth': self.require_native_auth,
28629            'secret_store_id': self.secret_store_id,
28630            'subdomain': self.subdomain,
28631            'tags': self.tags,
28632            'use_azure_single_server_usernames':
28633            self.use_azure_single_server_usernames,
28634            'username': self.username,
28635        }
28636
28637    @classmethod
28638    def from_dict(cls, d):
28639        return cls(
28640            bind_interface=d.get('bind_interface'),
28641            database=d.get('database'),
28642            egress_filter=d.get('egress_filter'),
28643            healthy=d.get('healthy'),
28644            hostname=d.get('hostname'),
28645            id=d.get('id'),
28646            name=d.get('name'),
28647            password=d.get('password'),
28648            port=d.get('port'),
28649            port_override=d.get('port_override'),
28650            proxy_cluster_id=d.get('proxy_cluster_id'),
28651            require_native_auth=d.get('require_native_auth'),
28652            secret_store_id=d.get('secret_store_id'),
28653            subdomain=d.get('subdomain'),
28654            tags=d.get('tags'),
28655            use_azure_single_server_usernames=d.get(
28656                'use_azure_single_server_usernames'),
28657            username=d.get('username'),
28658        )
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)
28505    def __init__(
28506        self,
28507        bind_interface=None,
28508        database=None,
28509        egress_filter=None,
28510        healthy=None,
28511        hostname=None,
28512        id=None,
28513        name=None,
28514        password=None,
28515        port=None,
28516        port_override=None,
28517        proxy_cluster_id=None,
28518        require_native_auth=None,
28519        secret_store_id=None,
28520        subdomain=None,
28521        tags=None,
28522        use_azure_single_server_usernames=None,
28523        username=None,
28524    ):
28525        self.bind_interface = bind_interface if bind_interface is not None else ''
28526        '''
28527         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28528        '''
28529        self.database = database if database is not None else ''
28530        '''
28531         The database for healthchecks. Does not affect client requests.
28532        '''
28533        self.egress_filter = egress_filter if egress_filter is not None else ''
28534        '''
28535         A filter applied to the routing logic to pin datasource to nodes.
28536        '''
28537        self.healthy = healthy if healthy is not None else False
28538        '''
28539         True if the datasource is reachable and the credentials are valid.
28540        '''
28541        self.hostname = hostname if hostname is not None else ''
28542        '''
28543         The host to dial to initiate a connection from the egress node to this resource.
28544        '''
28545        self.id = id if id is not None else ''
28546        '''
28547         Unique identifier of the Resource.
28548        '''
28549        self.name = name if name is not None else ''
28550        '''
28551         Unique human-readable name of the Resource.
28552        '''
28553        self.password = password if password is not None else ''
28554        '''
28555         The password to authenticate with.
28556        '''
28557        self.port = port if port is not None else 0
28558        '''
28559         The port to dial to initiate a connection from the egress node to this resource.
28560        '''
28561        self.port_override = port_override if port_override is not None else 0
28562        '''
28563         The local port used by clients to connect to this resource.
28564        '''
28565        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28566        '''
28567         ID of the proxy cluster for this resource, if any.
28568        '''
28569        self.require_native_auth = require_native_auth if require_native_auth is not None else False
28570        '''
28571         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
28572        '''
28573        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28574        '''
28575         ID of the secret store containing credentials for this resource, if any.
28576        '''
28577        self.subdomain = subdomain if subdomain is not None else ''
28578        '''
28579         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
28580        '''
28581        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28582        '''
28583         Tags is a map of key, value pairs.
28584        '''
28585        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
28586        '''
28587         If true, appends the hostname to the username when hitting a database.azure.com address
28588        '''
28589        self.username = username if username is not None else ''
28590        '''
28591         The username to authenticate with.
28592        '''
bind_interface

The bind interface is the IP 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)
28615    def to_dict(self):
28616        return {
28617            'bind_interface': self.bind_interface,
28618            'database': self.database,
28619            'egress_filter': self.egress_filter,
28620            'healthy': self.healthy,
28621            'hostname': self.hostname,
28622            'id': self.id,
28623            'name': self.name,
28624            'password': self.password,
28625            'port': self.port,
28626            'port_override': self.port_override,
28627            'proxy_cluster_id': self.proxy_cluster_id,
28628            'require_native_auth': self.require_native_auth,
28629            'secret_store_id': self.secret_store_id,
28630            'subdomain': self.subdomain,
28631            'tags': self.tags,
28632            'use_azure_single_server_usernames':
28633            self.use_azure_single_server_usernames,
28634            'username': self.username,
28635        }
@classmethod
def from_dict(cls, d)
28637    @classmethod
28638    def from_dict(cls, d):
28639        return cls(
28640            bind_interface=d.get('bind_interface'),
28641            database=d.get('database'),
28642            egress_filter=d.get('egress_filter'),
28643            healthy=d.get('healthy'),
28644            hostname=d.get('hostname'),
28645            id=d.get('id'),
28646            name=d.get('name'),
28647            password=d.get('password'),
28648            port=d.get('port'),
28649            port_override=d.get('port_override'),
28650            proxy_cluster_id=d.get('proxy_cluster_id'),
28651            require_native_auth=d.get('require_native_auth'),
28652            secret_store_id=d.get('secret_store_id'),
28653            subdomain=d.get('subdomain'),
28654            tags=d.get('tags'),
28655            use_azure_single_server_usernames=d.get(
28656                'use_azure_single_server_usernames'),
28657            username=d.get('username'),
28658        )
class Snowflake:
28661class Snowflake:
28662    __slots__ = [
28663        'bind_interface',
28664        'database',
28665        'egress_filter',
28666        'healthy',
28667        'hostname',
28668        'id',
28669        'name',
28670        'password',
28671        'port_override',
28672        'private_key',
28673        'proxy_cluster_id',
28674        'schema',
28675        'secret_store_id',
28676        'subdomain',
28677        'tags',
28678        'username',
28679    ]
28680
28681    def __init__(
28682        self,
28683        bind_interface=None,
28684        database=None,
28685        egress_filter=None,
28686        healthy=None,
28687        hostname=None,
28688        id=None,
28689        name=None,
28690        password=None,
28691        port_override=None,
28692        private_key=None,
28693        proxy_cluster_id=None,
28694        schema=None,
28695        secret_store_id=None,
28696        subdomain=None,
28697        tags=None,
28698        username=None,
28699    ):
28700        self.bind_interface = bind_interface if bind_interface is not None else ''
28701        '''
28702         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28703        '''
28704        self.database = database if database is not None else ''
28705        '''
28706         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
28707        '''
28708        self.egress_filter = egress_filter if egress_filter is not None else ''
28709        '''
28710         A filter applied to the routing logic to pin datasource to nodes.
28711        '''
28712        self.healthy = healthy if healthy is not None else False
28713        '''
28714         True if the datasource is reachable and the credentials are valid.
28715        '''
28716        self.hostname = hostname if hostname is not None else ''
28717        '''
28718         The host to dial to initiate a connection from the egress node to this resource.
28719        '''
28720        self.id = id if id is not None else ''
28721        '''
28722         Unique identifier of the Resource.
28723        '''
28724        self.name = name if name is not None else ''
28725        '''
28726         Unique human-readable name of the Resource.
28727        '''
28728        self.password = password if password is not None else ''
28729        '''
28730         Deprecated: https://www.snowflake.com/en/blog/blocking-single-factor-password-authentification/
28731        '''
28732        self.port_override = port_override if port_override is not None else 0
28733        '''
28734         The local port used by clients to connect to this resource.
28735        '''
28736        self.private_key = private_key if private_key is not None else ''
28737        '''
28738         RSA Private Key for authentication
28739        '''
28740        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28741        '''
28742         ID of the proxy cluster for this resource, if any.
28743        '''
28744        self.schema = schema if schema is not None else ''
28745        '''
28746         The schema to provide on authentication.
28747        '''
28748        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28749        '''
28750         ID of the secret store containing credentials for this resource, if any.
28751        '''
28752        self.subdomain = subdomain if subdomain is not None else ''
28753        '''
28754         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
28755        '''
28756        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28757        '''
28758         Tags is a map of key, value pairs.
28759        '''
28760        self.username = username if username is not None else ''
28761        '''
28762         The username to authenticate with.
28763        '''
28764
28765    def __repr__(self):
28766        return '<sdm.Snowflake ' + \
28767            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
28768            'database: ' + repr(self.database) + ' ' +\
28769            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
28770            'healthy: ' + repr(self.healthy) + ' ' +\
28771            'hostname: ' + repr(self.hostname) + ' ' +\
28772            'id: ' + repr(self.id) + ' ' +\
28773            'name: ' + repr(self.name) + ' ' +\
28774            'password: ' + repr(self.password) + ' ' +\
28775            'port_override: ' + repr(self.port_override) + ' ' +\
28776            'private_key: ' + repr(self.private_key) + ' ' +\
28777            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
28778            'schema: ' + repr(self.schema) + ' ' +\
28779            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
28780            'subdomain: ' + repr(self.subdomain) + ' ' +\
28781            'tags: ' + repr(self.tags) + ' ' +\
28782            'username: ' + repr(self.username) + ' ' +\
28783            '>'
28784
28785    def to_dict(self):
28786        return {
28787            'bind_interface': self.bind_interface,
28788            'database': self.database,
28789            'egress_filter': self.egress_filter,
28790            'healthy': self.healthy,
28791            'hostname': self.hostname,
28792            'id': self.id,
28793            'name': self.name,
28794            'password': self.password,
28795            'port_override': self.port_override,
28796            'private_key': self.private_key,
28797            'proxy_cluster_id': self.proxy_cluster_id,
28798            'schema': self.schema,
28799            'secret_store_id': self.secret_store_id,
28800            'subdomain': self.subdomain,
28801            'tags': self.tags,
28802            'username': self.username,
28803        }
28804
28805    @classmethod
28806    def from_dict(cls, d):
28807        return cls(
28808            bind_interface=d.get('bind_interface'),
28809            database=d.get('database'),
28810            egress_filter=d.get('egress_filter'),
28811            healthy=d.get('healthy'),
28812            hostname=d.get('hostname'),
28813            id=d.get('id'),
28814            name=d.get('name'),
28815            password=d.get('password'),
28816            port_override=d.get('port_override'),
28817            private_key=d.get('private_key'),
28818            proxy_cluster_id=d.get('proxy_cluster_id'),
28819            schema=d.get('schema'),
28820            secret_store_id=d.get('secret_store_id'),
28821            subdomain=d.get('subdomain'),
28822            tags=d.get('tags'),
28823            username=d.get('username'),
28824        )
Snowflake( bind_interface=None, database=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port_override=None, private_key=None, proxy_cluster_id=None, schema=None, secret_store_id=None, subdomain=None, tags=None, username=None)
28681    def __init__(
28682        self,
28683        bind_interface=None,
28684        database=None,
28685        egress_filter=None,
28686        healthy=None,
28687        hostname=None,
28688        id=None,
28689        name=None,
28690        password=None,
28691        port_override=None,
28692        private_key=None,
28693        proxy_cluster_id=None,
28694        schema=None,
28695        secret_store_id=None,
28696        subdomain=None,
28697        tags=None,
28698        username=None,
28699    ):
28700        self.bind_interface = bind_interface if bind_interface is not None else ''
28701        '''
28702         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28703        '''
28704        self.database = database if database is not None else ''
28705        '''
28706         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
28707        '''
28708        self.egress_filter = egress_filter if egress_filter is not None else ''
28709        '''
28710         A filter applied to the routing logic to pin datasource to nodes.
28711        '''
28712        self.healthy = healthy if healthy is not None else False
28713        '''
28714         True if the datasource is reachable and the credentials are valid.
28715        '''
28716        self.hostname = hostname if hostname is not None else ''
28717        '''
28718         The host to dial to initiate a connection from the egress node to this resource.
28719        '''
28720        self.id = id if id is not None else ''
28721        '''
28722         Unique identifier of the Resource.
28723        '''
28724        self.name = name if name is not None else ''
28725        '''
28726         Unique human-readable name of the Resource.
28727        '''
28728        self.password = password if password is not None else ''
28729        '''
28730         Deprecated: https://www.snowflake.com/en/blog/blocking-single-factor-password-authentification/
28731        '''
28732        self.port_override = port_override if port_override is not None else 0
28733        '''
28734         The local port used by clients to connect to this resource.
28735        '''
28736        self.private_key = private_key if private_key is not None else ''
28737        '''
28738         RSA Private Key for authentication
28739        '''
28740        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28741        '''
28742         ID of the proxy cluster for this resource, if any.
28743        '''
28744        self.schema = schema if schema is not None else ''
28745        '''
28746         The schema to provide on authentication.
28747        '''
28748        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28749        '''
28750         ID of the secret store containing credentials for this resource, if any.
28751        '''
28752        self.subdomain = subdomain if subdomain is not None else ''
28753        '''
28754         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
28755        '''
28756        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28757        '''
28758         Tags is a map of key, value pairs.
28759        '''
28760        self.username = username if username is not None else ''
28761        '''
28762         The username to authenticate with.
28763        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.

database

The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.

egress_filter

A filter applied to the routing logic to pin datasource to nodes.

healthy

True if the datasource is reachable and the credentials are valid.

hostname

The host to dial to initiate a connection from the egress node to this resource.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

Deprecated: https://www.snowflake.com/en/blog/blocking-single-factor-password-authentification/

port_override

The local port used by clients to connect to this resource.

private_key

RSA Private Key for authentication

proxy_cluster_id

ID of the proxy cluster for this resource, if any.

schema

The schema to provide on authentication.

secret_store_id

ID of the secret store containing credentials for this resource, if any.

subdomain

Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
28785    def to_dict(self):
28786        return {
28787            'bind_interface': self.bind_interface,
28788            'database': self.database,
28789            'egress_filter': self.egress_filter,
28790            'healthy': self.healthy,
28791            'hostname': self.hostname,
28792            'id': self.id,
28793            'name': self.name,
28794            'password': self.password,
28795            'port_override': self.port_override,
28796            'private_key': self.private_key,
28797            'proxy_cluster_id': self.proxy_cluster_id,
28798            'schema': self.schema,
28799            'secret_store_id': self.secret_store_id,
28800            'subdomain': self.subdomain,
28801            'tags': self.tags,
28802            'username': self.username,
28803        }
@classmethod
def from_dict(cls, d)
28805    @classmethod
28806    def from_dict(cls, d):
28807        return cls(
28808            bind_interface=d.get('bind_interface'),
28809            database=d.get('database'),
28810            egress_filter=d.get('egress_filter'),
28811            healthy=d.get('healthy'),
28812            hostname=d.get('hostname'),
28813            id=d.get('id'),
28814            name=d.get('name'),
28815            password=d.get('password'),
28816            port_override=d.get('port_override'),
28817            private_key=d.get('private_key'),
28818            proxy_cluster_id=d.get('proxy_cluster_id'),
28819            schema=d.get('schema'),
28820            secret_store_id=d.get('secret_store_id'),
28821            subdomain=d.get('subdomain'),
28822            tags=d.get('tags'),
28823            username=d.get('username'),
28824        )
class Snowsight:
28827class Snowsight:
28828    __slots__ = [
28829        'bind_interface',
28830        'egress_filter',
28831        'healthcheck_username',
28832        'healthy',
28833        'id',
28834        'name',
28835        'port_override',
28836        'proxy_cluster_id',
28837        'samlmetadata',
28838        'secret_store_id',
28839        'subdomain',
28840        'tags',
28841    ]
28842
28843    def __init__(
28844        self,
28845        bind_interface=None,
28846        egress_filter=None,
28847        healthcheck_username=None,
28848        healthy=None,
28849        id=None,
28850        name=None,
28851        port_override=None,
28852        proxy_cluster_id=None,
28853        samlmetadata=None,
28854        secret_store_id=None,
28855        subdomain=None,
28856        tags=None,
28857    ):
28858        self.bind_interface = bind_interface if bind_interface is not None else ''
28859        '''
28860         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28861        '''
28862        self.egress_filter = egress_filter if egress_filter is not None else ''
28863        '''
28864         A filter applied to the routing logic to pin datasource to nodes.
28865        '''
28866        self.healthcheck_username = healthcheck_username if healthcheck_username is not None else ''
28867        '''
28868         The StrongDM user email to use for healthchecks.
28869        '''
28870        self.healthy = healthy if healthy is not None else False
28871        '''
28872         True if the datasource is reachable and the credentials are valid.
28873        '''
28874        self.id = id if id is not None else ''
28875        '''
28876         Unique identifier of the Resource.
28877        '''
28878        self.name = name if name is not None else ''
28879        '''
28880         Unique human-readable name of the Resource.
28881        '''
28882        self.port_override = port_override if port_override is not None else 0
28883        '''
28884         The local port used by clients to connect to this resource.
28885        '''
28886        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28887        '''
28888         ID of the proxy cluster for this resource, if any.
28889        '''
28890        self.samlmetadata = samlmetadata if samlmetadata is not None else ''
28891        '''
28892         The Metadata for your snowflake IDP integration
28893        '''
28894        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28895        '''
28896         ID of the secret store containing credentials for this resource, if any.
28897        '''
28898        self.subdomain = subdomain if subdomain is not None else ''
28899        '''
28900         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
28901        '''
28902        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28903        '''
28904         Tags is a map of key, value pairs.
28905        '''
28906
28907    def __repr__(self):
28908        return '<sdm.Snowsight ' + \
28909            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
28910            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
28911            'healthcheck_username: ' + repr(self.healthcheck_username) + ' ' +\
28912            'healthy: ' + repr(self.healthy) + ' ' +\
28913            'id: ' + repr(self.id) + ' ' +\
28914            'name: ' + repr(self.name) + ' ' +\
28915            'port_override: ' + repr(self.port_override) + ' ' +\
28916            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
28917            'samlmetadata: ' + repr(self.samlmetadata) + ' ' +\
28918            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
28919            'subdomain: ' + repr(self.subdomain) + ' ' +\
28920            'tags: ' + repr(self.tags) + ' ' +\
28921            '>'
28922
28923    def to_dict(self):
28924        return {
28925            'bind_interface': self.bind_interface,
28926            'egress_filter': self.egress_filter,
28927            'healthcheck_username': self.healthcheck_username,
28928            'healthy': self.healthy,
28929            'id': self.id,
28930            'name': self.name,
28931            'port_override': self.port_override,
28932            'proxy_cluster_id': self.proxy_cluster_id,
28933            'samlmetadata': self.samlmetadata,
28934            'secret_store_id': self.secret_store_id,
28935            'subdomain': self.subdomain,
28936            'tags': self.tags,
28937        }
28938
28939    @classmethod
28940    def from_dict(cls, d):
28941        return cls(
28942            bind_interface=d.get('bind_interface'),
28943            egress_filter=d.get('egress_filter'),
28944            healthcheck_username=d.get('healthcheck_username'),
28945            healthy=d.get('healthy'),
28946            id=d.get('id'),
28947            name=d.get('name'),
28948            port_override=d.get('port_override'),
28949            proxy_cluster_id=d.get('proxy_cluster_id'),
28950            samlmetadata=d.get('samlmetadata'),
28951            secret_store_id=d.get('secret_store_id'),
28952            subdomain=d.get('subdomain'),
28953            tags=d.get('tags'),
28954        )
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)
28843    def __init__(
28844        self,
28845        bind_interface=None,
28846        egress_filter=None,
28847        healthcheck_username=None,
28848        healthy=None,
28849        id=None,
28850        name=None,
28851        port_override=None,
28852        proxy_cluster_id=None,
28853        samlmetadata=None,
28854        secret_store_id=None,
28855        subdomain=None,
28856        tags=None,
28857    ):
28858        self.bind_interface = bind_interface if bind_interface is not None else ''
28859        '''
28860         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28861        '''
28862        self.egress_filter = egress_filter if egress_filter is not None else ''
28863        '''
28864         A filter applied to the routing logic to pin datasource to nodes.
28865        '''
28866        self.healthcheck_username = healthcheck_username if healthcheck_username is not None else ''
28867        '''
28868         The StrongDM user email to use for healthchecks.
28869        '''
28870        self.healthy = healthy if healthy is not None else False
28871        '''
28872         True if the datasource is reachable and the credentials are valid.
28873        '''
28874        self.id = id if id is not None else ''
28875        '''
28876         Unique identifier of the Resource.
28877        '''
28878        self.name = name if name is not None else ''
28879        '''
28880         Unique human-readable name of the Resource.
28881        '''
28882        self.port_override = port_override if port_override is not None else 0
28883        '''
28884         The local port used by clients to connect to this resource.
28885        '''
28886        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28887        '''
28888         ID of the proxy cluster for this resource, if any.
28889        '''
28890        self.samlmetadata = samlmetadata if samlmetadata is not None else ''
28891        '''
28892         The Metadata for your snowflake IDP integration
28893        '''
28894        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28895        '''
28896         ID of the secret store containing credentials for this resource, if any.
28897        '''
28898        self.subdomain = subdomain if subdomain is not None else ''
28899        '''
28900         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
28901        '''
28902        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28903        '''
28904         Tags is a map of key, value pairs.
28905        '''
bind_interface

The bind interface is the IP 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)
28923    def to_dict(self):
28924        return {
28925            'bind_interface': self.bind_interface,
28926            'egress_filter': self.egress_filter,
28927            'healthcheck_username': self.healthcheck_username,
28928            'healthy': self.healthy,
28929            'id': self.id,
28930            'name': self.name,
28931            'port_override': self.port_override,
28932            'proxy_cluster_id': self.proxy_cluster_id,
28933            'samlmetadata': self.samlmetadata,
28934            'secret_store_id': self.secret_store_id,
28935            'subdomain': self.subdomain,
28936            'tags': self.tags,
28937        }
@classmethod
def from_dict(cls, d)
28939    @classmethod
28940    def from_dict(cls, d):
28941        return cls(
28942            bind_interface=d.get('bind_interface'),
28943            egress_filter=d.get('egress_filter'),
28944            healthcheck_username=d.get('healthcheck_username'),
28945            healthy=d.get('healthy'),
28946            id=d.get('id'),
28947            name=d.get('name'),
28948            port_override=d.get('port_override'),
28949            proxy_cluster_id=d.get('proxy_cluster_id'),
28950            samlmetadata=d.get('samlmetadata'),
28951            secret_store_id=d.get('secret_store_id'),
28952            subdomain=d.get('subdomain'),
28953            tags=d.get('tags'),
28954        )
class Sybase:
28957class Sybase:
28958    __slots__ = [
28959        'bind_interface',
28960        'egress_filter',
28961        'healthy',
28962        'hostname',
28963        'id',
28964        'name',
28965        'password',
28966        'port',
28967        'port_override',
28968        'proxy_cluster_id',
28969        'secret_store_id',
28970        'subdomain',
28971        'tags',
28972        'username',
28973    ]
28974
28975    def __init__(
28976        self,
28977        bind_interface=None,
28978        egress_filter=None,
28979        healthy=None,
28980        hostname=None,
28981        id=None,
28982        name=None,
28983        password=None,
28984        port=None,
28985        port_override=None,
28986        proxy_cluster_id=None,
28987        secret_store_id=None,
28988        subdomain=None,
28989        tags=None,
28990        username=None,
28991    ):
28992        self.bind_interface = bind_interface if bind_interface is not None else ''
28993        '''
28994         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28995        '''
28996        self.egress_filter = egress_filter if egress_filter is not None else ''
28997        '''
28998         A filter applied to the routing logic to pin datasource to nodes.
28999        '''
29000        self.healthy = healthy if healthy is not None else False
29001        '''
29002         True if the datasource is reachable and the credentials are valid.
29003        '''
29004        self.hostname = hostname if hostname is not None else ''
29005        '''
29006         The host to dial to initiate a connection from the egress node to this resource.
29007        '''
29008        self.id = id if id is not None else ''
29009        '''
29010         Unique identifier of the Resource.
29011        '''
29012        self.name = name if name is not None else ''
29013        '''
29014         Unique human-readable name of the Resource.
29015        '''
29016        self.password = password if password is not None else ''
29017        '''
29018         The password to authenticate with.
29019        '''
29020        self.port = port if port is not None else 0
29021        '''
29022         The port to dial to initiate a connection from the egress node to this resource.
29023        '''
29024        self.port_override = port_override if port_override is not None else 0
29025        '''
29026         The local port used by clients to connect to this resource.
29027        '''
29028        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29029        '''
29030         ID of the proxy cluster for this resource, if any.
29031        '''
29032        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29033        '''
29034         ID of the secret store containing credentials for this resource, if any.
29035        '''
29036        self.subdomain = subdomain if subdomain is not None else ''
29037        '''
29038         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
29039        '''
29040        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29041        '''
29042         Tags is a map of key, value pairs.
29043        '''
29044        self.username = username if username is not None else ''
29045        '''
29046         The username to authenticate with.
29047        '''
29048
29049    def __repr__(self):
29050        return '<sdm.Sybase ' + \
29051            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29052            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29053            'healthy: ' + repr(self.healthy) + ' ' +\
29054            'hostname: ' + repr(self.hostname) + ' ' +\
29055            'id: ' + repr(self.id) + ' ' +\
29056            'name: ' + repr(self.name) + ' ' +\
29057            'password: ' + repr(self.password) + ' ' +\
29058            'port: ' + repr(self.port) + ' ' +\
29059            'port_override: ' + repr(self.port_override) + ' ' +\
29060            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29061            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29062            'subdomain: ' + repr(self.subdomain) + ' ' +\
29063            'tags: ' + repr(self.tags) + ' ' +\
29064            'username: ' + repr(self.username) + ' ' +\
29065            '>'
29066
29067    def to_dict(self):
29068        return {
29069            'bind_interface': self.bind_interface,
29070            'egress_filter': self.egress_filter,
29071            'healthy': self.healthy,
29072            'hostname': self.hostname,
29073            'id': self.id,
29074            'name': self.name,
29075            'password': self.password,
29076            'port': self.port,
29077            'port_override': self.port_override,
29078            'proxy_cluster_id': self.proxy_cluster_id,
29079            'secret_store_id': self.secret_store_id,
29080            'subdomain': self.subdomain,
29081            'tags': self.tags,
29082            'username': self.username,
29083        }
29084
29085    @classmethod
29086    def from_dict(cls, d):
29087        return cls(
29088            bind_interface=d.get('bind_interface'),
29089            egress_filter=d.get('egress_filter'),
29090            healthy=d.get('healthy'),
29091            hostname=d.get('hostname'),
29092            id=d.get('id'),
29093            name=d.get('name'),
29094            password=d.get('password'),
29095            port=d.get('port'),
29096            port_override=d.get('port_override'),
29097            proxy_cluster_id=d.get('proxy_cluster_id'),
29098            secret_store_id=d.get('secret_store_id'),
29099            subdomain=d.get('subdomain'),
29100            tags=d.get('tags'),
29101            username=d.get('username'),
29102        )
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)
28975    def __init__(
28976        self,
28977        bind_interface=None,
28978        egress_filter=None,
28979        healthy=None,
28980        hostname=None,
28981        id=None,
28982        name=None,
28983        password=None,
28984        port=None,
28985        port_override=None,
28986        proxy_cluster_id=None,
28987        secret_store_id=None,
28988        subdomain=None,
28989        tags=None,
28990        username=None,
28991    ):
28992        self.bind_interface = bind_interface if bind_interface is not None else ''
28993        '''
28994         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28995        '''
28996        self.egress_filter = egress_filter if egress_filter is not None else ''
28997        '''
28998         A filter applied to the routing logic to pin datasource to nodes.
28999        '''
29000        self.healthy = healthy if healthy is not None else False
29001        '''
29002         True if the datasource is reachable and the credentials are valid.
29003        '''
29004        self.hostname = hostname if hostname is not None else ''
29005        '''
29006         The host to dial to initiate a connection from the egress node to this resource.
29007        '''
29008        self.id = id if id is not None else ''
29009        '''
29010         Unique identifier of the Resource.
29011        '''
29012        self.name = name if name is not None else ''
29013        '''
29014         Unique human-readable name of the Resource.
29015        '''
29016        self.password = password if password is not None else ''
29017        '''
29018         The password to authenticate with.
29019        '''
29020        self.port = port if port is not None else 0
29021        '''
29022         The port to dial to initiate a connection from the egress node to this resource.
29023        '''
29024        self.port_override = port_override if port_override is not None else 0
29025        '''
29026         The local port used by clients to connect to this resource.
29027        '''
29028        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29029        '''
29030         ID of the proxy cluster for this resource, if any.
29031        '''
29032        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29033        '''
29034         ID of the secret store containing credentials for this resource, if any.
29035        '''
29036        self.subdomain = subdomain if subdomain is not None else ''
29037        '''
29038         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
29039        '''
29040        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29041        '''
29042         Tags is a map of key, value pairs.
29043        '''
29044        self.username = username if username is not None else ''
29045        '''
29046         The username to authenticate with.
29047        '''
bind_interface

The bind interface is the IP 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)
29067    def to_dict(self):
29068        return {
29069            'bind_interface': self.bind_interface,
29070            'egress_filter': self.egress_filter,
29071            'healthy': self.healthy,
29072            'hostname': self.hostname,
29073            'id': self.id,
29074            'name': self.name,
29075            'password': self.password,
29076            'port': self.port,
29077            'port_override': self.port_override,
29078            'proxy_cluster_id': self.proxy_cluster_id,
29079            'secret_store_id': self.secret_store_id,
29080            'subdomain': self.subdomain,
29081            'tags': self.tags,
29082            'username': self.username,
29083        }
@classmethod
def from_dict(cls, d)
29085    @classmethod
29086    def from_dict(cls, d):
29087        return cls(
29088            bind_interface=d.get('bind_interface'),
29089            egress_filter=d.get('egress_filter'),
29090            healthy=d.get('healthy'),
29091            hostname=d.get('hostname'),
29092            id=d.get('id'),
29093            name=d.get('name'),
29094            password=d.get('password'),
29095            port=d.get('port'),
29096            port_override=d.get('port_override'),
29097            proxy_cluster_id=d.get('proxy_cluster_id'),
29098            secret_store_id=d.get('secret_store_id'),
29099            subdomain=d.get('subdomain'),
29100            tags=d.get('tags'),
29101            username=d.get('username'),
29102        )
class SybaseIQ:
29105class SybaseIQ:
29106    __slots__ = [
29107        'bind_interface',
29108        'egress_filter',
29109        'healthy',
29110        'hostname',
29111        'id',
29112        'name',
29113        'password',
29114        'port',
29115        'port_override',
29116        'proxy_cluster_id',
29117        'secret_store_id',
29118        'subdomain',
29119        'tags',
29120        'username',
29121    ]
29122
29123    def __init__(
29124        self,
29125        bind_interface=None,
29126        egress_filter=None,
29127        healthy=None,
29128        hostname=None,
29129        id=None,
29130        name=None,
29131        password=None,
29132        port=None,
29133        port_override=None,
29134        proxy_cluster_id=None,
29135        secret_store_id=None,
29136        subdomain=None,
29137        tags=None,
29138        username=None,
29139    ):
29140        self.bind_interface = bind_interface if bind_interface is not None else ''
29141        '''
29142         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
29143        '''
29144        self.egress_filter = egress_filter if egress_filter is not None else ''
29145        '''
29146         A filter applied to the routing logic to pin datasource to nodes.
29147        '''
29148        self.healthy = healthy if healthy is not None else False
29149        '''
29150         True if the datasource is reachable and the credentials are valid.
29151        '''
29152        self.hostname = hostname if hostname is not None else ''
29153        '''
29154         The host to dial to initiate a connection from the egress node to this resource.
29155        '''
29156        self.id = id if id is not None else ''
29157        '''
29158         Unique identifier of the Resource.
29159        '''
29160        self.name = name if name is not None else ''
29161        '''
29162         Unique human-readable name of the Resource.
29163        '''
29164        self.password = password if password is not None else ''
29165        '''
29166         The password to authenticate with.
29167        '''
29168        self.port = port if port is not None else 0
29169        '''
29170         The port to dial to initiate a connection from the egress node to this resource.
29171        '''
29172        self.port_override = port_override if port_override is not None else 0
29173        '''
29174         The local port used by clients to connect to this resource.
29175        '''
29176        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29177        '''
29178         ID of the proxy cluster for this resource, if any.
29179        '''
29180        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29181        '''
29182         ID of the secret store containing credentials for this resource, if any.
29183        '''
29184        self.subdomain = subdomain if subdomain is not None else ''
29185        '''
29186         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
29187        '''
29188        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29189        '''
29190         Tags is a map of key, value pairs.
29191        '''
29192        self.username = username if username is not None else ''
29193        '''
29194         The username to authenticate with.
29195        '''
29196
29197    def __repr__(self):
29198        return '<sdm.SybaseIQ ' + \
29199            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29200            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29201            'healthy: ' + repr(self.healthy) + ' ' +\
29202            'hostname: ' + repr(self.hostname) + ' ' +\
29203            'id: ' + repr(self.id) + ' ' +\
29204            'name: ' + repr(self.name) + ' ' +\
29205            'password: ' + repr(self.password) + ' ' +\
29206            'port: ' + repr(self.port) + ' ' +\
29207            'port_override: ' + repr(self.port_override) + ' ' +\
29208            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29209            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29210            'subdomain: ' + repr(self.subdomain) + ' ' +\
29211            'tags: ' + repr(self.tags) + ' ' +\
29212            'username: ' + repr(self.username) + ' ' +\
29213            '>'
29214
29215    def to_dict(self):
29216        return {
29217            'bind_interface': self.bind_interface,
29218            'egress_filter': self.egress_filter,
29219            'healthy': self.healthy,
29220            'hostname': self.hostname,
29221            'id': self.id,
29222            'name': self.name,
29223            'password': self.password,
29224            'port': self.port,
29225            'port_override': self.port_override,
29226            'proxy_cluster_id': self.proxy_cluster_id,
29227            'secret_store_id': self.secret_store_id,
29228            'subdomain': self.subdomain,
29229            'tags': self.tags,
29230            'username': self.username,
29231        }
29232
29233    @classmethod
29234    def from_dict(cls, d):
29235        return cls(
29236            bind_interface=d.get('bind_interface'),
29237            egress_filter=d.get('egress_filter'),
29238            healthy=d.get('healthy'),
29239            hostname=d.get('hostname'),
29240            id=d.get('id'),
29241            name=d.get('name'),
29242            password=d.get('password'),
29243            port=d.get('port'),
29244            port_override=d.get('port_override'),
29245            proxy_cluster_id=d.get('proxy_cluster_id'),
29246            secret_store_id=d.get('secret_store_id'),
29247            subdomain=d.get('subdomain'),
29248            tags=d.get('tags'),
29249            username=d.get('username'),
29250        )
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)
29123    def __init__(
29124        self,
29125        bind_interface=None,
29126        egress_filter=None,
29127        healthy=None,
29128        hostname=None,
29129        id=None,
29130        name=None,
29131        password=None,
29132        port=None,
29133        port_override=None,
29134        proxy_cluster_id=None,
29135        secret_store_id=None,
29136        subdomain=None,
29137        tags=None,
29138        username=None,
29139    ):
29140        self.bind_interface = bind_interface if bind_interface is not None else ''
29141        '''
29142         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
29143        '''
29144        self.egress_filter = egress_filter if egress_filter is not None else ''
29145        '''
29146         A filter applied to the routing logic to pin datasource to nodes.
29147        '''
29148        self.healthy = healthy if healthy is not None else False
29149        '''
29150         True if the datasource is reachable and the credentials are valid.
29151        '''
29152        self.hostname = hostname if hostname is not None else ''
29153        '''
29154         The host to dial to initiate a connection from the egress node to this resource.
29155        '''
29156        self.id = id if id is not None else ''
29157        '''
29158         Unique identifier of the Resource.
29159        '''
29160        self.name = name if name is not None else ''
29161        '''
29162         Unique human-readable name of the Resource.
29163        '''
29164        self.password = password if password is not None else ''
29165        '''
29166         The password to authenticate with.
29167        '''
29168        self.port = port if port is not None else 0
29169        '''
29170         The port to dial to initiate a connection from the egress node to this resource.
29171        '''
29172        self.port_override = port_override if port_override is not None else 0
29173        '''
29174         The local port used by clients to connect to this resource.
29175        '''
29176        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29177        '''
29178         ID of the proxy cluster for this resource, if any.
29179        '''
29180        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29181        '''
29182         ID of the secret store containing credentials for this resource, if any.
29183        '''
29184        self.subdomain = subdomain if subdomain is not None else ''
29185        '''
29186         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
29187        '''
29188        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29189        '''
29190         Tags is a map of key, value pairs.
29191        '''
29192        self.username = username if username is not None else ''
29193        '''
29194         The username to authenticate with.
29195        '''
bind_interface

The bind interface is the IP 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)
29215    def to_dict(self):
29216        return {
29217            'bind_interface': self.bind_interface,
29218            'egress_filter': self.egress_filter,
29219            'healthy': self.healthy,
29220            'hostname': self.hostname,
29221            'id': self.id,
29222            'name': self.name,
29223            'password': self.password,
29224            'port': self.port,
29225            'port_override': self.port_override,
29226            'proxy_cluster_id': self.proxy_cluster_id,
29227            'secret_store_id': self.secret_store_id,
29228            'subdomain': self.subdomain,
29229            'tags': self.tags,
29230            'username': self.username,
29231        }
@classmethod
def from_dict(cls, d)
29233    @classmethod
29234    def from_dict(cls, d):
29235        return cls(
29236            bind_interface=d.get('bind_interface'),
29237            egress_filter=d.get('egress_filter'),
29238            healthy=d.get('healthy'),
29239            hostname=d.get('hostname'),
29240            id=d.get('id'),
29241            name=d.get('name'),
29242            password=d.get('password'),
29243            port=d.get('port'),
29244            port_override=d.get('port_override'),
29245            proxy_cluster_id=d.get('proxy_cluster_id'),
29246            secret_store_id=d.get('secret_store_id'),
29247            subdomain=d.get('subdomain'),
29248            tags=d.get('tags'),
29249            username=d.get('username'),
29250        )
class Tag:
29253class Tag:
29254    __slots__ = [
29255        'name',
29256        'value',
29257    ]
29258
29259    def __init__(
29260        self,
29261        name=None,
29262        value=None,
29263    ):
29264        self.name = name if name is not None else ''
29265        '''
29266         The name or key of this tag. Each name can only refer to one value on a tagged entity.
29267        '''
29268        self.value = value if value is not None else ''
29269        '''
29270         The value of this tag.
29271        '''
29272
29273    def __repr__(self):
29274        return '<sdm.Tag ' + \
29275            'name: ' + repr(self.name) + ' ' +\
29276            'value: ' + repr(self.value) + ' ' +\
29277            '>'
29278
29279    def to_dict(self):
29280        return {
29281            'name': self.name,
29282            'value': self.value,
29283        }
29284
29285    @classmethod
29286    def from_dict(cls, d):
29287        return cls(
29288            name=d.get('name'),
29289            value=d.get('value'),
29290        )
Tag(name=None, value=None)
29259    def __init__(
29260        self,
29261        name=None,
29262        value=None,
29263    ):
29264        self.name = name if name is not None else ''
29265        '''
29266         The name or key of this tag. Each name can only refer to one value on a tagged entity.
29267        '''
29268        self.value = value if value is not None else ''
29269        '''
29270         The value of this tag.
29271        '''
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)
29279    def to_dict(self):
29280        return {
29281            'name': self.name,
29282            'value': self.value,
29283        }
@classmethod
def from_dict(cls, d)
29285    @classmethod
29286    def from_dict(cls, d):
29287        return cls(
29288            name=d.get('name'),
29289            value=d.get('value'),
29290        )
class Teradata:
29293class Teradata:
29294    __slots__ = [
29295        'bind_interface',
29296        'egress_filter',
29297        'healthy',
29298        'hostname',
29299        'id',
29300        'name',
29301        'password',
29302        'port',
29303        'port_override',
29304        'proxy_cluster_id',
29305        'secret_store_id',
29306        'subdomain',
29307        'tags',
29308        'username',
29309    ]
29310
29311    def __init__(
29312        self,
29313        bind_interface=None,
29314        egress_filter=None,
29315        healthy=None,
29316        hostname=None,
29317        id=None,
29318        name=None,
29319        password=None,
29320        port=None,
29321        port_override=None,
29322        proxy_cluster_id=None,
29323        secret_store_id=None,
29324        subdomain=None,
29325        tags=None,
29326        username=None,
29327    ):
29328        self.bind_interface = bind_interface if bind_interface is not None else ''
29329        '''
29330         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
29331        '''
29332        self.egress_filter = egress_filter if egress_filter is not None else ''
29333        '''
29334         A filter applied to the routing logic to pin datasource to nodes.
29335        '''
29336        self.healthy = healthy if healthy is not None else False
29337        '''
29338         True if the datasource is reachable and the credentials are valid.
29339        '''
29340        self.hostname = hostname if hostname is not None else ''
29341        '''
29342         The host to dial to initiate a connection from the egress node to this resource.
29343        '''
29344        self.id = id if id is not None else ''
29345        '''
29346         Unique identifier of the Resource.
29347        '''
29348        self.name = name if name is not None else ''
29349        '''
29350         Unique human-readable name of the Resource.
29351        '''
29352        self.password = password if password is not None else ''
29353        '''
29354         The password to authenticate with.
29355        '''
29356        self.port = port if port is not None else 0
29357        '''
29358         The port to dial to initiate a connection from the egress node to this resource.
29359        '''
29360        self.port_override = port_override if port_override is not None else 0
29361        '''
29362         The local port used by clients to connect to this resource.
29363        '''
29364        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29365        '''
29366         ID of the proxy cluster for this resource, if any.
29367        '''
29368        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29369        '''
29370         ID of the secret store containing credentials for this resource, if any.
29371        '''
29372        self.subdomain = subdomain if subdomain is not None else ''
29373        '''
29374         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
29375        '''
29376        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29377        '''
29378         Tags is a map of key, value pairs.
29379        '''
29380        self.username = username if username is not None else ''
29381        '''
29382         The username to authenticate with.
29383        '''
29384
29385    def __repr__(self):
29386        return '<sdm.Teradata ' + \
29387            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29388            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29389            'healthy: ' + repr(self.healthy) + ' ' +\
29390            'hostname: ' + repr(self.hostname) + ' ' +\
29391            'id: ' + repr(self.id) + ' ' +\
29392            'name: ' + repr(self.name) + ' ' +\
29393            'password: ' + repr(self.password) + ' ' +\
29394            'port: ' + repr(self.port) + ' ' +\
29395            'port_override: ' + repr(self.port_override) + ' ' +\
29396            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29397            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29398            'subdomain: ' + repr(self.subdomain) + ' ' +\
29399            'tags: ' + repr(self.tags) + ' ' +\
29400            'username: ' + repr(self.username) + ' ' +\
29401            '>'
29402
29403    def to_dict(self):
29404        return {
29405            'bind_interface': self.bind_interface,
29406            'egress_filter': self.egress_filter,
29407            'healthy': self.healthy,
29408            'hostname': self.hostname,
29409            'id': self.id,
29410            'name': self.name,
29411            'password': self.password,
29412            'port': self.port,
29413            'port_override': self.port_override,
29414            'proxy_cluster_id': self.proxy_cluster_id,
29415            'secret_store_id': self.secret_store_id,
29416            'subdomain': self.subdomain,
29417            'tags': self.tags,
29418            'username': self.username,
29419        }
29420
29421    @classmethod
29422    def from_dict(cls, d):
29423        return cls(
29424            bind_interface=d.get('bind_interface'),
29425            egress_filter=d.get('egress_filter'),
29426            healthy=d.get('healthy'),
29427            hostname=d.get('hostname'),
29428            id=d.get('id'),
29429            name=d.get('name'),
29430            password=d.get('password'),
29431            port=d.get('port'),
29432            port_override=d.get('port_override'),
29433            proxy_cluster_id=d.get('proxy_cluster_id'),
29434            secret_store_id=d.get('secret_store_id'),
29435            subdomain=d.get('subdomain'),
29436            tags=d.get('tags'),
29437            username=d.get('username'),
29438        )
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)
29311    def __init__(
29312        self,
29313        bind_interface=None,
29314        egress_filter=None,
29315        healthy=None,
29316        hostname=None,
29317        id=None,
29318        name=None,
29319        password=None,
29320        port=None,
29321        port_override=None,
29322        proxy_cluster_id=None,
29323        secret_store_id=None,
29324        subdomain=None,
29325        tags=None,
29326        username=None,
29327    ):
29328        self.bind_interface = bind_interface if bind_interface is not None else ''
29329        '''
29330         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
29331        '''
29332        self.egress_filter = egress_filter if egress_filter is not None else ''
29333        '''
29334         A filter applied to the routing logic to pin datasource to nodes.
29335        '''
29336        self.healthy = healthy if healthy is not None else False
29337        '''
29338         True if the datasource is reachable and the credentials are valid.
29339        '''
29340        self.hostname = hostname if hostname is not None else ''
29341        '''
29342         The host to dial to initiate a connection from the egress node to this resource.
29343        '''
29344        self.id = id if id is not None else ''
29345        '''
29346         Unique identifier of the Resource.
29347        '''
29348        self.name = name if name is not None else ''
29349        '''
29350         Unique human-readable name of the Resource.
29351        '''
29352        self.password = password if password is not None else ''
29353        '''
29354         The password to authenticate with.
29355        '''
29356        self.port = port if port is not None else 0
29357        '''
29358         The port to dial to initiate a connection from the egress node to this resource.
29359        '''
29360        self.port_override = port_override if port_override is not None else 0
29361        '''
29362         The local port used by clients to connect to this resource.
29363        '''
29364        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29365        '''
29366         ID of the proxy cluster for this resource, if any.
29367        '''
29368        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29369        '''
29370         ID of the secret store containing credentials for this resource, if any.
29371        '''
29372        self.subdomain = subdomain if subdomain is not None else ''
29373        '''
29374         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
29375        '''
29376        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29377        '''
29378         Tags is a map of key, value pairs.
29379        '''
29380        self.username = username if username is not None else ''
29381        '''
29382         The username to authenticate with.
29383        '''
bind_interface

The bind interface is the IP 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)
29403    def to_dict(self):
29404        return {
29405            'bind_interface': self.bind_interface,
29406            'egress_filter': self.egress_filter,
29407            'healthy': self.healthy,
29408            'hostname': self.hostname,
29409            'id': self.id,
29410            'name': self.name,
29411            'password': self.password,
29412            'port': self.port,
29413            'port_override': self.port_override,
29414            'proxy_cluster_id': self.proxy_cluster_id,
29415            'secret_store_id': self.secret_store_id,
29416            'subdomain': self.subdomain,
29417            'tags': self.tags,
29418            'username': self.username,
29419        }
@classmethod
def from_dict(cls, d)
29421    @classmethod
29422    def from_dict(cls, d):
29423        return cls(
29424            bind_interface=d.get('bind_interface'),
29425            egress_filter=d.get('egress_filter'),
29426            healthy=d.get('healthy'),
29427            hostname=d.get('hostname'),
29428            id=d.get('id'),
29429            name=d.get('name'),
29430            password=d.get('password'),
29431            port=d.get('port'),
29432            port_override=d.get('port_override'),
29433            proxy_cluster_id=d.get('proxy_cluster_id'),
29434            secret_store_id=d.get('secret_store_id'),
29435            subdomain=d.get('subdomain'),
29436            tags=d.get('tags'),
29437            username=d.get('username'),
29438        )
class Token:
29441class Token:
29442    '''
29443         A Token is an account providing tokenized access for automation or integration use.
29444     Tokens include admin tokens, API keys, and SCIM tokens.
29445    '''
29446    __slots__ = [
29447        'account_type',
29448        'deadline',
29449        'duration',
29450        'id',
29451        'name',
29452        'permissions',
29453        'rekeyed',
29454        'suspended',
29455        'tags',
29456    ]
29457
29458    def __init__(
29459        self,
29460        account_type=None,
29461        deadline=None,
29462        duration=None,
29463        id=None,
29464        name=None,
29465        permissions=None,
29466        rekeyed=None,
29467        suspended=None,
29468        tags=None,
29469    ):
29470        self.account_type = account_type if account_type is not None else ''
29471        '''
29472         Corresponds to the type of token, e.g. api or admin-token.
29473        '''
29474        self.deadline = deadline if deadline is not None else None
29475        '''
29476         The timestamp when the Token will expire.
29477        '''
29478        self.duration = duration if duration is not None else None
29479        '''
29480         Duration from token creation to expiration.
29481        '''
29482        self.id = id if id is not None else ''
29483        '''
29484         Unique identifier of the Token.
29485        '''
29486        self.name = name if name is not None else ''
29487        '''
29488         Unique human-readable name of the Token.
29489        '''
29490        self.permissions = permissions if permissions is not None else []
29491        '''
29492         Permissions assigned to the token, e.g. role:create.
29493        '''
29494        self.rekeyed = rekeyed if rekeyed is not None else None
29495        '''
29496         The timestamp when the Token was last rekeyed.
29497        '''
29498        self.suspended = suspended if suspended is not None else False
29499        '''
29500         Reserved for future use.  Always false for tokens.
29501        '''
29502        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29503        '''
29504         Tags is a map of key, value pairs.
29505        '''
29506
29507    def __repr__(self):
29508        return '<sdm.Token ' + \
29509            'account_type: ' + repr(self.account_type) + ' ' +\
29510            'deadline: ' + repr(self.deadline) + ' ' +\
29511            'duration: ' + repr(self.duration) + ' ' +\
29512            'id: ' + repr(self.id) + ' ' +\
29513            'name: ' + repr(self.name) + ' ' +\
29514            'permissions: ' + repr(self.permissions) + ' ' +\
29515            'rekeyed: ' + repr(self.rekeyed) + ' ' +\
29516            'suspended: ' + repr(self.suspended) + ' ' +\
29517            'tags: ' + repr(self.tags) + ' ' +\
29518            '>'
29519
29520    def to_dict(self):
29521        return {
29522            'account_type': self.account_type,
29523            'deadline': self.deadline,
29524            'duration': self.duration,
29525            'id': self.id,
29526            'name': self.name,
29527            'permissions': self.permissions,
29528            'rekeyed': self.rekeyed,
29529            'suspended': self.suspended,
29530            'tags': self.tags,
29531        }
29532
29533    @classmethod
29534    def from_dict(cls, d):
29535        return cls(
29536            account_type=d.get('account_type'),
29537            deadline=d.get('deadline'),
29538            duration=d.get('duration'),
29539            id=d.get('id'),
29540            name=d.get('name'),
29541            permissions=d.get('permissions'),
29542            rekeyed=d.get('rekeyed'),
29543            suspended=d.get('suspended'),
29544            tags=d.get('tags'),
29545        )

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)
29458    def __init__(
29459        self,
29460        account_type=None,
29461        deadline=None,
29462        duration=None,
29463        id=None,
29464        name=None,
29465        permissions=None,
29466        rekeyed=None,
29467        suspended=None,
29468        tags=None,
29469    ):
29470        self.account_type = account_type if account_type is not None else ''
29471        '''
29472         Corresponds to the type of token, e.g. api or admin-token.
29473        '''
29474        self.deadline = deadline if deadline is not None else None
29475        '''
29476         The timestamp when the Token will expire.
29477        '''
29478        self.duration = duration if duration is not None else None
29479        '''
29480         Duration from token creation to expiration.
29481        '''
29482        self.id = id if id is not None else ''
29483        '''
29484         Unique identifier of the Token.
29485        '''
29486        self.name = name if name is not None else ''
29487        '''
29488         Unique human-readable name of the Token.
29489        '''
29490        self.permissions = permissions if permissions is not None else []
29491        '''
29492         Permissions assigned to the token, e.g. role:create.
29493        '''
29494        self.rekeyed = rekeyed if rekeyed is not None else None
29495        '''
29496         The timestamp when the Token was last rekeyed.
29497        '''
29498        self.suspended = suspended if suspended is not None else False
29499        '''
29500         Reserved for future use.  Always false for tokens.
29501        '''
29502        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29503        '''
29504         Tags is a map of key, value pairs.
29505        '''
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)
29520    def to_dict(self):
29521        return {
29522            'account_type': self.account_type,
29523            'deadline': self.deadline,
29524            'duration': self.duration,
29525            'id': self.id,
29526            'name': self.name,
29527            'permissions': self.permissions,
29528            'rekeyed': self.rekeyed,
29529            'suspended': self.suspended,
29530            'tags': self.tags,
29531        }
@classmethod
def from_dict(cls, d)
29533    @classmethod
29534    def from_dict(cls, d):
29535        return cls(
29536            account_type=d.get('account_type'),
29537            deadline=d.get('deadline'),
29538            duration=d.get('duration'),
29539            id=d.get('id'),
29540            name=d.get('name'),
29541            permissions=d.get('permissions'),
29542            rekeyed=d.get('rekeyed'),
29543            suspended=d.get('suspended'),
29544            tags=d.get('tags'),
29545        )
class Trino:
29548class Trino:
29549    __slots__ = [
29550        'bind_interface',
29551        'egress_filter',
29552        'healthy',
29553        'hostname',
29554        'id',
29555        'name',
29556        'password',
29557        'port',
29558        'port_override',
29559        'proxy_cluster_id',
29560        'secret_store_id',
29561        'subdomain',
29562        'tags',
29563        'tls_required',
29564        'username',
29565    ]
29566
29567    def __init__(
29568        self,
29569        bind_interface=None,
29570        egress_filter=None,
29571        healthy=None,
29572        hostname=None,
29573        id=None,
29574        name=None,
29575        password=None,
29576        port=None,
29577        port_override=None,
29578        proxy_cluster_id=None,
29579        secret_store_id=None,
29580        subdomain=None,
29581        tags=None,
29582        tls_required=None,
29583        username=None,
29584    ):
29585        self.bind_interface = bind_interface if bind_interface is not None else ''
29586        '''
29587         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
29588        '''
29589        self.egress_filter = egress_filter if egress_filter is not None else ''
29590        '''
29591         A filter applied to the routing logic to pin datasource to nodes.
29592        '''
29593        self.healthy = healthy if healthy is not None else False
29594        '''
29595         True if the datasource is reachable and the credentials are valid.
29596        '''
29597        self.hostname = hostname if hostname is not None else ''
29598        '''
29599         The host to dial to initiate a connection from the egress node to this resource.
29600        '''
29601        self.id = id if id is not None else ''
29602        '''
29603         Unique identifier of the Resource.
29604        '''
29605        self.name = name if name is not None else ''
29606        '''
29607         Unique human-readable name of the Resource.
29608        '''
29609        self.password = password if password is not None else ''
29610        '''
29611         The password to authenticate with.
29612        '''
29613        self.port = port if port is not None else 0
29614        '''
29615         The port to dial to initiate a connection from the egress node to this resource.
29616        '''
29617        self.port_override = port_override if port_override is not None else 0
29618        '''
29619         The local port used by clients to connect to this resource.
29620        '''
29621        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29622        '''
29623         ID of the proxy cluster for this resource, if any.
29624        '''
29625        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29626        '''
29627         ID of the secret store containing credentials for this resource, if any.
29628        '''
29629        self.subdomain = subdomain if subdomain is not None else ''
29630        '''
29631         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
29632        '''
29633        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29634        '''
29635         Tags is a map of key, value pairs.
29636        '''
29637        self.tls_required = tls_required if tls_required is not None else False
29638        '''
29639         If set, TLS must be used to connect to this resource.
29640        '''
29641        self.username = username if username is not None else ''
29642        '''
29643         The username to authenticate with.
29644        '''
29645
29646    def __repr__(self):
29647        return '<sdm.Trino ' + \
29648            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29649            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29650            'healthy: ' + repr(self.healthy) + ' ' +\
29651            'hostname: ' + repr(self.hostname) + ' ' +\
29652            'id: ' + repr(self.id) + ' ' +\
29653            'name: ' + repr(self.name) + ' ' +\
29654            'password: ' + repr(self.password) + ' ' +\
29655            'port: ' + repr(self.port) + ' ' +\
29656            'port_override: ' + repr(self.port_override) + ' ' +\
29657            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29658            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29659            'subdomain: ' + repr(self.subdomain) + ' ' +\
29660            'tags: ' + repr(self.tags) + ' ' +\
29661            'tls_required: ' + repr(self.tls_required) + ' ' +\
29662            'username: ' + repr(self.username) + ' ' +\
29663            '>'
29664
29665    def to_dict(self):
29666        return {
29667            'bind_interface': self.bind_interface,
29668            'egress_filter': self.egress_filter,
29669            'healthy': self.healthy,
29670            'hostname': self.hostname,
29671            'id': self.id,
29672            'name': self.name,
29673            'password': self.password,
29674            'port': self.port,
29675            'port_override': self.port_override,
29676            'proxy_cluster_id': self.proxy_cluster_id,
29677            'secret_store_id': self.secret_store_id,
29678            'subdomain': self.subdomain,
29679            'tags': self.tags,
29680            'tls_required': self.tls_required,
29681            'username': self.username,
29682        }
29683
29684    @classmethod
29685    def from_dict(cls, d):
29686        return cls(
29687            bind_interface=d.get('bind_interface'),
29688            egress_filter=d.get('egress_filter'),
29689            healthy=d.get('healthy'),
29690            hostname=d.get('hostname'),
29691            id=d.get('id'),
29692            name=d.get('name'),
29693            password=d.get('password'),
29694            port=d.get('port'),
29695            port_override=d.get('port_override'),
29696            proxy_cluster_id=d.get('proxy_cluster_id'),
29697            secret_store_id=d.get('secret_store_id'),
29698            subdomain=d.get('subdomain'),
29699            tags=d.get('tags'),
29700            tls_required=d.get('tls_required'),
29701            username=d.get('username'),
29702        )
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)
29567    def __init__(
29568        self,
29569        bind_interface=None,
29570        egress_filter=None,
29571        healthy=None,
29572        hostname=None,
29573        id=None,
29574        name=None,
29575        password=None,
29576        port=None,
29577        port_override=None,
29578        proxy_cluster_id=None,
29579        secret_store_id=None,
29580        subdomain=None,
29581        tags=None,
29582        tls_required=None,
29583        username=None,
29584    ):
29585        self.bind_interface = bind_interface if bind_interface is not None else ''
29586        '''
29587         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
29588        '''
29589        self.egress_filter = egress_filter if egress_filter is not None else ''
29590        '''
29591         A filter applied to the routing logic to pin datasource to nodes.
29592        '''
29593        self.healthy = healthy if healthy is not None else False
29594        '''
29595         True if the datasource is reachable and the credentials are valid.
29596        '''
29597        self.hostname = hostname if hostname is not None else ''
29598        '''
29599         The host to dial to initiate a connection from the egress node to this resource.
29600        '''
29601        self.id = id if id is not None else ''
29602        '''
29603         Unique identifier of the Resource.
29604        '''
29605        self.name = name if name is not None else ''
29606        '''
29607         Unique human-readable name of the Resource.
29608        '''
29609        self.password = password if password is not None else ''
29610        '''
29611         The password to authenticate with.
29612        '''
29613        self.port = port if port is not None else 0
29614        '''
29615         The port to dial to initiate a connection from the egress node to this resource.
29616        '''
29617        self.port_override = port_override if port_override is not None else 0
29618        '''
29619         The local port used by clients to connect to this resource.
29620        '''
29621        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29622        '''
29623         ID of the proxy cluster for this resource, if any.
29624        '''
29625        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29626        '''
29627         ID of the secret store containing credentials for this resource, if any.
29628        '''
29629        self.subdomain = subdomain if subdomain is not None else ''
29630        '''
29631         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
29632        '''
29633        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29634        '''
29635         Tags is a map of key, value pairs.
29636        '''
29637        self.tls_required = tls_required if tls_required is not None else False
29638        '''
29639         If set, TLS must be used to connect to this resource.
29640        '''
29641        self.username = username if username is not None else ''
29642        '''
29643         The username to authenticate with.
29644        '''
bind_interface

The bind interface is the IP 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)
29665    def to_dict(self):
29666        return {
29667            'bind_interface': self.bind_interface,
29668            'egress_filter': self.egress_filter,
29669            'healthy': self.healthy,
29670            'hostname': self.hostname,
29671            'id': self.id,
29672            'name': self.name,
29673            'password': self.password,
29674            'port': self.port,
29675            'port_override': self.port_override,
29676            'proxy_cluster_id': self.proxy_cluster_id,
29677            'secret_store_id': self.secret_store_id,
29678            'subdomain': self.subdomain,
29679            'tags': self.tags,
29680            'tls_required': self.tls_required,
29681            'username': self.username,
29682        }
@classmethod
def from_dict(cls, d)
29684    @classmethod
29685    def from_dict(cls, d):
29686        return cls(
29687            bind_interface=d.get('bind_interface'),
29688            egress_filter=d.get('egress_filter'),
29689            healthy=d.get('healthy'),
29690            hostname=d.get('hostname'),
29691            id=d.get('id'),
29692            name=d.get('name'),
29693            password=d.get('password'),
29694            port=d.get('port'),
29695            port_override=d.get('port_override'),
29696            proxy_cluster_id=d.get('proxy_cluster_id'),
29697            secret_store_id=d.get('secret_store_id'),
29698            subdomain=d.get('subdomain'),
29699            tags=d.get('tags'),
29700            tls_required=d.get('tls_required'),
29701            username=d.get('username'),
29702        )
class UpdateResponseMetadata:
29705class UpdateResponseMetadata:
29706    '''
29707         UpdateResponseMetadata is reserved for future use.
29708    '''
29709    __slots__ = []
29710
29711    def __init__(self, ):
29712        pass
29713
29714    def __repr__(self):
29715        return '<sdm.UpdateResponseMetadata ' + \
29716            '>'
29717
29718    def to_dict(self):
29719        return {}
29720
29721    @classmethod
29722    def from_dict(cls, d):
29723        return cls()

UpdateResponseMetadata is reserved for future use.

UpdateResponseMetadata()
29711    def __init__(self, ):
29712        pass
def to_dict(self)
29718    def to_dict(self):
29719        return {}
@classmethod
def from_dict(cls, d)
29721    @classmethod
29722    def from_dict(cls, d):
29723        return cls()
class User:
29726class User:
29727    '''
29728         A User can connect to resources they are granted directly, or granted
29729     via roles.
29730    '''
29731    __slots__ = [
29732        'scim',
29733        'email',
29734        'external_id',
29735        'first_name',
29736        'id',
29737        'last_name',
29738        'managed_by',
29739        'manager_id',
29740        'password',
29741        'permission_level',
29742        'resolved_manager_id',
29743        'suspended',
29744        'tags',
29745    ]
29746
29747    def __init__(
29748        self,
29749        scim=None,
29750        email=None,
29751        external_id=None,
29752        first_name=None,
29753        id=None,
29754        last_name=None,
29755        managed_by=None,
29756        manager_id=None,
29757        password=None,
29758        permission_level=None,
29759        resolved_manager_id=None,
29760        suspended=None,
29761        tags=None,
29762    ):
29763        self.scim = scim if scim is not None else ''
29764        '''
29765         SCIM contains the raw SCIM metadata for the user. This is a read-only field.
29766        '''
29767        self.email = email if email is not None else ''
29768        '''
29769         The User's email address. Must be unique.
29770        '''
29771        self.external_id = external_id if external_id is not None else ''
29772        '''
29773         External ID is an alternative unique ID this user is represented by within an external service.
29774        '''
29775        self.first_name = first_name if first_name is not None else ''
29776        '''
29777         The User's first name.
29778        '''
29779        self.id = id if id is not None else ''
29780        '''
29781         Unique identifier of the User.
29782        '''
29783        self.last_name = last_name if last_name is not None else ''
29784        '''
29785         The User's last name.
29786        '''
29787        self.managed_by = managed_by if managed_by is not None else ''
29788        '''
29789         Managed By is a read only field for what service manages this user, e.g. StrongDM, Okta, Azure.
29790        '''
29791        self.manager_id = manager_id if manager_id is not None else ''
29792        '''
29793         Manager ID is the ID of the user's manager. This field is empty when the user has no manager.
29794        '''
29795        self.password = password if password is not None else ''
29796        '''
29797         Password is a write-only field that can be used to set the user's password.
29798         Currently only supported for update.
29799        '''
29800        self.permission_level = permission_level if permission_level is not None else ''
29801        '''
29802         PermissionLevel is the user's permission level e.g. admin, DBA, user.
29803        '''
29804        self.resolved_manager_id = resolved_manager_id if resolved_manager_id is not None else ''
29805        '''
29806         Resolved Manager ID is the ID of the user's manager derived from the manager_id,
29807         if present, or from the SCIM metadata.
29808         This is a read-only field that's only populated for get and list.
29809        '''
29810        self.suspended = suspended if suspended is not None else False
29811        '''
29812         Suspended is a read only field for the User's suspended state.
29813        '''
29814        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29815        '''
29816         Tags is a map of key, value pairs.
29817        '''
29818
29819    def __repr__(self):
29820        return '<sdm.User ' + \
29821            'scim: ' + repr(self.scim) + ' ' +\
29822            'email: ' + repr(self.email) + ' ' +\
29823            'external_id: ' + repr(self.external_id) + ' ' +\
29824            'first_name: ' + repr(self.first_name) + ' ' +\
29825            'id: ' + repr(self.id) + ' ' +\
29826            'last_name: ' + repr(self.last_name) + ' ' +\
29827            'managed_by: ' + repr(self.managed_by) + ' ' +\
29828            'manager_id: ' + repr(self.manager_id) + ' ' +\
29829            'password: ' + repr(self.password) + ' ' +\
29830            'permission_level: ' + repr(self.permission_level) + ' ' +\
29831            'resolved_manager_id: ' + repr(self.resolved_manager_id) + ' ' +\
29832            'suspended: ' + repr(self.suspended) + ' ' +\
29833            'tags: ' + repr(self.tags) + ' ' +\
29834            '>'
29835
29836    def to_dict(self):
29837        return {
29838            'scim': self.scim,
29839            'email': self.email,
29840            'external_id': self.external_id,
29841            'first_name': self.first_name,
29842            'id': self.id,
29843            'last_name': self.last_name,
29844            'managed_by': self.managed_by,
29845            'manager_id': self.manager_id,
29846            'password': self.password,
29847            'permission_level': self.permission_level,
29848            'resolved_manager_id': self.resolved_manager_id,
29849            'suspended': self.suspended,
29850            'tags': self.tags,
29851        }
29852
29853    @classmethod
29854    def from_dict(cls, d):
29855        return cls(
29856            scim=d.get('scim'),
29857            email=d.get('email'),
29858            external_id=d.get('external_id'),
29859            first_name=d.get('first_name'),
29860            id=d.get('id'),
29861            last_name=d.get('last_name'),
29862            managed_by=d.get('managed_by'),
29863            manager_id=d.get('manager_id'),
29864            password=d.get('password'),
29865            permission_level=d.get('permission_level'),
29866            resolved_manager_id=d.get('resolved_manager_id'),
29867            suspended=d.get('suspended'),
29868            tags=d.get('tags'),
29869        )

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)
29747    def __init__(
29748        self,
29749        scim=None,
29750        email=None,
29751        external_id=None,
29752        first_name=None,
29753        id=None,
29754        last_name=None,
29755        managed_by=None,
29756        manager_id=None,
29757        password=None,
29758        permission_level=None,
29759        resolved_manager_id=None,
29760        suspended=None,
29761        tags=None,
29762    ):
29763        self.scim = scim if scim is not None else ''
29764        '''
29765         SCIM contains the raw SCIM metadata for the user. This is a read-only field.
29766        '''
29767        self.email = email if email is not None else ''
29768        '''
29769         The User's email address. Must be unique.
29770        '''
29771        self.external_id = external_id if external_id is not None else ''
29772        '''
29773         External ID is an alternative unique ID this user is represented by within an external service.
29774        '''
29775        self.first_name = first_name if first_name is not None else ''
29776        '''
29777         The User's first name.
29778        '''
29779        self.id = id if id is not None else ''
29780        '''
29781         Unique identifier of the User.
29782        '''
29783        self.last_name = last_name if last_name is not None else ''
29784        '''
29785         The User's last name.
29786        '''
29787        self.managed_by = managed_by if managed_by is not None else ''
29788        '''
29789         Managed By is a read only field for what service manages this user, e.g. StrongDM, Okta, Azure.
29790        '''
29791        self.manager_id = manager_id if manager_id is not None else ''
29792        '''
29793         Manager ID is the ID of the user's manager. This field is empty when the user has no manager.
29794        '''
29795        self.password = password if password is not None else ''
29796        '''
29797         Password is a write-only field that can be used to set the user's password.
29798         Currently only supported for update.
29799        '''
29800        self.permission_level = permission_level if permission_level is not None else ''
29801        '''
29802         PermissionLevel is the user's permission level e.g. admin, DBA, user.
29803        '''
29804        self.resolved_manager_id = resolved_manager_id if resolved_manager_id is not None else ''
29805        '''
29806         Resolved Manager ID is the ID of the user's manager derived from the manager_id,
29807         if present, or from the SCIM metadata.
29808         This is a read-only field that's only populated for get and list.
29809        '''
29810        self.suspended = suspended if suspended is not None else False
29811        '''
29812         Suspended is a read only field for the User's suspended state.
29813        '''
29814        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29815        '''
29816         Tags is a map of key, value pairs.
29817        '''
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)
29836    def to_dict(self):
29837        return {
29838            'scim': self.scim,
29839            'email': self.email,
29840            'external_id': self.external_id,
29841            'first_name': self.first_name,
29842            'id': self.id,
29843            'last_name': self.last_name,
29844            'managed_by': self.managed_by,
29845            'manager_id': self.manager_id,
29846            'password': self.password,
29847            'permission_level': self.permission_level,
29848            'resolved_manager_id': self.resolved_manager_id,
29849            'suspended': self.suspended,
29850            'tags': self.tags,
29851        }
@classmethod
def from_dict(cls, d)
29853    @classmethod
29854    def from_dict(cls, d):
29855        return cls(
29856            scim=d.get('scim'),
29857            email=d.get('email'),
29858            external_id=d.get('external_id'),
29859            first_name=d.get('first_name'),
29860            id=d.get('id'),
29861            last_name=d.get('last_name'),
29862            managed_by=d.get('managed_by'),
29863            manager_id=d.get('manager_id'),
29864            password=d.get('password'),
29865            permission_level=d.get('permission_level'),
29866            resolved_manager_id=d.get('resolved_manager_id'),
29867            suspended=d.get('suspended'),
29868            tags=d.get('tags'),
29869        )
class VaultAWSEC2Store:
29872class VaultAWSEC2Store:
29873    __slots__ = [
29874        'id',
29875        'name',
29876        'namespace',
29877        'server_address',
29878        'tags',
29879    ]
29880
29881    def __init__(
29882        self,
29883        id=None,
29884        name=None,
29885        namespace=None,
29886        server_address=None,
29887        tags=None,
29888    ):
29889        self.id = id if id is not None else ''
29890        '''
29891         Unique identifier of the SecretStore.
29892        '''
29893        self.name = name if name is not None else ''
29894        '''
29895         Unique human-readable name of the SecretStore.
29896        '''
29897        self.namespace = namespace if namespace is not None else ''
29898        '''
29899         The namespace to make requests within
29900        '''
29901        self.server_address = server_address if server_address is not None else ''
29902        '''
29903         The URL of the Vault to target
29904        '''
29905        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29906        '''
29907         Tags is a map of key, value pairs.
29908        '''
29909
29910    def __repr__(self):
29911        return '<sdm.VaultAWSEC2Store ' + \
29912            'id: ' + repr(self.id) + ' ' +\
29913            'name: ' + repr(self.name) + ' ' +\
29914            'namespace: ' + repr(self.namespace) + ' ' +\
29915            'server_address: ' + repr(self.server_address) + ' ' +\
29916            'tags: ' + repr(self.tags) + ' ' +\
29917            '>'
29918
29919    def to_dict(self):
29920        return {
29921            'id': self.id,
29922            'name': self.name,
29923            'namespace': self.namespace,
29924            'server_address': self.server_address,
29925            'tags': self.tags,
29926        }
29927
29928    @classmethod
29929    def from_dict(cls, d):
29930        return cls(
29931            id=d.get('id'),
29932            name=d.get('name'),
29933            namespace=d.get('namespace'),
29934            server_address=d.get('server_address'),
29935            tags=d.get('tags'),
29936        )
VaultAWSEC2Store(id=None, name=None, namespace=None, server_address=None, tags=None)
29881    def __init__(
29882        self,
29883        id=None,
29884        name=None,
29885        namespace=None,
29886        server_address=None,
29887        tags=None,
29888    ):
29889        self.id = id if id is not None else ''
29890        '''
29891         Unique identifier of the SecretStore.
29892        '''
29893        self.name = name if name is not None else ''
29894        '''
29895         Unique human-readable name of the SecretStore.
29896        '''
29897        self.namespace = namespace if namespace is not None else ''
29898        '''
29899         The namespace to make requests within
29900        '''
29901        self.server_address = server_address if server_address is not None else ''
29902        '''
29903         The URL of the Vault to target
29904        '''
29905        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29906        '''
29907         Tags is a map of key, value pairs.
29908        '''
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)
29919    def to_dict(self):
29920        return {
29921            'id': self.id,
29922            'name': self.name,
29923            'namespace': self.namespace,
29924            'server_address': self.server_address,
29925            'tags': self.tags,
29926        }
@classmethod
def from_dict(cls, d)
29928    @classmethod
29929    def from_dict(cls, d):
29930        return cls(
29931            id=d.get('id'),
29932            name=d.get('name'),
29933            namespace=d.get('namespace'),
29934            server_address=d.get('server_address'),
29935            tags=d.get('tags'),
29936        )
class VaultAWSIAMStore:
29939class VaultAWSIAMStore:
29940    __slots__ = [
29941        'id',
29942        'name',
29943        'namespace',
29944        'server_address',
29945        'tags',
29946    ]
29947
29948    def __init__(
29949        self,
29950        id=None,
29951        name=None,
29952        namespace=None,
29953        server_address=None,
29954        tags=None,
29955    ):
29956        self.id = id if id is not None else ''
29957        '''
29958         Unique identifier of the SecretStore.
29959        '''
29960        self.name = name if name is not None else ''
29961        '''
29962         Unique human-readable name of the SecretStore.
29963        '''
29964        self.namespace = namespace if namespace is not None else ''
29965        '''
29966         The namespace to make requests within
29967        '''
29968        self.server_address = server_address if server_address is not None else ''
29969        '''
29970         The URL of the Vault to target
29971        '''
29972        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29973        '''
29974         Tags is a map of key, value pairs.
29975        '''
29976
29977    def __repr__(self):
29978        return '<sdm.VaultAWSIAMStore ' + \
29979            'id: ' + repr(self.id) + ' ' +\
29980            'name: ' + repr(self.name) + ' ' +\
29981            'namespace: ' + repr(self.namespace) + ' ' +\
29982            'server_address: ' + repr(self.server_address) + ' ' +\
29983            'tags: ' + repr(self.tags) + ' ' +\
29984            '>'
29985
29986    def to_dict(self):
29987        return {
29988            'id': self.id,
29989            'name': self.name,
29990            'namespace': self.namespace,
29991            'server_address': self.server_address,
29992            'tags': self.tags,
29993        }
29994
29995    @classmethod
29996    def from_dict(cls, d):
29997        return cls(
29998            id=d.get('id'),
29999            name=d.get('name'),
30000            namespace=d.get('namespace'),
30001            server_address=d.get('server_address'),
30002            tags=d.get('tags'),
30003        )
VaultAWSIAMStore(id=None, name=None, namespace=None, server_address=None, tags=None)
29948    def __init__(
29949        self,
29950        id=None,
29951        name=None,
29952        namespace=None,
29953        server_address=None,
29954        tags=None,
29955    ):
29956        self.id = id if id is not None else ''
29957        '''
29958         Unique identifier of the SecretStore.
29959        '''
29960        self.name = name if name is not None else ''
29961        '''
29962         Unique human-readable name of the SecretStore.
29963        '''
29964        self.namespace = namespace if namespace is not None else ''
29965        '''
29966         The namespace to make requests within
29967        '''
29968        self.server_address = server_address if server_address is not None else ''
29969        '''
29970         The URL of the Vault to target
29971        '''
29972        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29973        '''
29974         Tags is a map of key, value pairs.
29975        '''
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)
29986    def to_dict(self):
29987        return {
29988            'id': self.id,
29989            'name': self.name,
29990            'namespace': self.namespace,
29991            'server_address': self.server_address,
29992            'tags': self.tags,
29993        }
@classmethod
def from_dict(cls, d)
29995    @classmethod
29996    def from_dict(cls, d):
29997        return cls(
29998            id=d.get('id'),
29999            name=d.get('name'),
30000            namespace=d.get('namespace'),
30001            server_address=d.get('server_address'),
30002            tags=d.get('tags'),
30003        )
class VaultAppRoleCertSSHStore:
30006class VaultAppRoleCertSSHStore:
30007    __slots__ = [
30008        'id',
30009        'issuedcertttlminutes',
30010        'name',
30011        'namespace',
30012        'server_address',
30013        'signing_role',
30014        'ssh_mount_point',
30015        'tags',
30016    ]
30017
30018    def __init__(
30019        self,
30020        id=None,
30021        issuedcertttlminutes=None,
30022        name=None,
30023        namespace=None,
30024        server_address=None,
30025        signing_role=None,
30026        ssh_mount_point=None,
30027        tags=None,
30028    ):
30029        self.id = id if id is not None else ''
30030        '''
30031         Unique identifier of the SecretStore.
30032        '''
30033        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30034        '''
30035         The lifetime of certificates issued by this CA represented in minutes.
30036        '''
30037        self.name = name if name is not None else ''
30038        '''
30039         Unique human-readable name of the SecretStore.
30040        '''
30041        self.namespace = namespace if namespace is not None else ''
30042        '''
30043         The namespace to make requests within
30044        '''
30045        self.server_address = server_address if server_address is not None else ''
30046        '''
30047         The URL of the Vault to target
30048        '''
30049        self.signing_role = signing_role if signing_role is not None else ''
30050        '''
30051         The signing role to be used for signing certificates
30052        '''
30053        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
30054        '''
30055         The mount point of the SSH engine configured with the desired CA
30056        '''
30057        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30058        '''
30059         Tags is a map of key, value pairs.
30060        '''
30061
30062    def __repr__(self):
30063        return '<sdm.VaultAppRoleCertSSHStore ' + \
30064            'id: ' + repr(self.id) + ' ' +\
30065            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
30066            'name: ' + repr(self.name) + ' ' +\
30067            'namespace: ' + repr(self.namespace) + ' ' +\
30068            'server_address: ' + repr(self.server_address) + ' ' +\
30069            'signing_role: ' + repr(self.signing_role) + ' ' +\
30070            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
30071            'tags: ' + repr(self.tags) + ' ' +\
30072            '>'
30073
30074    def to_dict(self):
30075        return {
30076            'id': self.id,
30077            'issuedcertttlminutes': self.issuedcertttlminutes,
30078            'name': self.name,
30079            'namespace': self.namespace,
30080            'server_address': self.server_address,
30081            'signing_role': self.signing_role,
30082            'ssh_mount_point': self.ssh_mount_point,
30083            'tags': self.tags,
30084        }
30085
30086    @classmethod
30087    def from_dict(cls, d):
30088        return cls(
30089            id=d.get('id'),
30090            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30091            name=d.get('name'),
30092            namespace=d.get('namespace'),
30093            server_address=d.get('server_address'),
30094            signing_role=d.get('signing_role'),
30095            ssh_mount_point=d.get('ssh_mount_point'),
30096            tags=d.get('tags'),
30097        )
VaultAppRoleCertSSHStore( id=None, issuedcertttlminutes=None, name=None, namespace=None, server_address=None, signing_role=None, ssh_mount_point=None, tags=None)
30018    def __init__(
30019        self,
30020        id=None,
30021        issuedcertttlminutes=None,
30022        name=None,
30023        namespace=None,
30024        server_address=None,
30025        signing_role=None,
30026        ssh_mount_point=None,
30027        tags=None,
30028    ):
30029        self.id = id if id is not None else ''
30030        '''
30031         Unique identifier of the SecretStore.
30032        '''
30033        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30034        '''
30035         The lifetime of certificates issued by this CA represented in minutes.
30036        '''
30037        self.name = name if name is not None else ''
30038        '''
30039         Unique human-readable name of the SecretStore.
30040        '''
30041        self.namespace = namespace if namespace is not None else ''
30042        '''
30043         The namespace to make requests within
30044        '''
30045        self.server_address = server_address if server_address is not None else ''
30046        '''
30047         The URL of the Vault to target
30048        '''
30049        self.signing_role = signing_role if signing_role is not None else ''
30050        '''
30051         The signing role to be used for signing certificates
30052        '''
30053        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
30054        '''
30055         The mount point of the SSH engine configured with the desired CA
30056        '''
30057        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30058        '''
30059         Tags is a map of key, value pairs.
30060        '''
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)
30074    def to_dict(self):
30075        return {
30076            'id': self.id,
30077            'issuedcertttlminutes': self.issuedcertttlminutes,
30078            'name': self.name,
30079            'namespace': self.namespace,
30080            'server_address': self.server_address,
30081            'signing_role': self.signing_role,
30082            'ssh_mount_point': self.ssh_mount_point,
30083            'tags': self.tags,
30084        }
@classmethod
def from_dict(cls, d)
30086    @classmethod
30087    def from_dict(cls, d):
30088        return cls(
30089            id=d.get('id'),
30090            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30091            name=d.get('name'),
30092            namespace=d.get('namespace'),
30093            server_address=d.get('server_address'),
30094            signing_role=d.get('signing_role'),
30095            ssh_mount_point=d.get('ssh_mount_point'),
30096            tags=d.get('tags'),
30097        )
class VaultAppRoleCertX509Store:
30100class VaultAppRoleCertX509Store:
30101    __slots__ = [
30102        'id',
30103        'issuedcertttlminutes',
30104        'name',
30105        'namespace',
30106        'pki_mount_point',
30107        'server_address',
30108        'signing_role',
30109        'tags',
30110    ]
30111
30112    def __init__(
30113        self,
30114        id=None,
30115        issuedcertttlminutes=None,
30116        name=None,
30117        namespace=None,
30118        pki_mount_point=None,
30119        server_address=None,
30120        signing_role=None,
30121        tags=None,
30122    ):
30123        self.id = id if id is not None else ''
30124        '''
30125         Unique identifier of the SecretStore.
30126        '''
30127        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30128        '''
30129         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
30130        '''
30131        self.name = name if name is not None else ''
30132        '''
30133         Unique human-readable name of the SecretStore.
30134        '''
30135        self.namespace = namespace if namespace is not None else ''
30136        '''
30137         The namespace to make requests within
30138        '''
30139        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
30140        '''
30141         The mount point of the PKI engine configured with the desired CA
30142        '''
30143        self.server_address = server_address if server_address is not None else ''
30144        '''
30145         The URL of the Vault to target
30146        '''
30147        self.signing_role = signing_role if signing_role is not None else ''
30148        '''
30149         The signing role to be used for signing certificates
30150        '''
30151        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30152        '''
30153         Tags is a map of key, value pairs.
30154        '''
30155
30156    def __repr__(self):
30157        return '<sdm.VaultAppRoleCertX509Store ' + \
30158            'id: ' + repr(self.id) + ' ' +\
30159            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
30160            'name: ' + repr(self.name) + ' ' +\
30161            'namespace: ' + repr(self.namespace) + ' ' +\
30162            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
30163            'server_address: ' + repr(self.server_address) + ' ' +\
30164            'signing_role: ' + repr(self.signing_role) + ' ' +\
30165            'tags: ' + repr(self.tags) + ' ' +\
30166            '>'
30167
30168    def to_dict(self):
30169        return {
30170            'id': self.id,
30171            'issuedcertttlminutes': self.issuedcertttlminutes,
30172            'name': self.name,
30173            'namespace': self.namespace,
30174            'pki_mount_point': self.pki_mount_point,
30175            'server_address': self.server_address,
30176            'signing_role': self.signing_role,
30177            'tags': self.tags,
30178        }
30179
30180    @classmethod
30181    def from_dict(cls, d):
30182        return cls(
30183            id=d.get('id'),
30184            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30185            name=d.get('name'),
30186            namespace=d.get('namespace'),
30187            pki_mount_point=d.get('pki_mount_point'),
30188            server_address=d.get('server_address'),
30189            signing_role=d.get('signing_role'),
30190            tags=d.get('tags'),
30191        )
VaultAppRoleCertX509Store( id=None, issuedcertttlminutes=None, name=None, namespace=None, pki_mount_point=None, server_address=None, signing_role=None, tags=None)
30112    def __init__(
30113        self,
30114        id=None,
30115        issuedcertttlminutes=None,
30116        name=None,
30117        namespace=None,
30118        pki_mount_point=None,
30119        server_address=None,
30120        signing_role=None,
30121        tags=None,
30122    ):
30123        self.id = id if id is not None else ''
30124        '''
30125         Unique identifier of the SecretStore.
30126        '''
30127        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30128        '''
30129         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
30130        '''
30131        self.name = name if name is not None else ''
30132        '''
30133         Unique human-readable name of the SecretStore.
30134        '''
30135        self.namespace = namespace if namespace is not None else ''
30136        '''
30137         The namespace to make requests within
30138        '''
30139        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
30140        '''
30141         The mount point of the PKI engine configured with the desired CA
30142        '''
30143        self.server_address = server_address if server_address is not None else ''
30144        '''
30145         The URL of the Vault to target
30146        '''
30147        self.signing_role = signing_role if signing_role is not None else ''
30148        '''
30149         The signing role to be used for signing certificates
30150        '''
30151        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30152        '''
30153         Tags is a map of key, value pairs.
30154        '''
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)
30168    def to_dict(self):
30169        return {
30170            'id': self.id,
30171            'issuedcertttlminutes': self.issuedcertttlminutes,
30172            'name': self.name,
30173            'namespace': self.namespace,
30174            'pki_mount_point': self.pki_mount_point,
30175            'server_address': self.server_address,
30176            'signing_role': self.signing_role,
30177            'tags': self.tags,
30178        }
@classmethod
def from_dict(cls, d)
30180    @classmethod
30181    def from_dict(cls, d):
30182        return cls(
30183            id=d.get('id'),
30184            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30185            name=d.get('name'),
30186            namespace=d.get('namespace'),
30187            pki_mount_point=d.get('pki_mount_point'),
30188            server_address=d.get('server_address'),
30189            signing_role=d.get('signing_role'),
30190            tags=d.get('tags'),
30191        )
class VaultAppRoleStore:
30194class VaultAppRoleStore:
30195    __slots__ = [
30196        'id',
30197        'name',
30198        'namespace',
30199        'server_address',
30200        'tags',
30201    ]
30202
30203    def __init__(
30204        self,
30205        id=None,
30206        name=None,
30207        namespace=None,
30208        server_address=None,
30209        tags=None,
30210    ):
30211        self.id = id if id is not None else ''
30212        '''
30213         Unique identifier of the SecretStore.
30214        '''
30215        self.name = name if name is not None else ''
30216        '''
30217         Unique human-readable name of the SecretStore.
30218        '''
30219        self.namespace = namespace if namespace is not None else ''
30220        '''
30221         The namespace to make requests within
30222        '''
30223        self.server_address = server_address if server_address is not None else ''
30224        '''
30225         The URL of the Vault to target
30226        '''
30227        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30228        '''
30229         Tags is a map of key, value pairs.
30230        '''
30231
30232    def __repr__(self):
30233        return '<sdm.VaultAppRoleStore ' + \
30234            'id: ' + repr(self.id) + ' ' +\
30235            'name: ' + repr(self.name) + ' ' +\
30236            'namespace: ' + repr(self.namespace) + ' ' +\
30237            'server_address: ' + repr(self.server_address) + ' ' +\
30238            'tags: ' + repr(self.tags) + ' ' +\
30239            '>'
30240
30241    def to_dict(self):
30242        return {
30243            'id': self.id,
30244            'name': self.name,
30245            'namespace': self.namespace,
30246            'server_address': self.server_address,
30247            'tags': self.tags,
30248        }
30249
30250    @classmethod
30251    def from_dict(cls, d):
30252        return cls(
30253            id=d.get('id'),
30254            name=d.get('name'),
30255            namespace=d.get('namespace'),
30256            server_address=d.get('server_address'),
30257            tags=d.get('tags'),
30258        )
VaultAppRoleStore(id=None, name=None, namespace=None, server_address=None, tags=None)
30203    def __init__(
30204        self,
30205        id=None,
30206        name=None,
30207        namespace=None,
30208        server_address=None,
30209        tags=None,
30210    ):
30211        self.id = id if id is not None else ''
30212        '''
30213         Unique identifier of the SecretStore.
30214        '''
30215        self.name = name if name is not None else ''
30216        '''
30217         Unique human-readable name of the SecretStore.
30218        '''
30219        self.namespace = namespace if namespace is not None else ''
30220        '''
30221         The namespace to make requests within
30222        '''
30223        self.server_address = server_address if server_address is not None else ''
30224        '''
30225         The URL of the Vault to target
30226        '''
30227        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30228        '''
30229         Tags is a map of key, value pairs.
30230        '''
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)
30241    def to_dict(self):
30242        return {
30243            'id': self.id,
30244            'name': self.name,
30245            'namespace': self.namespace,
30246            'server_address': self.server_address,
30247            'tags': self.tags,
30248        }
@classmethod
def from_dict(cls, d)
30250    @classmethod
30251    def from_dict(cls, d):
30252        return cls(
30253            id=d.get('id'),
30254            name=d.get('name'),
30255            namespace=d.get('namespace'),
30256            server_address=d.get('server_address'),
30257            tags=d.get('tags'),
30258        )
class VaultTLSCertSSHStore:
30261class VaultTLSCertSSHStore:
30262    __slots__ = [
30263        'ca_cert_path',
30264        'client_cert_path',
30265        'client_key_path',
30266        'id',
30267        'issuedcertttlminutes',
30268        'name',
30269        'namespace',
30270        'server_address',
30271        'signing_role',
30272        'ssh_mount_point',
30273        'tags',
30274    ]
30275
30276    def __init__(
30277        self,
30278        ca_cert_path=None,
30279        client_cert_path=None,
30280        client_key_path=None,
30281        id=None,
30282        issuedcertttlminutes=None,
30283        name=None,
30284        namespace=None,
30285        server_address=None,
30286        signing_role=None,
30287        ssh_mount_point=None,
30288        tags=None,
30289    ):
30290        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
30291        '''
30292         A path to a CA file accessible by a Node
30293        '''
30294        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
30295        '''
30296         A path to a client certificate file accessible by a Node
30297        '''
30298        self.client_key_path = client_key_path if client_key_path is not None else ''
30299        '''
30300         A path to a client key file accessible by a Node
30301        '''
30302        self.id = id if id is not None else ''
30303        '''
30304         Unique identifier of the SecretStore.
30305        '''
30306        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30307        '''
30308         The lifetime of certificates issued by this CA represented in minutes.
30309        '''
30310        self.name = name if name is not None else ''
30311        '''
30312         Unique human-readable name of the SecretStore.
30313        '''
30314        self.namespace = namespace if namespace is not None else ''
30315        '''
30316         The namespace to make requests within
30317        '''
30318        self.server_address = server_address if server_address is not None else ''
30319        '''
30320         The URL of the Vault to target
30321        '''
30322        self.signing_role = signing_role if signing_role is not None else ''
30323        '''
30324         The signing role to be used for signing certificates
30325        '''
30326        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
30327        '''
30328         The mount point of the SSH engine configured with the desired CA
30329        '''
30330        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30331        '''
30332         Tags is a map of key, value pairs.
30333        '''
30334
30335    def __repr__(self):
30336        return '<sdm.VaultTLSCertSSHStore ' + \
30337            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
30338            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
30339            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
30340            'id: ' + repr(self.id) + ' ' +\
30341            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
30342            'name: ' + repr(self.name) + ' ' +\
30343            'namespace: ' + repr(self.namespace) + ' ' +\
30344            'server_address: ' + repr(self.server_address) + ' ' +\
30345            'signing_role: ' + repr(self.signing_role) + ' ' +\
30346            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
30347            'tags: ' + repr(self.tags) + ' ' +\
30348            '>'
30349
30350    def to_dict(self):
30351        return {
30352            'ca_cert_path': self.ca_cert_path,
30353            'client_cert_path': self.client_cert_path,
30354            'client_key_path': self.client_key_path,
30355            'id': self.id,
30356            'issuedcertttlminutes': self.issuedcertttlminutes,
30357            'name': self.name,
30358            'namespace': self.namespace,
30359            'server_address': self.server_address,
30360            'signing_role': self.signing_role,
30361            'ssh_mount_point': self.ssh_mount_point,
30362            'tags': self.tags,
30363        }
30364
30365    @classmethod
30366    def from_dict(cls, d):
30367        return cls(
30368            ca_cert_path=d.get('ca_cert_path'),
30369            client_cert_path=d.get('client_cert_path'),
30370            client_key_path=d.get('client_key_path'),
30371            id=d.get('id'),
30372            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30373            name=d.get('name'),
30374            namespace=d.get('namespace'),
30375            server_address=d.get('server_address'),
30376            signing_role=d.get('signing_role'),
30377            ssh_mount_point=d.get('ssh_mount_point'),
30378            tags=d.get('tags'),
30379        )
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)
30276    def __init__(
30277        self,
30278        ca_cert_path=None,
30279        client_cert_path=None,
30280        client_key_path=None,
30281        id=None,
30282        issuedcertttlminutes=None,
30283        name=None,
30284        namespace=None,
30285        server_address=None,
30286        signing_role=None,
30287        ssh_mount_point=None,
30288        tags=None,
30289    ):
30290        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
30291        '''
30292         A path to a CA file accessible by a Node
30293        '''
30294        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
30295        '''
30296         A path to a client certificate file accessible by a Node
30297        '''
30298        self.client_key_path = client_key_path if client_key_path is not None else ''
30299        '''
30300         A path to a client key file accessible by a Node
30301        '''
30302        self.id = id if id is not None else ''
30303        '''
30304         Unique identifier of the SecretStore.
30305        '''
30306        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30307        '''
30308         The lifetime of certificates issued by this CA represented in minutes.
30309        '''
30310        self.name = name if name is not None else ''
30311        '''
30312         Unique human-readable name of the SecretStore.
30313        '''
30314        self.namespace = namespace if namespace is not None else ''
30315        '''
30316         The namespace to make requests within
30317        '''
30318        self.server_address = server_address if server_address is not None else ''
30319        '''
30320         The URL of the Vault to target
30321        '''
30322        self.signing_role = signing_role if signing_role is not None else ''
30323        '''
30324         The signing role to be used for signing certificates
30325        '''
30326        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
30327        '''
30328         The mount point of the SSH engine configured with the desired CA
30329        '''
30330        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30331        '''
30332         Tags is a map of key, value pairs.
30333        '''
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)
30350    def to_dict(self):
30351        return {
30352            'ca_cert_path': self.ca_cert_path,
30353            'client_cert_path': self.client_cert_path,
30354            'client_key_path': self.client_key_path,
30355            'id': self.id,
30356            'issuedcertttlminutes': self.issuedcertttlminutes,
30357            'name': self.name,
30358            'namespace': self.namespace,
30359            'server_address': self.server_address,
30360            'signing_role': self.signing_role,
30361            'ssh_mount_point': self.ssh_mount_point,
30362            'tags': self.tags,
30363        }
@classmethod
def from_dict(cls, d)
30365    @classmethod
30366    def from_dict(cls, d):
30367        return cls(
30368            ca_cert_path=d.get('ca_cert_path'),
30369            client_cert_path=d.get('client_cert_path'),
30370            client_key_path=d.get('client_key_path'),
30371            id=d.get('id'),
30372            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30373            name=d.get('name'),
30374            namespace=d.get('namespace'),
30375            server_address=d.get('server_address'),
30376            signing_role=d.get('signing_role'),
30377            ssh_mount_point=d.get('ssh_mount_point'),
30378            tags=d.get('tags'),
30379        )
class VaultTLSCertX509Store:
30382class VaultTLSCertX509Store:
30383    __slots__ = [
30384        'ca_cert_path',
30385        'client_cert_path',
30386        'client_key_path',
30387        'id',
30388        'issuedcertttlminutes',
30389        'name',
30390        'namespace',
30391        'pki_mount_point',
30392        'server_address',
30393        'signing_role',
30394        'tags',
30395    ]
30396
30397    def __init__(
30398        self,
30399        ca_cert_path=None,
30400        client_cert_path=None,
30401        client_key_path=None,
30402        id=None,
30403        issuedcertttlminutes=None,
30404        name=None,
30405        namespace=None,
30406        pki_mount_point=None,
30407        server_address=None,
30408        signing_role=None,
30409        tags=None,
30410    ):
30411        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
30412        '''
30413         A path to a CA file accessible by a Node
30414        '''
30415        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
30416        '''
30417         A path to a client certificate file accessible by a Node
30418        '''
30419        self.client_key_path = client_key_path if client_key_path is not None else ''
30420        '''
30421         A path to a client key file accessible by a Node
30422        '''
30423        self.id = id if id is not None else ''
30424        '''
30425         Unique identifier of the SecretStore.
30426        '''
30427        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30428        '''
30429         The lifetime of certificates issued by this CA represented in minutes.
30430        '''
30431        self.name = name if name is not None else ''
30432        '''
30433         Unique human-readable name of the SecretStore.
30434        '''
30435        self.namespace = namespace if namespace is not None else ''
30436        '''
30437         The namespace to make requests within
30438        '''
30439        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
30440        '''
30441         The mount point of the PKI engine configured with the desired CA
30442        '''
30443        self.server_address = server_address if server_address is not None else ''
30444        '''
30445         The URL of the Vault to target
30446        '''
30447        self.signing_role = signing_role if signing_role is not None else ''
30448        '''
30449         The signing role to be used for signing certificates
30450        '''
30451        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30452        '''
30453         Tags is a map of key, value pairs.
30454        '''
30455
30456    def __repr__(self):
30457        return '<sdm.VaultTLSCertX509Store ' + \
30458            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
30459            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
30460            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
30461            'id: ' + repr(self.id) + ' ' +\
30462            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
30463            'name: ' + repr(self.name) + ' ' +\
30464            'namespace: ' + repr(self.namespace) + ' ' +\
30465            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
30466            'server_address: ' + repr(self.server_address) + ' ' +\
30467            'signing_role: ' + repr(self.signing_role) + ' ' +\
30468            'tags: ' + repr(self.tags) + ' ' +\
30469            '>'
30470
30471    def to_dict(self):
30472        return {
30473            'ca_cert_path': self.ca_cert_path,
30474            'client_cert_path': self.client_cert_path,
30475            'client_key_path': self.client_key_path,
30476            'id': self.id,
30477            'issuedcertttlminutes': self.issuedcertttlminutes,
30478            'name': self.name,
30479            'namespace': self.namespace,
30480            'pki_mount_point': self.pki_mount_point,
30481            'server_address': self.server_address,
30482            'signing_role': self.signing_role,
30483            'tags': self.tags,
30484        }
30485
30486    @classmethod
30487    def from_dict(cls, d):
30488        return cls(
30489            ca_cert_path=d.get('ca_cert_path'),
30490            client_cert_path=d.get('client_cert_path'),
30491            client_key_path=d.get('client_key_path'),
30492            id=d.get('id'),
30493            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30494            name=d.get('name'),
30495            namespace=d.get('namespace'),
30496            pki_mount_point=d.get('pki_mount_point'),
30497            server_address=d.get('server_address'),
30498            signing_role=d.get('signing_role'),
30499            tags=d.get('tags'),
30500        )
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)
30397    def __init__(
30398        self,
30399        ca_cert_path=None,
30400        client_cert_path=None,
30401        client_key_path=None,
30402        id=None,
30403        issuedcertttlminutes=None,
30404        name=None,
30405        namespace=None,
30406        pki_mount_point=None,
30407        server_address=None,
30408        signing_role=None,
30409        tags=None,
30410    ):
30411        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
30412        '''
30413         A path to a CA file accessible by a Node
30414        '''
30415        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
30416        '''
30417         A path to a client certificate file accessible by a Node
30418        '''
30419        self.client_key_path = client_key_path if client_key_path is not None else ''
30420        '''
30421         A path to a client key file accessible by a Node
30422        '''
30423        self.id = id if id is not None else ''
30424        '''
30425         Unique identifier of the SecretStore.
30426        '''
30427        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30428        '''
30429         The lifetime of certificates issued by this CA represented in minutes.
30430        '''
30431        self.name = name if name is not None else ''
30432        '''
30433         Unique human-readable name of the SecretStore.
30434        '''
30435        self.namespace = namespace if namespace is not None else ''
30436        '''
30437         The namespace to make requests within
30438        '''
30439        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
30440        '''
30441         The mount point of the PKI engine configured with the desired CA
30442        '''
30443        self.server_address = server_address if server_address is not None else ''
30444        '''
30445         The URL of the Vault to target
30446        '''
30447        self.signing_role = signing_role if signing_role is not None else ''
30448        '''
30449         The signing role to be used for signing certificates
30450        '''
30451        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30452        '''
30453         Tags is a map of key, value pairs.
30454        '''
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)
30471    def to_dict(self):
30472        return {
30473            'ca_cert_path': self.ca_cert_path,
30474            'client_cert_path': self.client_cert_path,
30475            'client_key_path': self.client_key_path,
30476            'id': self.id,
30477            'issuedcertttlminutes': self.issuedcertttlminutes,
30478            'name': self.name,
30479            'namespace': self.namespace,
30480            'pki_mount_point': self.pki_mount_point,
30481            'server_address': self.server_address,
30482            'signing_role': self.signing_role,
30483            'tags': self.tags,
30484        }
@classmethod
def from_dict(cls, d)
30486    @classmethod
30487    def from_dict(cls, d):
30488        return cls(
30489            ca_cert_path=d.get('ca_cert_path'),
30490            client_cert_path=d.get('client_cert_path'),
30491            client_key_path=d.get('client_key_path'),
30492            id=d.get('id'),
30493            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30494            name=d.get('name'),
30495            namespace=d.get('namespace'),
30496            pki_mount_point=d.get('pki_mount_point'),
30497            server_address=d.get('server_address'),
30498            signing_role=d.get('signing_role'),
30499            tags=d.get('tags'),
30500        )
class VaultTLSStore:
30503class VaultTLSStore:
30504    __slots__ = [
30505        'ca_cert_path',
30506        'client_cert_path',
30507        'client_key_path',
30508        'id',
30509        'name',
30510        'namespace',
30511        'server_address',
30512        'tags',
30513    ]
30514
30515    def __init__(
30516        self,
30517        ca_cert_path=None,
30518        client_cert_path=None,
30519        client_key_path=None,
30520        id=None,
30521        name=None,
30522        namespace=None,
30523        server_address=None,
30524        tags=None,
30525    ):
30526        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
30527        '''
30528         A path to a CA file accessible by a Node
30529        '''
30530        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
30531        '''
30532         A path to a client certificate file accessible by a Node
30533        '''
30534        self.client_key_path = client_key_path if client_key_path is not None else ''
30535        '''
30536         A path to a client key file accessible by a Node
30537        '''
30538        self.id = id if id is not None else ''
30539        '''
30540         Unique identifier of the SecretStore.
30541        '''
30542        self.name = name if name is not None else ''
30543        '''
30544         Unique human-readable name of the SecretStore.
30545        '''
30546        self.namespace = namespace if namespace is not None else ''
30547        '''
30548         The namespace to make requests within
30549        '''
30550        self.server_address = server_address if server_address is not None else ''
30551        '''
30552         The URL of the Vault to target
30553        '''
30554        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30555        '''
30556         Tags is a map of key, value pairs.
30557        '''
30558
30559    def __repr__(self):
30560        return '<sdm.VaultTLSStore ' + \
30561            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
30562            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
30563            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
30564            'id: ' + repr(self.id) + ' ' +\
30565            'name: ' + repr(self.name) + ' ' +\
30566            'namespace: ' + repr(self.namespace) + ' ' +\
30567            'server_address: ' + repr(self.server_address) + ' ' +\
30568            'tags: ' + repr(self.tags) + ' ' +\
30569            '>'
30570
30571    def to_dict(self):
30572        return {
30573            'ca_cert_path': self.ca_cert_path,
30574            'client_cert_path': self.client_cert_path,
30575            'client_key_path': self.client_key_path,
30576            'id': self.id,
30577            'name': self.name,
30578            'namespace': self.namespace,
30579            'server_address': self.server_address,
30580            'tags': self.tags,
30581        }
30582
30583    @classmethod
30584    def from_dict(cls, d):
30585        return cls(
30586            ca_cert_path=d.get('ca_cert_path'),
30587            client_cert_path=d.get('client_cert_path'),
30588            client_key_path=d.get('client_key_path'),
30589            id=d.get('id'),
30590            name=d.get('name'),
30591            namespace=d.get('namespace'),
30592            server_address=d.get('server_address'),
30593            tags=d.get('tags'),
30594        )
VaultTLSStore( ca_cert_path=None, client_cert_path=None, client_key_path=None, id=None, name=None, namespace=None, server_address=None, tags=None)
30515    def __init__(
30516        self,
30517        ca_cert_path=None,
30518        client_cert_path=None,
30519        client_key_path=None,
30520        id=None,
30521        name=None,
30522        namespace=None,
30523        server_address=None,
30524        tags=None,
30525    ):
30526        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
30527        '''
30528         A path to a CA file accessible by a Node
30529        '''
30530        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
30531        '''
30532         A path to a client certificate file accessible by a Node
30533        '''
30534        self.client_key_path = client_key_path if client_key_path is not None else ''
30535        '''
30536         A path to a client key file accessible by a Node
30537        '''
30538        self.id = id if id is not None else ''
30539        '''
30540         Unique identifier of the SecretStore.
30541        '''
30542        self.name = name if name is not None else ''
30543        '''
30544         Unique human-readable name of the SecretStore.
30545        '''
30546        self.namespace = namespace if namespace is not None else ''
30547        '''
30548         The namespace to make requests within
30549        '''
30550        self.server_address = server_address if server_address is not None else ''
30551        '''
30552         The URL of the Vault to target
30553        '''
30554        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30555        '''
30556         Tags is a map of key, value pairs.
30557        '''
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)
30571    def to_dict(self):
30572        return {
30573            'ca_cert_path': self.ca_cert_path,
30574            'client_cert_path': self.client_cert_path,
30575            'client_key_path': self.client_key_path,
30576            'id': self.id,
30577            'name': self.name,
30578            'namespace': self.namespace,
30579            'server_address': self.server_address,
30580            'tags': self.tags,
30581        }
@classmethod
def from_dict(cls, d)
30583    @classmethod
30584    def from_dict(cls, d):
30585        return cls(
30586            ca_cert_path=d.get('ca_cert_path'),
30587            client_cert_path=d.get('client_cert_path'),
30588            client_key_path=d.get('client_key_path'),
30589            id=d.get('id'),
30590            name=d.get('name'),
30591            namespace=d.get('namespace'),
30592            server_address=d.get('server_address'),
30593            tags=d.get('tags'),
30594        )
class VaultTokenCertSSHStore:
30597class VaultTokenCertSSHStore:
30598    __slots__ = [
30599        'id',
30600        'issuedcertttlminutes',
30601        'name',
30602        'namespace',
30603        'server_address',
30604        'signing_role',
30605        'ssh_mount_point',
30606        'tags',
30607    ]
30608
30609    def __init__(
30610        self,
30611        id=None,
30612        issuedcertttlminutes=None,
30613        name=None,
30614        namespace=None,
30615        server_address=None,
30616        signing_role=None,
30617        ssh_mount_point=None,
30618        tags=None,
30619    ):
30620        self.id = id if id is not None else ''
30621        '''
30622         Unique identifier of the SecretStore.
30623        '''
30624        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30625        '''
30626         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
30627        '''
30628        self.name = name if name is not None else ''
30629        '''
30630         Unique human-readable name of the SecretStore.
30631        '''
30632        self.namespace = namespace if namespace is not None else ''
30633        '''
30634         The namespace to make requests within
30635        '''
30636        self.server_address = server_address if server_address is not None else ''
30637        '''
30638         The URL of the Vault to target
30639        '''
30640        self.signing_role = signing_role if signing_role is not None else ''
30641        '''
30642         The signing role to be used for signing certificates
30643        '''
30644        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
30645        '''
30646         The mount point of the SSH engine configured with the desired CA
30647        '''
30648        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30649        '''
30650         Tags is a map of key, value pairs.
30651        '''
30652
30653    def __repr__(self):
30654        return '<sdm.VaultTokenCertSSHStore ' + \
30655            'id: ' + repr(self.id) + ' ' +\
30656            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
30657            'name: ' + repr(self.name) + ' ' +\
30658            'namespace: ' + repr(self.namespace) + ' ' +\
30659            'server_address: ' + repr(self.server_address) + ' ' +\
30660            'signing_role: ' + repr(self.signing_role) + ' ' +\
30661            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
30662            'tags: ' + repr(self.tags) + ' ' +\
30663            '>'
30664
30665    def to_dict(self):
30666        return {
30667            'id': self.id,
30668            'issuedcertttlminutes': self.issuedcertttlminutes,
30669            'name': self.name,
30670            'namespace': self.namespace,
30671            'server_address': self.server_address,
30672            'signing_role': self.signing_role,
30673            'ssh_mount_point': self.ssh_mount_point,
30674            'tags': self.tags,
30675        }
30676
30677    @classmethod
30678    def from_dict(cls, d):
30679        return cls(
30680            id=d.get('id'),
30681            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30682            name=d.get('name'),
30683            namespace=d.get('namespace'),
30684            server_address=d.get('server_address'),
30685            signing_role=d.get('signing_role'),
30686            ssh_mount_point=d.get('ssh_mount_point'),
30687            tags=d.get('tags'),
30688        )
VaultTokenCertSSHStore( id=None, issuedcertttlminutes=None, name=None, namespace=None, server_address=None, signing_role=None, ssh_mount_point=None, tags=None)
30609    def __init__(
30610        self,
30611        id=None,
30612        issuedcertttlminutes=None,
30613        name=None,
30614        namespace=None,
30615        server_address=None,
30616        signing_role=None,
30617        ssh_mount_point=None,
30618        tags=None,
30619    ):
30620        self.id = id if id is not None else ''
30621        '''
30622         Unique identifier of the SecretStore.
30623        '''
30624        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30625        '''
30626         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
30627        '''
30628        self.name = name if name is not None else ''
30629        '''
30630         Unique human-readable name of the SecretStore.
30631        '''
30632        self.namespace = namespace if namespace is not None else ''
30633        '''
30634         The namespace to make requests within
30635        '''
30636        self.server_address = server_address if server_address is not None else ''
30637        '''
30638         The URL of the Vault to target
30639        '''
30640        self.signing_role = signing_role if signing_role is not None else ''
30641        '''
30642         The signing role to be used for signing certificates
30643        '''
30644        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
30645        '''
30646         The mount point of the SSH engine configured with the desired CA
30647        '''
30648        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30649        '''
30650         Tags is a map of key, value pairs.
30651        '''
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)
30665    def to_dict(self):
30666        return {
30667            'id': self.id,
30668            'issuedcertttlminutes': self.issuedcertttlminutes,
30669            'name': self.name,
30670            'namespace': self.namespace,
30671            'server_address': self.server_address,
30672            'signing_role': self.signing_role,
30673            'ssh_mount_point': self.ssh_mount_point,
30674            'tags': self.tags,
30675        }
@classmethod
def from_dict(cls, d)
30677    @classmethod
30678    def from_dict(cls, d):
30679        return cls(
30680            id=d.get('id'),
30681            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30682            name=d.get('name'),
30683            namespace=d.get('namespace'),
30684            server_address=d.get('server_address'),
30685            signing_role=d.get('signing_role'),
30686            ssh_mount_point=d.get('ssh_mount_point'),
30687            tags=d.get('tags'),
30688        )
class VaultTokenCertX509Store:
30691class VaultTokenCertX509Store:
30692    __slots__ = [
30693        'id',
30694        'issuedcertttlminutes',
30695        'name',
30696        'namespace',
30697        'pki_mount_point',
30698        'server_address',
30699        'signing_role',
30700        'tags',
30701    ]
30702
30703    def __init__(
30704        self,
30705        id=None,
30706        issuedcertttlminutes=None,
30707        name=None,
30708        namespace=None,
30709        pki_mount_point=None,
30710        server_address=None,
30711        signing_role=None,
30712        tags=None,
30713    ):
30714        self.id = id if id is not None else ''
30715        '''
30716         Unique identifier of the SecretStore.
30717        '''
30718        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30719        '''
30720         The lifetime of certificates issued by this CA represented in minutes.
30721        '''
30722        self.name = name if name is not None else ''
30723        '''
30724         Unique human-readable name of the SecretStore.
30725        '''
30726        self.namespace = namespace if namespace is not None else ''
30727        '''
30728         The namespace to make requests within
30729        '''
30730        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
30731        '''
30732         The mount point of the PKI engine configured with the desired CA
30733        '''
30734        self.server_address = server_address if server_address is not None else ''
30735        '''
30736         The URL of the Vault to target
30737        '''
30738        self.signing_role = signing_role if signing_role is not None else ''
30739        '''
30740         The signing role to be used for signing certificates
30741        '''
30742        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30743        '''
30744         Tags is a map of key, value pairs.
30745        '''
30746
30747    def __repr__(self):
30748        return '<sdm.VaultTokenCertX509Store ' + \
30749            'id: ' + repr(self.id) + ' ' +\
30750            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
30751            'name: ' + repr(self.name) + ' ' +\
30752            'namespace: ' + repr(self.namespace) + ' ' +\
30753            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
30754            'server_address: ' + repr(self.server_address) + ' ' +\
30755            'signing_role: ' + repr(self.signing_role) + ' ' +\
30756            'tags: ' + repr(self.tags) + ' ' +\
30757            '>'
30758
30759    def to_dict(self):
30760        return {
30761            'id': self.id,
30762            'issuedcertttlminutes': self.issuedcertttlminutes,
30763            'name': self.name,
30764            'namespace': self.namespace,
30765            'pki_mount_point': self.pki_mount_point,
30766            'server_address': self.server_address,
30767            'signing_role': self.signing_role,
30768            'tags': self.tags,
30769        }
30770
30771    @classmethod
30772    def from_dict(cls, d):
30773        return cls(
30774            id=d.get('id'),
30775            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30776            name=d.get('name'),
30777            namespace=d.get('namespace'),
30778            pki_mount_point=d.get('pki_mount_point'),
30779            server_address=d.get('server_address'),
30780            signing_role=d.get('signing_role'),
30781            tags=d.get('tags'),
30782        )
VaultTokenCertX509Store( id=None, issuedcertttlminutes=None, name=None, namespace=None, pki_mount_point=None, server_address=None, signing_role=None, tags=None)
30703    def __init__(
30704        self,
30705        id=None,
30706        issuedcertttlminutes=None,
30707        name=None,
30708        namespace=None,
30709        pki_mount_point=None,
30710        server_address=None,
30711        signing_role=None,
30712        tags=None,
30713    ):
30714        self.id = id if id is not None else ''
30715        '''
30716         Unique identifier of the SecretStore.
30717        '''
30718        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30719        '''
30720         The lifetime of certificates issued by this CA represented in minutes.
30721        '''
30722        self.name = name if name is not None else ''
30723        '''
30724         Unique human-readable name of the SecretStore.
30725        '''
30726        self.namespace = namespace if namespace is not None else ''
30727        '''
30728         The namespace to make requests within
30729        '''
30730        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
30731        '''
30732         The mount point of the PKI engine configured with the desired CA
30733        '''
30734        self.server_address = server_address if server_address is not None else ''
30735        '''
30736         The URL of the Vault to target
30737        '''
30738        self.signing_role = signing_role if signing_role is not None else ''
30739        '''
30740         The signing role to be used for signing certificates
30741        '''
30742        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30743        '''
30744         Tags is a map of key, value pairs.
30745        '''
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)
30759    def to_dict(self):
30760        return {
30761            'id': self.id,
30762            'issuedcertttlminutes': self.issuedcertttlminutes,
30763            'name': self.name,
30764            'namespace': self.namespace,
30765            'pki_mount_point': self.pki_mount_point,
30766            'server_address': self.server_address,
30767            'signing_role': self.signing_role,
30768            'tags': self.tags,
30769        }
@classmethod
def from_dict(cls, d)
30771    @classmethod
30772    def from_dict(cls, d):
30773        return cls(
30774            id=d.get('id'),
30775            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30776            name=d.get('name'),
30777            namespace=d.get('namespace'),
30778            pki_mount_point=d.get('pki_mount_point'),
30779            server_address=d.get('server_address'),
30780            signing_role=d.get('signing_role'),
30781            tags=d.get('tags'),
30782        )
class VaultTokenStore:
30785class VaultTokenStore:
30786    __slots__ = [
30787        'id',
30788        'name',
30789        'namespace',
30790        'server_address',
30791        'tags',
30792    ]
30793
30794    def __init__(
30795        self,
30796        id=None,
30797        name=None,
30798        namespace=None,
30799        server_address=None,
30800        tags=None,
30801    ):
30802        self.id = id if id is not None else ''
30803        '''
30804         Unique identifier of the SecretStore.
30805        '''
30806        self.name = name if name is not None else ''
30807        '''
30808         Unique human-readable name of the SecretStore.
30809        '''
30810        self.namespace = namespace if namespace is not None else ''
30811        '''
30812         The namespace to make requests within
30813        '''
30814        self.server_address = server_address if server_address is not None else ''
30815        '''
30816         The URL of the Vault to target
30817        '''
30818        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30819        '''
30820         Tags is a map of key, value pairs.
30821        '''
30822
30823    def __repr__(self):
30824        return '<sdm.VaultTokenStore ' + \
30825            'id: ' + repr(self.id) + ' ' +\
30826            'name: ' + repr(self.name) + ' ' +\
30827            'namespace: ' + repr(self.namespace) + ' ' +\
30828            'server_address: ' + repr(self.server_address) + ' ' +\
30829            'tags: ' + repr(self.tags) + ' ' +\
30830            '>'
30831
30832    def to_dict(self):
30833        return {
30834            'id': self.id,
30835            'name': self.name,
30836            'namespace': self.namespace,
30837            'server_address': self.server_address,
30838            'tags': self.tags,
30839        }
30840
30841    @classmethod
30842    def from_dict(cls, d):
30843        return cls(
30844            id=d.get('id'),
30845            name=d.get('name'),
30846            namespace=d.get('namespace'),
30847            server_address=d.get('server_address'),
30848            tags=d.get('tags'),
30849        )
VaultTokenStore(id=None, name=None, namespace=None, server_address=None, tags=None)
30794    def __init__(
30795        self,
30796        id=None,
30797        name=None,
30798        namespace=None,
30799        server_address=None,
30800        tags=None,
30801    ):
30802        self.id = id if id is not None else ''
30803        '''
30804         Unique identifier of the SecretStore.
30805        '''
30806        self.name = name if name is not None else ''
30807        '''
30808         Unique human-readable name of the SecretStore.
30809        '''
30810        self.namespace = namespace if namespace is not None else ''
30811        '''
30812         The namespace to make requests within
30813        '''
30814        self.server_address = server_address if server_address is not None else ''
30815        '''
30816         The URL of the Vault to target
30817        '''
30818        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30819        '''
30820         Tags is a map of key, value pairs.
30821        '''
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)
30832    def to_dict(self):
30833        return {
30834            'id': self.id,
30835            'name': self.name,
30836            'namespace': self.namespace,
30837            'server_address': self.server_address,
30838            'tags': self.tags,
30839        }
@classmethod
def from_dict(cls, d)
30841    @classmethod
30842    def from_dict(cls, d):
30843        return cls(
30844            id=d.get('id'),
30845            name=d.get('name'),
30846            namespace=d.get('namespace'),
30847            server_address=d.get('server_address'),
30848            tags=d.get('tags'),
30849        )
class Vertica:
30852class Vertica:
30853    __slots__ = [
30854        'bind_interface',
30855        'database',
30856        'egress_filter',
30857        'healthy',
30858        'hostname',
30859        'id',
30860        'name',
30861        'password',
30862        'port',
30863        'port_override',
30864        'proxy_cluster_id',
30865        'secret_store_id',
30866        'subdomain',
30867        'tags',
30868        'username',
30869    ]
30870
30871    def __init__(
30872        self,
30873        bind_interface=None,
30874        database=None,
30875        egress_filter=None,
30876        healthy=None,
30877        hostname=None,
30878        id=None,
30879        name=None,
30880        password=None,
30881        port=None,
30882        port_override=None,
30883        proxy_cluster_id=None,
30884        secret_store_id=None,
30885        subdomain=None,
30886        tags=None,
30887        username=None,
30888    ):
30889        self.bind_interface = bind_interface if bind_interface is not None else ''
30890        '''
30891         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
30892        '''
30893        self.database = database if database is not None else ''
30894        '''
30895         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
30896        '''
30897        self.egress_filter = egress_filter if egress_filter is not None else ''
30898        '''
30899         A filter applied to the routing logic to pin datasource to nodes.
30900        '''
30901        self.healthy = healthy if healthy is not None else False
30902        '''
30903         True if the datasource is reachable and the credentials are valid.
30904        '''
30905        self.hostname = hostname if hostname is not None else ''
30906        '''
30907         The host to dial to initiate a connection from the egress node to this resource.
30908        '''
30909        self.id = id if id is not None else ''
30910        '''
30911         Unique identifier of the Resource.
30912        '''
30913        self.name = name if name is not None else ''
30914        '''
30915         Unique human-readable name of the Resource.
30916        '''
30917        self.password = password if password is not None else ''
30918        '''
30919         The password to authenticate with.
30920        '''
30921        self.port = port if port is not None else 0
30922        '''
30923         The port to dial to initiate a connection from the egress node to this resource.
30924        '''
30925        self.port_override = port_override if port_override is not None else 0
30926        '''
30927         The local port used by clients to connect to this resource.
30928        '''
30929        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
30930        '''
30931         ID of the proxy cluster for this resource, if any.
30932        '''
30933        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
30934        '''
30935         ID of the secret store containing credentials for this resource, if any.
30936        '''
30937        self.subdomain = subdomain if subdomain is not None else ''
30938        '''
30939         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
30940        '''
30941        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30942        '''
30943         Tags is a map of key, value pairs.
30944        '''
30945        self.username = username if username is not None else ''
30946        '''
30947         The username to authenticate with.
30948        '''
30949
30950    def __repr__(self):
30951        return '<sdm.Vertica ' + \
30952            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
30953            'database: ' + repr(self.database) + ' ' +\
30954            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
30955            'healthy: ' + repr(self.healthy) + ' ' +\
30956            'hostname: ' + repr(self.hostname) + ' ' +\
30957            'id: ' + repr(self.id) + ' ' +\
30958            'name: ' + repr(self.name) + ' ' +\
30959            'password: ' + repr(self.password) + ' ' +\
30960            'port: ' + repr(self.port) + ' ' +\
30961            'port_override: ' + repr(self.port_override) + ' ' +\
30962            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
30963            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
30964            'subdomain: ' + repr(self.subdomain) + ' ' +\
30965            'tags: ' + repr(self.tags) + ' ' +\
30966            'username: ' + repr(self.username) + ' ' +\
30967            '>'
30968
30969    def to_dict(self):
30970        return {
30971            'bind_interface': self.bind_interface,
30972            'database': self.database,
30973            'egress_filter': self.egress_filter,
30974            'healthy': self.healthy,
30975            'hostname': self.hostname,
30976            'id': self.id,
30977            'name': self.name,
30978            'password': self.password,
30979            'port': self.port,
30980            'port_override': self.port_override,
30981            'proxy_cluster_id': self.proxy_cluster_id,
30982            'secret_store_id': self.secret_store_id,
30983            'subdomain': self.subdomain,
30984            'tags': self.tags,
30985            'username': self.username,
30986        }
30987
30988    @classmethod
30989    def from_dict(cls, d):
30990        return cls(
30991            bind_interface=d.get('bind_interface'),
30992            database=d.get('database'),
30993            egress_filter=d.get('egress_filter'),
30994            healthy=d.get('healthy'),
30995            hostname=d.get('hostname'),
30996            id=d.get('id'),
30997            name=d.get('name'),
30998            password=d.get('password'),
30999            port=d.get('port'),
31000            port_override=d.get('port_override'),
31001            proxy_cluster_id=d.get('proxy_cluster_id'),
31002            secret_store_id=d.get('secret_store_id'),
31003            subdomain=d.get('subdomain'),
31004            tags=d.get('tags'),
31005            username=d.get('username'),
31006        )
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)
30871    def __init__(
30872        self,
30873        bind_interface=None,
30874        database=None,
30875        egress_filter=None,
30876        healthy=None,
30877        hostname=None,
30878        id=None,
30879        name=None,
30880        password=None,
30881        port=None,
30882        port_override=None,
30883        proxy_cluster_id=None,
30884        secret_store_id=None,
30885        subdomain=None,
30886        tags=None,
30887        username=None,
30888    ):
30889        self.bind_interface = bind_interface if bind_interface is not None else ''
30890        '''
30891         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
30892        '''
30893        self.database = database if database is not None else ''
30894        '''
30895         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
30896        '''
30897        self.egress_filter = egress_filter if egress_filter is not None else ''
30898        '''
30899         A filter applied to the routing logic to pin datasource to nodes.
30900        '''
30901        self.healthy = healthy if healthy is not None else False
30902        '''
30903         True if the datasource is reachable and the credentials are valid.
30904        '''
30905        self.hostname = hostname if hostname is not None else ''
30906        '''
30907         The host to dial to initiate a connection from the egress node to this resource.
30908        '''
30909        self.id = id if id is not None else ''
30910        '''
30911         Unique identifier of the Resource.
30912        '''
30913        self.name = name if name is not None else ''
30914        '''
30915         Unique human-readable name of the Resource.
30916        '''
30917        self.password = password if password is not None else ''
30918        '''
30919         The password to authenticate with.
30920        '''
30921        self.port = port if port is not None else 0
30922        '''
30923         The port to dial to initiate a connection from the egress node to this resource.
30924        '''
30925        self.port_override = port_override if port_override is not None else 0
30926        '''
30927         The local port used by clients to connect to this resource.
30928        '''
30929        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
30930        '''
30931         ID of the proxy cluster for this resource, if any.
30932        '''
30933        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
30934        '''
30935         ID of the secret store containing credentials for this resource, if any.
30936        '''
30937        self.subdomain = subdomain if subdomain is not None else ''
30938        '''
30939         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
30940        '''
30941        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30942        '''
30943         Tags is a map of key, value pairs.
30944        '''
30945        self.username = username if username is not None else ''
30946        '''
30947         The username to authenticate with.
30948        '''
bind_interface

The bind interface is the IP 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)
30969    def to_dict(self):
30970        return {
30971            'bind_interface': self.bind_interface,
30972            'database': self.database,
30973            'egress_filter': self.egress_filter,
30974            'healthy': self.healthy,
30975            'hostname': self.hostname,
30976            'id': self.id,
30977            'name': self.name,
30978            'password': self.password,
30979            'port': self.port,
30980            'port_override': self.port_override,
30981            'proxy_cluster_id': self.proxy_cluster_id,
30982            'secret_store_id': self.secret_store_id,
30983            'subdomain': self.subdomain,
30984            'tags': self.tags,
30985            'username': self.username,
30986        }
@classmethod
def from_dict(cls, d)
30988    @classmethod
30989    def from_dict(cls, d):
30990        return cls(
30991            bind_interface=d.get('bind_interface'),
30992            database=d.get('database'),
30993            egress_filter=d.get('egress_filter'),
30994            healthy=d.get('healthy'),
30995            hostname=d.get('hostname'),
30996            id=d.get('id'),
30997            name=d.get('name'),
30998            password=d.get('password'),
30999            port=d.get('port'),
31000            port_override=d.get('port_override'),
31001            proxy_cluster_id=d.get('proxy_cluster_id'),
31002            secret_store_id=d.get('secret_store_id'),
31003            subdomain=d.get('subdomain'),
31004            tags=d.get('tags'),
31005            username=d.get('username'),
31006        )
class Workflow:
31009class Workflow:
31010    '''
31011         Workflows are the collection of rules that define the resources to which access can be requested,
31012     the users that can request that access, and the mechanism for approving those requests which can either
31013     but automatic approval or a set of users authorized to approve the requests.
31014    '''
31015    __slots__ = [
31016        'access_request_fixed_duration',
31017        'access_request_max_duration',
31018        'access_rules',
31019        'approval_flow_id',
31020        'auto_grant',
31021        'description',
31022        'enabled',
31023        'id',
31024        'name',
31025        'weight',
31026    ]
31027
31028    def __init__(
31029        self,
31030        access_request_fixed_duration=None,
31031        access_request_max_duration=None,
31032        access_rules=None,
31033        approval_flow_id=None,
31034        auto_grant=None,
31035        description=None,
31036        enabled=None,
31037        id=None,
31038        name=None,
31039        weight=None,
31040    ):
31041        self.access_request_fixed_duration = access_request_fixed_duration if access_request_fixed_duration is not None else None
31042        '''
31043         Fixed Duration of access requests bound to this workflow. If fixed duration is provided, max duration must be empty.
31044         If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.
31045        '''
31046        self.access_request_max_duration = access_request_max_duration if access_request_max_duration is not None else None
31047        '''
31048         Maximum Duration of access requests bound to this workflow. If max duration is provided, fixed duration must be empty.
31049         If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.
31050        '''
31051        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
31052        )
31053        '''
31054         AccessRules is a list of access rules defining the resources this Workflow provides access to.
31055        '''
31056        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
31057        '''
31058         Optional approval flow ID identifies an approval flow that linked to the workflow
31059        '''
31060        self.auto_grant = auto_grant if auto_grant is not None else False
31061        '''
31062         Optional auto grant setting to automatically approve requests or not, defaults to false.
31063        '''
31064        self.description = description if description is not None else ''
31065        '''
31066         Optional description of the Workflow.
31067        '''
31068        self.enabled = enabled if enabled is not None else False
31069        '''
31070         Optional enabled state for workflow. This setting may be overridden by the system if
31071         the workflow doesn't meet the requirements to be enabled or if other conditions prevent
31072         enabling the workflow. The requirements to enable a workflow are that the workflow must be
31073         either set up for with auto grant enabled or have one or more WorkflowApprovers created for
31074         the workflow.
31075        '''
31076        self.id = id if id is not None else ''
31077        '''
31078         Unique identifier of the Workflow.
31079        '''
31080        self.name = name if name is not None else ''
31081        '''
31082         Unique human-readable name of the Workflow.
31083        '''
31084        self.weight = weight if weight is not None else 0
31085        '''
31086         Optional weight for workflow to specify it's priority in matching a request.
31087        '''
31088
31089    def __repr__(self):
31090        return '<sdm.Workflow ' + \
31091            'access_request_fixed_duration: ' + repr(self.access_request_fixed_duration) + ' ' +\
31092            'access_request_max_duration: ' + repr(self.access_request_max_duration) + ' ' +\
31093            'access_rules: ' + repr(self.access_rules) + ' ' +\
31094            'approval_flow_id: ' + repr(self.approval_flow_id) + ' ' +\
31095            'auto_grant: ' + repr(self.auto_grant) + ' ' +\
31096            'description: ' + repr(self.description) + ' ' +\
31097            'enabled: ' + repr(self.enabled) + ' ' +\
31098            'id: ' + repr(self.id) + ' ' +\
31099            'name: ' + repr(self.name) + ' ' +\
31100            'weight: ' + repr(self.weight) + ' ' +\
31101            '>'
31102
31103    def to_dict(self):
31104        return {
31105            'access_request_fixed_duration':
31106            self.access_request_fixed_duration,
31107            'access_request_max_duration': self.access_request_max_duration,
31108            'access_rules': self.access_rules,
31109            'approval_flow_id': self.approval_flow_id,
31110            'auto_grant': self.auto_grant,
31111            'description': self.description,
31112            'enabled': self.enabled,
31113            'id': self.id,
31114            'name': self.name,
31115            'weight': self.weight,
31116        }
31117
31118    @classmethod
31119    def from_dict(cls, d):
31120        return cls(
31121            access_request_fixed_duration=d.get(
31122                'access_request_fixed_duration'),
31123            access_request_max_duration=d.get('access_request_max_duration'),
31124            access_rules=d.get('access_rules'),
31125            approval_flow_id=d.get('approval_flow_id'),
31126            auto_grant=d.get('auto_grant'),
31127            description=d.get('description'),
31128            enabled=d.get('enabled'),
31129            id=d.get('id'),
31130            name=d.get('name'),
31131            weight=d.get('weight'),
31132        )

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)
31028    def __init__(
31029        self,
31030        access_request_fixed_duration=None,
31031        access_request_max_duration=None,
31032        access_rules=None,
31033        approval_flow_id=None,
31034        auto_grant=None,
31035        description=None,
31036        enabled=None,
31037        id=None,
31038        name=None,
31039        weight=None,
31040    ):
31041        self.access_request_fixed_duration = access_request_fixed_duration if access_request_fixed_duration is not None else None
31042        '''
31043         Fixed Duration of access requests bound to this workflow. If fixed duration is provided, max duration must be empty.
31044         If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.
31045        '''
31046        self.access_request_max_duration = access_request_max_duration if access_request_max_duration is not None else None
31047        '''
31048         Maximum Duration of access requests bound to this workflow. If max duration is provided, fixed duration must be empty.
31049         If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.
31050        '''
31051        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
31052        )
31053        '''
31054         AccessRules is a list of access rules defining the resources this Workflow provides access to.
31055        '''
31056        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
31057        '''
31058         Optional approval flow ID identifies an approval flow that linked to the workflow
31059        '''
31060        self.auto_grant = auto_grant if auto_grant is not None else False
31061        '''
31062         Optional auto grant setting to automatically approve requests or not, defaults to false.
31063        '''
31064        self.description = description if description is not None else ''
31065        '''
31066         Optional description of the Workflow.
31067        '''
31068        self.enabled = enabled if enabled is not None else False
31069        '''
31070         Optional enabled state for workflow. This setting may be overridden by the system if
31071         the workflow doesn't meet the requirements to be enabled or if other conditions prevent
31072         enabling the workflow. The requirements to enable a workflow are that the workflow must be
31073         either set up for with auto grant enabled or have one or more WorkflowApprovers created for
31074         the workflow.
31075        '''
31076        self.id = id if id is not None else ''
31077        '''
31078         Unique identifier of the Workflow.
31079        '''
31080        self.name = name if name is not None else ''
31081        '''
31082         Unique human-readable name of the Workflow.
31083        '''
31084        self.weight = weight if weight is not None else 0
31085        '''
31086         Optional weight for workflow to specify it's priority in matching a request.
31087        '''
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)
31103    def to_dict(self):
31104        return {
31105            'access_request_fixed_duration':
31106            self.access_request_fixed_duration,
31107            'access_request_max_duration': self.access_request_max_duration,
31108            'access_rules': self.access_rules,
31109            'approval_flow_id': self.approval_flow_id,
31110            'auto_grant': self.auto_grant,
31111            'description': self.description,
31112            'enabled': self.enabled,
31113            'id': self.id,
31114            'name': self.name,
31115            'weight': self.weight,
31116        }
@classmethod
def from_dict(cls, d)
31118    @classmethod
31119    def from_dict(cls, d):
31120        return cls(
31121            access_request_fixed_duration=d.get(
31122                'access_request_fixed_duration'),
31123            access_request_max_duration=d.get('access_request_max_duration'),
31124            access_rules=d.get('access_rules'),
31125            approval_flow_id=d.get('approval_flow_id'),
31126            auto_grant=d.get('auto_grant'),
31127            description=d.get('description'),
31128            enabled=d.get('enabled'),
31129            id=d.get('id'),
31130            name=d.get('name'),
31131            weight=d.get('weight'),
31132        )
class WorkflowApprover:
31135class WorkflowApprover:
31136    '''
31137         WorkflowApprover is an account or a role with the ability to approve requests bound to a workflow.
31138    '''
31139    __slots__ = [
31140        'account_id',
31141        'id',
31142        'role_id',
31143        'workflow_id',
31144    ]
31145
31146    def __init__(
31147        self,
31148        account_id=None,
31149        id=None,
31150        role_id=None,
31151        workflow_id=None,
31152    ):
31153        self.account_id = account_id if account_id is not None else ''
31154        '''
31155         The approver account id.
31156        '''
31157        self.id = id if id is not None else ''
31158        '''
31159         Unique identifier of the WorkflowApprover.
31160        '''
31161        self.role_id = role_id if role_id is not None else ''
31162        '''
31163         The approver role id
31164        '''
31165        self.workflow_id = workflow_id if workflow_id is not None else ''
31166        '''
31167         The workflow id.
31168        '''
31169
31170    def __repr__(self):
31171        return '<sdm.WorkflowApprover ' + \
31172            'account_id: ' + repr(self.account_id) + ' ' +\
31173            'id: ' + repr(self.id) + ' ' +\
31174            'role_id: ' + repr(self.role_id) + ' ' +\
31175            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
31176            '>'
31177
31178    def to_dict(self):
31179        return {
31180            'account_id': self.account_id,
31181            'id': self.id,
31182            'role_id': self.role_id,
31183            'workflow_id': self.workflow_id,
31184        }
31185
31186    @classmethod
31187    def from_dict(cls, d):
31188        return cls(
31189            account_id=d.get('account_id'),
31190            id=d.get('id'),
31191            role_id=d.get('role_id'),
31192            workflow_id=d.get('workflow_id'),
31193        )

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)
31146    def __init__(
31147        self,
31148        account_id=None,
31149        id=None,
31150        role_id=None,
31151        workflow_id=None,
31152    ):
31153        self.account_id = account_id if account_id is not None else ''
31154        '''
31155         The approver account id.
31156        '''
31157        self.id = id if id is not None else ''
31158        '''
31159         Unique identifier of the WorkflowApprover.
31160        '''
31161        self.role_id = role_id if role_id is not None else ''
31162        '''
31163         The approver role id
31164        '''
31165        self.workflow_id = workflow_id if workflow_id is not None else ''
31166        '''
31167         The workflow id.
31168        '''
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)
31178    def to_dict(self):
31179        return {
31180            'account_id': self.account_id,
31181            'id': self.id,
31182            'role_id': self.role_id,
31183            'workflow_id': self.workflow_id,
31184        }
@classmethod
def from_dict(cls, d)
31186    @classmethod
31187    def from_dict(cls, d):
31188        return cls(
31189            account_id=d.get('account_id'),
31190            id=d.get('id'),
31191            role_id=d.get('role_id'),
31192            workflow_id=d.get('workflow_id'),
31193        )
class WorkflowApproverGetResponse:
31196class WorkflowApproverGetResponse:
31197    '''
31198         WorkflowApproverGetResponse returns a requested WorkflowApprover.
31199    '''
31200    __slots__ = [
31201        'meta',
31202        'rate_limit',
31203        'workflow_approver',
31204    ]
31205
31206    def __init__(
31207        self,
31208        meta=None,
31209        rate_limit=None,
31210        workflow_approver=None,
31211    ):
31212        self.meta = meta if meta is not None else None
31213        '''
31214         Reserved for future use.
31215        '''
31216        self.rate_limit = rate_limit if rate_limit is not None else None
31217        '''
31218         Rate limit information.
31219        '''
31220        self.workflow_approver = workflow_approver if workflow_approver is not None else None
31221        '''
31222         The requested WorkflowApprover.
31223        '''
31224
31225    def __repr__(self):
31226        return '<sdm.WorkflowApproverGetResponse ' + \
31227            'meta: ' + repr(self.meta) + ' ' +\
31228            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31229            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
31230            '>'
31231
31232    def to_dict(self):
31233        return {
31234            'meta': self.meta,
31235            'rate_limit': self.rate_limit,
31236            'workflow_approver': self.workflow_approver,
31237        }
31238
31239    @classmethod
31240    def from_dict(cls, d):
31241        return cls(
31242            meta=d.get('meta'),
31243            rate_limit=d.get('rate_limit'),
31244            workflow_approver=d.get('workflow_approver'),
31245        )

WorkflowApproverGetResponse returns a requested WorkflowApprover.

WorkflowApproverGetResponse(meta=None, rate_limit=None, workflow_approver=None)
31206    def __init__(
31207        self,
31208        meta=None,
31209        rate_limit=None,
31210        workflow_approver=None,
31211    ):
31212        self.meta = meta if meta is not None else None
31213        '''
31214         Reserved for future use.
31215        '''
31216        self.rate_limit = rate_limit if rate_limit is not None else None
31217        '''
31218         Rate limit information.
31219        '''
31220        self.workflow_approver = workflow_approver if workflow_approver is not None else None
31221        '''
31222         The requested WorkflowApprover.
31223        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

workflow_approver

The requested WorkflowApprover.

def to_dict(self)
31232    def to_dict(self):
31233        return {
31234            'meta': self.meta,
31235            'rate_limit': self.rate_limit,
31236            'workflow_approver': self.workflow_approver,
31237        }
@classmethod
def from_dict(cls, d)
31239    @classmethod
31240    def from_dict(cls, d):
31241        return cls(
31242            meta=d.get('meta'),
31243            rate_limit=d.get('rate_limit'),
31244            workflow_approver=d.get('workflow_approver'),
31245        )
class WorkflowApproverHistory:
31248class WorkflowApproverHistory:
31249    '''
31250         WorkflowApproverHistory provides records of all changes to the state of a WorkflowApprover.
31251    '''
31252    __slots__ = [
31253        'activity_id',
31254        'deleted_at',
31255        'timestamp',
31256        'workflow_approver',
31257    ]
31258
31259    def __init__(
31260        self,
31261        activity_id=None,
31262        deleted_at=None,
31263        timestamp=None,
31264        workflow_approver=None,
31265    ):
31266        self.activity_id = activity_id if activity_id is not None else ''
31267        '''
31268         The unique identifier of the Activity that produced this change to the WorkflowApprover.
31269         May be empty for some system-initiated updates.
31270        '''
31271        self.deleted_at = deleted_at if deleted_at is not None else None
31272        '''
31273         If this WorkflowApprover was deleted, the time it was deleted.
31274        '''
31275        self.timestamp = timestamp if timestamp is not None else None
31276        '''
31277         The time at which the WorkflowApprover state was recorded.
31278        '''
31279        self.workflow_approver = workflow_approver if workflow_approver is not None else None
31280        '''
31281         The complete WorkflowApprover state at this time.
31282        '''
31283
31284    def __repr__(self):
31285        return '<sdm.WorkflowApproverHistory ' + \
31286            'activity_id: ' + repr(self.activity_id) + ' ' +\
31287            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
31288            'timestamp: ' + repr(self.timestamp) + ' ' +\
31289            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
31290            '>'
31291
31292    def to_dict(self):
31293        return {
31294            'activity_id': self.activity_id,
31295            'deleted_at': self.deleted_at,
31296            'timestamp': self.timestamp,
31297            'workflow_approver': self.workflow_approver,
31298        }
31299
31300    @classmethod
31301    def from_dict(cls, d):
31302        return cls(
31303            activity_id=d.get('activity_id'),
31304            deleted_at=d.get('deleted_at'),
31305            timestamp=d.get('timestamp'),
31306            workflow_approver=d.get('workflow_approver'),
31307        )

WorkflowApproverHistory provides records of all changes to the state of a WorkflowApprover.

WorkflowApproverHistory( activity_id=None, deleted_at=None, timestamp=None, workflow_approver=None)
31259    def __init__(
31260        self,
31261        activity_id=None,
31262        deleted_at=None,
31263        timestamp=None,
31264        workflow_approver=None,
31265    ):
31266        self.activity_id = activity_id if activity_id is not None else ''
31267        '''
31268         The unique identifier of the Activity that produced this change to the WorkflowApprover.
31269         May be empty for some system-initiated updates.
31270        '''
31271        self.deleted_at = deleted_at if deleted_at is not None else None
31272        '''
31273         If this WorkflowApprover was deleted, the time it was deleted.
31274        '''
31275        self.timestamp = timestamp if timestamp is not None else None
31276        '''
31277         The time at which the WorkflowApprover state was recorded.
31278        '''
31279        self.workflow_approver = workflow_approver if workflow_approver is not None else None
31280        '''
31281         The complete WorkflowApprover state at this time.
31282        '''
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)
31292    def to_dict(self):
31293        return {
31294            'activity_id': self.activity_id,
31295            'deleted_at': self.deleted_at,
31296            'timestamp': self.timestamp,
31297            'workflow_approver': self.workflow_approver,
31298        }
@classmethod
def from_dict(cls, d)
31300    @classmethod
31301    def from_dict(cls, d):
31302        return cls(
31303            activity_id=d.get('activity_id'),
31304            deleted_at=d.get('deleted_at'),
31305            timestamp=d.get('timestamp'),
31306            workflow_approver=d.get('workflow_approver'),
31307        )
class WorkflowApproversCreateRequest:
31310class WorkflowApproversCreateRequest:
31311    '''
31312         WorkflowApproversCreateRequest specifies the workflowID and approverID of a new
31313     workflow approver to be created.
31314    '''
31315    __slots__ = [
31316        'workflow_approver',
31317    ]
31318
31319    def __init__(
31320        self,
31321        workflow_approver=None,
31322    ):
31323        self.workflow_approver = workflow_approver if workflow_approver is not None else None
31324        '''
31325         Parameters to define the new WorkflowApprover.
31326        '''
31327
31328    def __repr__(self):
31329        return '<sdm.WorkflowApproversCreateRequest ' + \
31330            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
31331            '>'
31332
31333    def to_dict(self):
31334        return {
31335            'workflow_approver': self.workflow_approver,
31336        }
31337
31338    @classmethod
31339    def from_dict(cls, d):
31340        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)
31319    def __init__(
31320        self,
31321        workflow_approver=None,
31322    ):
31323        self.workflow_approver = workflow_approver if workflow_approver is not None else None
31324        '''
31325         Parameters to define the new WorkflowApprover.
31326        '''
workflow_approver

Parameters to define the new WorkflowApprover.

def to_dict(self)
31333    def to_dict(self):
31334        return {
31335            'workflow_approver': self.workflow_approver,
31336        }
@classmethod
def from_dict(cls, d)
31338    @classmethod
31339    def from_dict(cls, d):
31340        return cls(workflow_approver=d.get('workflow_approver'), )
class WorkflowApproversCreateResponse:
31343class WorkflowApproversCreateResponse:
31344    '''
31345         WorkflowApproversCreateResponse reports how the WorkflowApprover was created in the system.
31346    '''
31347    __slots__ = [
31348        'rate_limit',
31349        'workflow_approver',
31350    ]
31351
31352    def __init__(
31353        self,
31354        rate_limit=None,
31355        workflow_approver=None,
31356    ):
31357        self.rate_limit = rate_limit if rate_limit is not None else None
31358        '''
31359         Rate limit information.
31360        '''
31361        self.workflow_approver = workflow_approver if workflow_approver is not None else None
31362        '''
31363         The created workflow approver.
31364        '''
31365
31366    def __repr__(self):
31367        return '<sdm.WorkflowApproversCreateResponse ' + \
31368            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31369            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
31370            '>'
31371
31372    def to_dict(self):
31373        return {
31374            'rate_limit': self.rate_limit,
31375            'workflow_approver': self.workflow_approver,
31376        }
31377
31378    @classmethod
31379    def from_dict(cls, d):
31380        return cls(
31381            rate_limit=d.get('rate_limit'),
31382            workflow_approver=d.get('workflow_approver'),
31383        )

WorkflowApproversCreateResponse reports how the WorkflowApprover was created in the system.

WorkflowApproversCreateResponse(rate_limit=None, workflow_approver=None)
31352    def __init__(
31353        self,
31354        rate_limit=None,
31355        workflow_approver=None,
31356    ):
31357        self.rate_limit = rate_limit if rate_limit is not None else None
31358        '''
31359         Rate limit information.
31360        '''
31361        self.workflow_approver = workflow_approver if workflow_approver is not None else None
31362        '''
31363         The created workflow approver.
31364        '''
rate_limit

Rate limit information.

workflow_approver

The created workflow approver.

def to_dict(self)
31372    def to_dict(self):
31373        return {
31374            'rate_limit': self.rate_limit,
31375            'workflow_approver': self.workflow_approver,
31376        }
@classmethod
def from_dict(cls, d)
31378    @classmethod
31379    def from_dict(cls, d):
31380        return cls(
31381            rate_limit=d.get('rate_limit'),
31382            workflow_approver=d.get('workflow_approver'),
31383        )
class WorkflowApproversDeleteRequest:
31386class WorkflowApproversDeleteRequest:
31387    '''
31388         WorkflowApproversDeleteRequest specifies the ID of a WorkflowApprover to be deleted.
31389    '''
31390    __slots__ = [
31391        'id',
31392    ]
31393
31394    def __init__(
31395        self,
31396        id=None,
31397    ):
31398        self.id = id if id is not None else ''
31399        '''
31400         The unique identifier of the WorkflowApprover to delete.
31401        '''
31402
31403    def __repr__(self):
31404        return '<sdm.WorkflowApproversDeleteRequest ' + \
31405            'id: ' + repr(self.id) + ' ' +\
31406            '>'
31407
31408    def to_dict(self):
31409        return {
31410            'id': self.id,
31411        }
31412
31413    @classmethod
31414    def from_dict(cls, d):
31415        return cls(id=d.get('id'), )

WorkflowApproversDeleteRequest specifies the ID of a WorkflowApprover to be deleted.

WorkflowApproversDeleteRequest(id=None)
31394    def __init__(
31395        self,
31396        id=None,
31397    ):
31398        self.id = id if id is not None else ''
31399        '''
31400         The unique identifier of the WorkflowApprover to delete.
31401        '''
id

The unique identifier of the WorkflowApprover to delete.

def to_dict(self)
31408    def to_dict(self):
31409        return {
31410            'id': self.id,
31411        }
@classmethod
def from_dict(cls, d)
31413    @classmethod
31414    def from_dict(cls, d):
31415        return cls(id=d.get('id'), )
class WorkflowApproversDeleteResponse:
31418class WorkflowApproversDeleteResponse:
31419    '''
31420         WorkflowApproversDeleteResponse reports how the WorkflowApprover was deleted in the system.
31421    '''
31422    __slots__ = [
31423        'rate_limit',
31424    ]
31425
31426    def __init__(
31427        self,
31428        rate_limit=None,
31429    ):
31430        self.rate_limit = rate_limit if rate_limit is not None else None
31431        '''
31432         Rate limit information.
31433        '''
31434
31435    def __repr__(self):
31436        return '<sdm.WorkflowApproversDeleteResponse ' + \
31437            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31438            '>'
31439
31440    def to_dict(self):
31441        return {
31442            'rate_limit': self.rate_limit,
31443        }
31444
31445    @classmethod
31446    def from_dict(cls, d):
31447        return cls(rate_limit=d.get('rate_limit'), )

WorkflowApproversDeleteResponse reports how the WorkflowApprover was deleted in the system.

WorkflowApproversDeleteResponse(rate_limit=None)
31426    def __init__(
31427        self,
31428        rate_limit=None,
31429    ):
31430        self.rate_limit = rate_limit if rate_limit is not None else None
31431        '''
31432         Rate limit information.
31433        '''
rate_limit

Rate limit information.

def to_dict(self)
31440    def to_dict(self):
31441        return {
31442            'rate_limit': self.rate_limit,
31443        }
@classmethod
def from_dict(cls, d)
31445    @classmethod
31446    def from_dict(cls, d):
31447        return cls(rate_limit=d.get('rate_limit'), )
class WorkflowApproversListRequest:
31450class WorkflowApproversListRequest:
31451    '''
31452         WorkflowApproversListRequest specifies criteria for retrieving a list of
31453     WorkflowApprover records
31454    '''
31455    __slots__ = [
31456        'filter',
31457    ]
31458
31459    def __init__(
31460        self,
31461        filter=None,
31462    ):
31463        self.filter = filter if filter is not None else ''
31464        '''
31465         A human-readable filter query string.
31466        '''
31467
31468    def __repr__(self):
31469        return '<sdm.WorkflowApproversListRequest ' + \
31470            'filter: ' + repr(self.filter) + ' ' +\
31471            '>'
31472
31473    def to_dict(self):
31474        return {
31475            'filter': self.filter,
31476        }
31477
31478    @classmethod
31479    def from_dict(cls, d):
31480        return cls(filter=d.get('filter'), )

WorkflowApproversListRequest specifies criteria for retrieving a list of WorkflowApprover records

WorkflowApproversListRequest(filter=None)
31459    def __init__(
31460        self,
31461        filter=None,
31462    ):
31463        self.filter = filter if filter is not None else ''
31464        '''
31465         A human-readable filter query string.
31466        '''
filter

A human-readable filter query string.

def to_dict(self)
31473    def to_dict(self):
31474        return {
31475            'filter': self.filter,
31476        }
@classmethod
def from_dict(cls, d)
31478    @classmethod
31479    def from_dict(cls, d):
31480        return cls(filter=d.get('filter'), )
class WorkflowApproversListResponse:
31483class WorkflowApproversListResponse:
31484    '''
31485         WorkflowApproversListResponse returns a list of WorkflowApprover records that meet
31486     the criteria of a WorkflowApproversListRequest.
31487    '''
31488    __slots__ = [
31489        'rate_limit',
31490    ]
31491
31492    def __init__(
31493        self,
31494        rate_limit=None,
31495    ):
31496        self.rate_limit = rate_limit if rate_limit is not None else None
31497        '''
31498         Rate limit information.
31499        '''
31500
31501    def __repr__(self):
31502        return '<sdm.WorkflowApproversListResponse ' + \
31503            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31504            '>'
31505
31506    def to_dict(self):
31507        return {
31508            'rate_limit': self.rate_limit,
31509        }
31510
31511    @classmethod
31512    def from_dict(cls, d):
31513        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)
31492    def __init__(
31493        self,
31494        rate_limit=None,
31495    ):
31496        self.rate_limit = rate_limit if rate_limit is not None else None
31497        '''
31498         Rate limit information.
31499        '''
rate_limit

Rate limit information.

def to_dict(self)
31506    def to_dict(self):
31507        return {
31508            'rate_limit': self.rate_limit,
31509        }
@classmethod
def from_dict(cls, d)
31511    @classmethod
31512    def from_dict(cls, d):
31513        return cls(rate_limit=d.get('rate_limit'), )
class WorkflowCreateResponse:
31516class WorkflowCreateResponse:
31517    '''
31518         WorkflowCreateResponse reports how the Workflow was created in the system.
31519    '''
31520    __slots__ = [
31521        'rate_limit',
31522        'workflow',
31523    ]
31524
31525    def __init__(
31526        self,
31527        rate_limit=None,
31528        workflow=None,
31529    ):
31530        self.rate_limit = rate_limit if rate_limit is not None else None
31531        '''
31532         Rate limit information.
31533        '''
31534        self.workflow = workflow if workflow is not None else None
31535        '''
31536         The created workflow.
31537        '''
31538
31539    def __repr__(self):
31540        return '<sdm.WorkflowCreateResponse ' + \
31541            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31542            'workflow: ' + repr(self.workflow) + ' ' +\
31543            '>'
31544
31545    def to_dict(self):
31546        return {
31547            'rate_limit': self.rate_limit,
31548            'workflow': self.workflow,
31549        }
31550
31551    @classmethod
31552    def from_dict(cls, d):
31553        return cls(
31554            rate_limit=d.get('rate_limit'),
31555            workflow=d.get('workflow'),
31556        )

WorkflowCreateResponse reports how the Workflow was created in the system.

WorkflowCreateResponse(rate_limit=None, workflow=None)
31525    def __init__(
31526        self,
31527        rate_limit=None,
31528        workflow=None,
31529    ):
31530        self.rate_limit = rate_limit if rate_limit is not None else None
31531        '''
31532         Rate limit information.
31533        '''
31534        self.workflow = workflow if workflow is not None else None
31535        '''
31536         The created workflow.
31537        '''
rate_limit

Rate limit information.

workflow

The created workflow.

def to_dict(self)
31545    def to_dict(self):
31546        return {
31547            'rate_limit': self.rate_limit,
31548            'workflow': self.workflow,
31549        }
@classmethod
def from_dict(cls, d)
31551    @classmethod
31552    def from_dict(cls, d):
31553        return cls(
31554            rate_limit=d.get('rate_limit'),
31555            workflow=d.get('workflow'),
31556        )
class WorkflowDeleteResponse:
31559class WorkflowDeleteResponse:
31560    '''
31561         WorkflowDeleteResponse returns information about a Workflow that was deleted.
31562    '''
31563    __slots__ = [
31564        'id',
31565        'rate_limit',
31566    ]
31567
31568    def __init__(
31569        self,
31570        id=None,
31571        rate_limit=None,
31572    ):
31573        self.id = id if id is not None else ''
31574        '''
31575         The deleted workflow id.
31576        '''
31577        self.rate_limit = rate_limit if rate_limit is not None else None
31578        '''
31579         Rate limit information.
31580        '''
31581
31582    def __repr__(self):
31583        return '<sdm.WorkflowDeleteResponse ' + \
31584            'id: ' + repr(self.id) + ' ' +\
31585            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31586            '>'
31587
31588    def to_dict(self):
31589        return {
31590            'id': self.id,
31591            'rate_limit': self.rate_limit,
31592        }
31593
31594    @classmethod
31595    def from_dict(cls, d):
31596        return cls(
31597            id=d.get('id'),
31598            rate_limit=d.get('rate_limit'),
31599        )

WorkflowDeleteResponse returns information about a Workflow that was deleted.

WorkflowDeleteResponse(id=None, rate_limit=None)
31568    def __init__(
31569        self,
31570        id=None,
31571        rate_limit=None,
31572    ):
31573        self.id = id if id is not None else ''
31574        '''
31575         The deleted workflow id.
31576        '''
31577        self.rate_limit = rate_limit if rate_limit is not None else None
31578        '''
31579         Rate limit information.
31580        '''
id

The deleted workflow id.

rate_limit

Rate limit information.

def to_dict(self)
31588    def to_dict(self):
31589        return {
31590            'id': self.id,
31591            'rate_limit': self.rate_limit,
31592        }
@classmethod
def from_dict(cls, d)
31594    @classmethod
31595    def from_dict(cls, d):
31596        return cls(
31597            id=d.get('id'),
31598            rate_limit=d.get('rate_limit'),
31599        )
class WorkflowGetResponse:
31602class WorkflowGetResponse:
31603    '''
31604         WorkflowGetResponse returns a requested Workflow.
31605    '''
31606    __slots__ = [
31607        'meta',
31608        'rate_limit',
31609        'workflow',
31610    ]
31611
31612    def __init__(
31613        self,
31614        meta=None,
31615        rate_limit=None,
31616        workflow=None,
31617    ):
31618        self.meta = meta if meta is not None else None
31619        '''
31620         Reserved for future use.
31621        '''
31622        self.rate_limit = rate_limit if rate_limit is not None else None
31623        '''
31624         Rate limit information.
31625        '''
31626        self.workflow = workflow if workflow is not None else None
31627        '''
31628         The requested Workflow.
31629        '''
31630
31631    def __repr__(self):
31632        return '<sdm.WorkflowGetResponse ' + \
31633            'meta: ' + repr(self.meta) + ' ' +\
31634            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31635            'workflow: ' + repr(self.workflow) + ' ' +\
31636            '>'
31637
31638    def to_dict(self):
31639        return {
31640            'meta': self.meta,
31641            'rate_limit': self.rate_limit,
31642            'workflow': self.workflow,
31643        }
31644
31645    @classmethod
31646    def from_dict(cls, d):
31647        return cls(
31648            meta=d.get('meta'),
31649            rate_limit=d.get('rate_limit'),
31650            workflow=d.get('workflow'),
31651        )

WorkflowGetResponse returns a requested Workflow.

WorkflowGetResponse(meta=None, rate_limit=None, workflow=None)
31612    def __init__(
31613        self,
31614        meta=None,
31615        rate_limit=None,
31616        workflow=None,
31617    ):
31618        self.meta = meta if meta is not None else None
31619        '''
31620         Reserved for future use.
31621        '''
31622        self.rate_limit = rate_limit if rate_limit is not None else None
31623        '''
31624         Rate limit information.
31625        '''
31626        self.workflow = workflow if workflow is not None else None
31627        '''
31628         The requested Workflow.
31629        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

workflow

The requested Workflow.

def to_dict(self)
31638    def to_dict(self):
31639        return {
31640            'meta': self.meta,
31641            'rate_limit': self.rate_limit,
31642            'workflow': self.workflow,
31643        }
@classmethod
def from_dict(cls, d)
31645    @classmethod
31646    def from_dict(cls, d):
31647        return cls(
31648            meta=d.get('meta'),
31649            rate_limit=d.get('rate_limit'),
31650            workflow=d.get('workflow'),
31651        )
class WorkflowHistory:
31654class WorkflowHistory:
31655    '''
31656         WorkflowsHistory provides records of all changes to the state of a Workflow.
31657    '''
31658    __slots__ = [
31659        'activity_id',
31660        'deleted_at',
31661        'timestamp',
31662        'workflow',
31663    ]
31664
31665    def __init__(
31666        self,
31667        activity_id=None,
31668        deleted_at=None,
31669        timestamp=None,
31670        workflow=None,
31671    ):
31672        self.activity_id = activity_id if activity_id is not None else ''
31673        '''
31674         The unique identifier of the Activity that produced this change to the Workflow.
31675         May be empty for some system-initiated updates.
31676        '''
31677        self.deleted_at = deleted_at if deleted_at is not None else None
31678        '''
31679         If this Workflow was deleted, the time it was deleted.
31680        '''
31681        self.timestamp = timestamp if timestamp is not None else None
31682        '''
31683         The time at which the Workflow state was recorded.
31684        '''
31685        self.workflow = workflow if workflow is not None else None
31686        '''
31687         The complete Workflow state at this time.
31688        '''
31689
31690    def __repr__(self):
31691        return '<sdm.WorkflowHistory ' + \
31692            'activity_id: ' + repr(self.activity_id) + ' ' +\
31693            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
31694            'timestamp: ' + repr(self.timestamp) + ' ' +\
31695            'workflow: ' + repr(self.workflow) + ' ' +\
31696            '>'
31697
31698    def to_dict(self):
31699        return {
31700            'activity_id': self.activity_id,
31701            'deleted_at': self.deleted_at,
31702            'timestamp': self.timestamp,
31703            'workflow': self.workflow,
31704        }
31705
31706    @classmethod
31707    def from_dict(cls, d):
31708        return cls(
31709            activity_id=d.get('activity_id'),
31710            deleted_at=d.get('deleted_at'),
31711            timestamp=d.get('timestamp'),
31712            workflow=d.get('workflow'),
31713        )

WorkflowsHistory provides records of all changes to the state of a Workflow.

WorkflowHistory(activity_id=None, deleted_at=None, timestamp=None, workflow=None)
31665    def __init__(
31666        self,
31667        activity_id=None,
31668        deleted_at=None,
31669        timestamp=None,
31670        workflow=None,
31671    ):
31672        self.activity_id = activity_id if activity_id is not None else ''
31673        '''
31674         The unique identifier of the Activity that produced this change to the Workflow.
31675         May be empty for some system-initiated updates.
31676        '''
31677        self.deleted_at = deleted_at if deleted_at is not None else None
31678        '''
31679         If this Workflow was deleted, the time it was deleted.
31680        '''
31681        self.timestamp = timestamp if timestamp is not None else None
31682        '''
31683         The time at which the Workflow state was recorded.
31684        '''
31685        self.workflow = workflow if workflow is not None else None
31686        '''
31687         The complete Workflow state at this time.
31688        '''
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)
31698    def to_dict(self):
31699        return {
31700            'activity_id': self.activity_id,
31701            'deleted_at': self.deleted_at,
31702            'timestamp': self.timestamp,
31703            'workflow': self.workflow,
31704        }
@classmethod
def from_dict(cls, d)
31706    @classmethod
31707    def from_dict(cls, d):
31708        return cls(
31709            activity_id=d.get('activity_id'),
31710            deleted_at=d.get('deleted_at'),
31711            timestamp=d.get('timestamp'),
31712            workflow=d.get('workflow'),
31713        )
class WorkflowListResponse:
31716class WorkflowListResponse:
31717    '''
31718         WorkflowListResponse returns a list of Workflow records that meet
31719     the criteria of a WorkflowListRequest.
31720    '''
31721    __slots__ = [
31722        'rate_limit',
31723    ]
31724
31725    def __init__(
31726        self,
31727        rate_limit=None,
31728    ):
31729        self.rate_limit = rate_limit if rate_limit is not None else None
31730        '''
31731         Rate limit information.
31732        '''
31733
31734    def __repr__(self):
31735        return '<sdm.WorkflowListResponse ' + \
31736            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31737            '>'
31738
31739    def to_dict(self):
31740        return {
31741            'rate_limit': self.rate_limit,
31742        }
31743
31744    @classmethod
31745    def from_dict(cls, d):
31746        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)
31725    def __init__(
31726        self,
31727        rate_limit=None,
31728    ):
31729        self.rate_limit = rate_limit if rate_limit is not None else None
31730        '''
31731         Rate limit information.
31732        '''
rate_limit

Rate limit information.

def to_dict(self)
31739    def to_dict(self):
31740        return {
31741            'rate_limit': self.rate_limit,
31742        }
@classmethod
def from_dict(cls, d)
31744    @classmethod
31745    def from_dict(cls, d):
31746        return cls(rate_limit=d.get('rate_limit'), )
class WorkflowRole:
31749class WorkflowRole:
31750    '''
31751         WorkflowRole links a role to a workflow. The linked roles indicate which roles a user must be a part of
31752     to request access to a resource via the workflow.
31753    '''
31754    __slots__ = [
31755        'id',
31756        'role_id',
31757        'workflow_id',
31758    ]
31759
31760    def __init__(
31761        self,
31762        id=None,
31763        role_id=None,
31764        workflow_id=None,
31765    ):
31766        self.id = id if id is not None else ''
31767        '''
31768         Unique identifier of the WorkflowRole.
31769        '''
31770        self.role_id = role_id if role_id is not None else ''
31771        '''
31772         The role id.
31773        '''
31774        self.workflow_id = workflow_id if workflow_id is not None else ''
31775        '''
31776         The workflow id.
31777        '''
31778
31779    def __repr__(self):
31780        return '<sdm.WorkflowRole ' + \
31781            'id: ' + repr(self.id) + ' ' +\
31782            'role_id: ' + repr(self.role_id) + ' ' +\
31783            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
31784            '>'
31785
31786    def to_dict(self):
31787        return {
31788            'id': self.id,
31789            'role_id': self.role_id,
31790            'workflow_id': self.workflow_id,
31791        }
31792
31793    @classmethod
31794    def from_dict(cls, d):
31795        return cls(
31796            id=d.get('id'),
31797            role_id=d.get('role_id'),
31798            workflow_id=d.get('workflow_id'),
31799        )

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)
31760    def __init__(
31761        self,
31762        id=None,
31763        role_id=None,
31764        workflow_id=None,
31765    ):
31766        self.id = id if id is not None else ''
31767        '''
31768         Unique identifier of the WorkflowRole.
31769        '''
31770        self.role_id = role_id if role_id is not None else ''
31771        '''
31772         The role id.
31773        '''
31774        self.workflow_id = workflow_id if workflow_id is not None else ''
31775        '''
31776         The workflow id.
31777        '''
id

Unique identifier of the WorkflowRole.

role_id

The role id.

workflow_id

The workflow id.

def to_dict(self)
31786    def to_dict(self):
31787        return {
31788            'id': self.id,
31789            'role_id': self.role_id,
31790            'workflow_id': self.workflow_id,
31791        }
@classmethod
def from_dict(cls, d)
31793    @classmethod
31794    def from_dict(cls, d):
31795        return cls(
31796            id=d.get('id'),
31797            role_id=d.get('role_id'),
31798            workflow_id=d.get('workflow_id'),
31799        )
class WorkflowRoleGetResponse:
31802class WorkflowRoleGetResponse:
31803    '''
31804         WorkflowRoleGetResponse returns a requested WorkflowRole.
31805    '''
31806    __slots__ = [
31807        'meta',
31808        'rate_limit',
31809        'workflow_role',
31810    ]
31811
31812    def __init__(
31813        self,
31814        meta=None,
31815        rate_limit=None,
31816        workflow_role=None,
31817    ):
31818        self.meta = meta if meta is not None else None
31819        '''
31820         Reserved for future use.
31821        '''
31822        self.rate_limit = rate_limit if rate_limit is not None else None
31823        '''
31824         Rate limit information.
31825        '''
31826        self.workflow_role = workflow_role if workflow_role is not None else None
31827        '''
31828         The requested WorkflowRole.
31829        '''
31830
31831    def __repr__(self):
31832        return '<sdm.WorkflowRoleGetResponse ' + \
31833            'meta: ' + repr(self.meta) + ' ' +\
31834            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31835            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
31836            '>'
31837
31838    def to_dict(self):
31839        return {
31840            'meta': self.meta,
31841            'rate_limit': self.rate_limit,
31842            'workflow_role': self.workflow_role,
31843        }
31844
31845    @classmethod
31846    def from_dict(cls, d):
31847        return cls(
31848            meta=d.get('meta'),
31849            rate_limit=d.get('rate_limit'),
31850            workflow_role=d.get('workflow_role'),
31851        )

WorkflowRoleGetResponse returns a requested WorkflowRole.

WorkflowRoleGetResponse(meta=None, rate_limit=None, workflow_role=None)
31812    def __init__(
31813        self,
31814        meta=None,
31815        rate_limit=None,
31816        workflow_role=None,
31817    ):
31818        self.meta = meta if meta is not None else None
31819        '''
31820         Reserved for future use.
31821        '''
31822        self.rate_limit = rate_limit if rate_limit is not None else None
31823        '''
31824         Rate limit information.
31825        '''
31826        self.workflow_role = workflow_role if workflow_role is not None else None
31827        '''
31828         The requested WorkflowRole.
31829        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

workflow_role

The requested WorkflowRole.

def to_dict(self)
31838    def to_dict(self):
31839        return {
31840            'meta': self.meta,
31841            'rate_limit': self.rate_limit,
31842            'workflow_role': self.workflow_role,
31843        }
@classmethod
def from_dict(cls, d)
31845    @classmethod
31846    def from_dict(cls, d):
31847        return cls(
31848            meta=d.get('meta'),
31849            rate_limit=d.get('rate_limit'),
31850            workflow_role=d.get('workflow_role'),
31851        )
class WorkflowRoleHistory:
31854class WorkflowRoleHistory:
31855    '''
31856         WorkflowRolesHistory provides records of all changes to the state of a WorkflowRole
31857    '''
31858    __slots__ = [
31859        'activity_id',
31860        'deleted_at',
31861        'timestamp',
31862        'workflow_role',
31863    ]
31864
31865    def __init__(
31866        self,
31867        activity_id=None,
31868        deleted_at=None,
31869        timestamp=None,
31870        workflow_role=None,
31871    ):
31872        self.activity_id = activity_id if activity_id is not None else ''
31873        '''
31874         The unique identifier of the Activity that produced this change to the WorkflowRole.
31875         May be empty for some system-initiated updates.
31876        '''
31877        self.deleted_at = deleted_at if deleted_at is not None else None
31878        '''
31879         If this WorkflowRole was deleted, the time it was deleted.
31880        '''
31881        self.timestamp = timestamp if timestamp is not None else None
31882        '''
31883         The time at which the WorkflowRole state was recorded.
31884        '''
31885        self.workflow_role = workflow_role if workflow_role is not None else None
31886        '''
31887         The complete WorkflowRole state at this time.
31888        '''
31889
31890    def __repr__(self):
31891        return '<sdm.WorkflowRoleHistory ' + \
31892            'activity_id: ' + repr(self.activity_id) + ' ' +\
31893            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
31894            'timestamp: ' + repr(self.timestamp) + ' ' +\
31895            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
31896            '>'
31897
31898    def to_dict(self):
31899        return {
31900            'activity_id': self.activity_id,
31901            'deleted_at': self.deleted_at,
31902            'timestamp': self.timestamp,
31903            'workflow_role': self.workflow_role,
31904        }
31905
31906    @classmethod
31907    def from_dict(cls, d):
31908        return cls(
31909            activity_id=d.get('activity_id'),
31910            deleted_at=d.get('deleted_at'),
31911            timestamp=d.get('timestamp'),
31912            workflow_role=d.get('workflow_role'),
31913        )

WorkflowRolesHistory provides records of all changes to the state of a WorkflowRole

WorkflowRoleHistory( activity_id=None, deleted_at=None, timestamp=None, workflow_role=None)
31865    def __init__(
31866        self,
31867        activity_id=None,
31868        deleted_at=None,
31869        timestamp=None,
31870        workflow_role=None,
31871    ):
31872        self.activity_id = activity_id if activity_id is not None else ''
31873        '''
31874         The unique identifier of the Activity that produced this change to the WorkflowRole.
31875         May be empty for some system-initiated updates.
31876        '''
31877        self.deleted_at = deleted_at if deleted_at is not None else None
31878        '''
31879         If this WorkflowRole was deleted, the time it was deleted.
31880        '''
31881        self.timestamp = timestamp if timestamp is not None else None
31882        '''
31883         The time at which the WorkflowRole state was recorded.
31884        '''
31885        self.workflow_role = workflow_role if workflow_role is not None else None
31886        '''
31887         The complete WorkflowRole state at this time.
31888        '''
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)
31898    def to_dict(self):
31899        return {
31900            'activity_id': self.activity_id,
31901            'deleted_at': self.deleted_at,
31902            'timestamp': self.timestamp,
31903            'workflow_role': self.workflow_role,
31904        }
@classmethod
def from_dict(cls, d)
31906    @classmethod
31907    def from_dict(cls, d):
31908        return cls(
31909            activity_id=d.get('activity_id'),
31910            deleted_at=d.get('deleted_at'),
31911            timestamp=d.get('timestamp'),
31912            workflow_role=d.get('workflow_role'),
31913        )
class WorkflowRolesCreateRequest:
31916class WorkflowRolesCreateRequest:
31917    '''
31918         WorkflowRolesCreateRequest specifies the workflowID and roleID of a new
31919     workflow role to be created.
31920    '''
31921    __slots__ = [
31922        'workflow_role',
31923    ]
31924
31925    def __init__(
31926        self,
31927        workflow_role=None,
31928    ):
31929        self.workflow_role = workflow_role if workflow_role is not None else None
31930        '''
31931         Parameters to define the new WorkflowRole.
31932        '''
31933
31934    def __repr__(self):
31935        return '<sdm.WorkflowRolesCreateRequest ' + \
31936            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
31937            '>'
31938
31939    def to_dict(self):
31940        return {
31941            'workflow_role': self.workflow_role,
31942        }
31943
31944    @classmethod
31945    def from_dict(cls, d):
31946        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)
31925    def __init__(
31926        self,
31927        workflow_role=None,
31928    ):
31929        self.workflow_role = workflow_role if workflow_role is not None else None
31930        '''
31931         Parameters to define the new WorkflowRole.
31932        '''
workflow_role

Parameters to define the new WorkflowRole.

def to_dict(self)
31939    def to_dict(self):
31940        return {
31941            'workflow_role': self.workflow_role,
31942        }
@classmethod
def from_dict(cls, d)
31944    @classmethod
31945    def from_dict(cls, d):
31946        return cls(workflow_role=d.get('workflow_role'), )
class WorkflowRolesCreateResponse:
31949class WorkflowRolesCreateResponse:
31950    '''
31951         WorkflowRolesCreateResponse reports how the WorkflowRole was created in the system.
31952    '''
31953    __slots__ = [
31954        'rate_limit',
31955        'workflow_role',
31956    ]
31957
31958    def __init__(
31959        self,
31960        rate_limit=None,
31961        workflow_role=None,
31962    ):
31963        self.rate_limit = rate_limit if rate_limit is not None else None
31964        '''
31965         Rate limit information.
31966        '''
31967        self.workflow_role = workflow_role if workflow_role is not None else None
31968        '''
31969         The created workflow role.
31970        '''
31971
31972    def __repr__(self):
31973        return '<sdm.WorkflowRolesCreateResponse ' + \
31974            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31975            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
31976            '>'
31977
31978    def to_dict(self):
31979        return {
31980            'rate_limit': self.rate_limit,
31981            'workflow_role': self.workflow_role,
31982        }
31983
31984    @classmethod
31985    def from_dict(cls, d):
31986        return cls(
31987            rate_limit=d.get('rate_limit'),
31988            workflow_role=d.get('workflow_role'),
31989        )

WorkflowRolesCreateResponse reports how the WorkflowRole was created in the system.

WorkflowRolesCreateResponse(rate_limit=None, workflow_role=None)
31958    def __init__(
31959        self,
31960        rate_limit=None,
31961        workflow_role=None,
31962    ):
31963        self.rate_limit = rate_limit if rate_limit is not None else None
31964        '''
31965         Rate limit information.
31966        '''
31967        self.workflow_role = workflow_role if workflow_role is not None else None
31968        '''
31969         The created workflow role.
31970        '''
rate_limit

Rate limit information.

workflow_role

The created workflow role.

def to_dict(self)
31978    def to_dict(self):
31979        return {
31980            'rate_limit': self.rate_limit,
31981            'workflow_role': self.workflow_role,
31982        }
@classmethod
def from_dict(cls, d)
31984    @classmethod
31985    def from_dict(cls, d):
31986        return cls(
31987            rate_limit=d.get('rate_limit'),
31988            workflow_role=d.get('workflow_role'),
31989        )
class WorkflowRolesDeleteRequest:
31992class WorkflowRolesDeleteRequest:
31993    '''
31994         WorkflowRolesDeleteRequest specifies the ID of a WorkflowRole to be deleted.
31995    '''
31996    __slots__ = [
31997        'id',
31998    ]
31999
32000    def __init__(
32001        self,
32002        id=None,
32003    ):
32004        self.id = id if id is not None else ''
32005        '''
32006         The unique identifier of the WorkflowRole to delete.
32007        '''
32008
32009    def __repr__(self):
32010        return '<sdm.WorkflowRolesDeleteRequest ' + \
32011            'id: ' + repr(self.id) + ' ' +\
32012            '>'
32013
32014    def to_dict(self):
32015        return {
32016            'id': self.id,
32017        }
32018
32019    @classmethod
32020    def from_dict(cls, d):
32021        return cls(id=d.get('id'), )

WorkflowRolesDeleteRequest specifies the ID of a WorkflowRole to be deleted.

WorkflowRolesDeleteRequest(id=None)
32000    def __init__(
32001        self,
32002        id=None,
32003    ):
32004        self.id = id if id is not None else ''
32005        '''
32006         The unique identifier of the WorkflowRole to delete.
32007        '''
id

The unique identifier of the WorkflowRole to delete.

def to_dict(self)
32014    def to_dict(self):
32015        return {
32016            'id': self.id,
32017        }
@classmethod
def from_dict(cls, d)
32019    @classmethod
32020    def from_dict(cls, d):
32021        return cls(id=d.get('id'), )
class WorkflowRolesDeleteResponse:
32024class WorkflowRolesDeleteResponse:
32025    '''
32026         WorkflowRolesDeleteResponse reports how the WorkflowRole was deleted in the system.
32027    '''
32028    __slots__ = [
32029        'rate_limit',
32030    ]
32031
32032    def __init__(
32033        self,
32034        rate_limit=None,
32035    ):
32036        self.rate_limit = rate_limit if rate_limit is not None else None
32037        '''
32038         Rate limit information.
32039        '''
32040
32041    def __repr__(self):
32042        return '<sdm.WorkflowRolesDeleteResponse ' + \
32043            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
32044            '>'
32045
32046    def to_dict(self):
32047        return {
32048            'rate_limit': self.rate_limit,
32049        }
32050
32051    @classmethod
32052    def from_dict(cls, d):
32053        return cls(rate_limit=d.get('rate_limit'), )

WorkflowRolesDeleteResponse reports how the WorkflowRole was deleted in the system.

WorkflowRolesDeleteResponse(rate_limit=None)
32032    def __init__(
32033        self,
32034        rate_limit=None,
32035    ):
32036        self.rate_limit = rate_limit if rate_limit is not None else None
32037        '''
32038         Rate limit information.
32039        '''
rate_limit

Rate limit information.

def to_dict(self)
32046    def to_dict(self):
32047        return {
32048            'rate_limit': self.rate_limit,
32049        }
@classmethod
def from_dict(cls, d)
32051    @classmethod
32052    def from_dict(cls, d):
32053        return cls(rate_limit=d.get('rate_limit'), )
class WorkflowRolesListRequest:
32056class WorkflowRolesListRequest:
32057    '''
32058         WorkflowRolesListRequest specifies criteria for retrieving a list of
32059     WorkflowRole records
32060    '''
32061    __slots__ = [
32062        'filter',
32063    ]
32064
32065    def __init__(
32066        self,
32067        filter=None,
32068    ):
32069        self.filter = filter if filter is not None else ''
32070        '''
32071         A human-readable filter query string.
32072        '''
32073
32074    def __repr__(self):
32075        return '<sdm.WorkflowRolesListRequest ' + \
32076            'filter: ' + repr(self.filter) + ' ' +\
32077            '>'
32078
32079    def to_dict(self):
32080        return {
32081            'filter': self.filter,
32082        }
32083
32084    @classmethod
32085    def from_dict(cls, d):
32086        return cls(filter=d.get('filter'), )

WorkflowRolesListRequest specifies criteria for retrieving a list of WorkflowRole records

WorkflowRolesListRequest(filter=None)
32065    def __init__(
32066        self,
32067        filter=None,
32068    ):
32069        self.filter = filter if filter is not None else ''
32070        '''
32071         A human-readable filter query string.
32072        '''
filter

A human-readable filter query string.

def to_dict(self)
32079    def to_dict(self):
32080        return {
32081            'filter': self.filter,
32082        }
@classmethod
def from_dict(cls, d)
32084    @classmethod
32085    def from_dict(cls, d):
32086        return cls(filter=d.get('filter'), )
class WorkflowRolesListResponse:
32089class WorkflowRolesListResponse:
32090    '''
32091         WorkflowRolesListResponse returns a list of WorkflowRole records that meet
32092     the criteria of a WorkflowRolesListRequest.
32093    '''
32094    __slots__ = [
32095        'rate_limit',
32096    ]
32097
32098    def __init__(
32099        self,
32100        rate_limit=None,
32101    ):
32102        self.rate_limit = rate_limit if rate_limit is not None else None
32103        '''
32104         Rate limit information.
32105        '''
32106
32107    def __repr__(self):
32108        return '<sdm.WorkflowRolesListResponse ' + \
32109            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
32110            '>'
32111
32112    def to_dict(self):
32113        return {
32114            'rate_limit': self.rate_limit,
32115        }
32116
32117    @classmethod
32118    def from_dict(cls, d):
32119        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)
32098    def __init__(
32099        self,
32100        rate_limit=None,
32101    ):
32102        self.rate_limit = rate_limit if rate_limit is not None else None
32103        '''
32104         Rate limit information.
32105        '''
rate_limit

Rate limit information.

def to_dict(self)
32112    def to_dict(self):
32113        return {
32114            'rate_limit': self.rate_limit,
32115        }
@classmethod
def from_dict(cls, d)
32117    @classmethod
32118    def from_dict(cls, d):
32119        return cls(rate_limit=d.get('rate_limit'), )
class WorkflowUpdateResponse:
32122class WorkflowUpdateResponse:
32123    '''
32124         WorkflowUpdateResponse returns the fields of a Workflow after it has been updated by
32125     a WorkflowUpdateRequest.
32126    '''
32127    __slots__ = [
32128        'rate_limit',
32129        'workflow',
32130    ]
32131
32132    def __init__(
32133        self,
32134        rate_limit=None,
32135        workflow=None,
32136    ):
32137        self.rate_limit = rate_limit if rate_limit is not None else None
32138        '''
32139         Rate limit information.
32140        '''
32141        self.workflow = workflow if workflow is not None else None
32142        '''
32143         The updated workflow.
32144        '''
32145
32146    def __repr__(self):
32147        return '<sdm.WorkflowUpdateResponse ' + \
32148            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
32149            'workflow: ' + repr(self.workflow) + ' ' +\
32150            '>'
32151
32152    def to_dict(self):
32153        return {
32154            'rate_limit': self.rate_limit,
32155            'workflow': self.workflow,
32156        }
32157
32158    @classmethod
32159    def from_dict(cls, d):
32160        return cls(
32161            rate_limit=d.get('rate_limit'),
32162            workflow=d.get('workflow'),
32163        )

WorkflowUpdateResponse returns the fields of a Workflow after it has been updated by a WorkflowUpdateRequest.

WorkflowUpdateResponse(rate_limit=None, workflow=None)
32132    def __init__(
32133        self,
32134        rate_limit=None,
32135        workflow=None,
32136    ):
32137        self.rate_limit = rate_limit if rate_limit is not None else None
32138        '''
32139         Rate limit information.
32140        '''
32141        self.workflow = workflow if workflow is not None else None
32142        '''
32143         The updated workflow.
32144        '''
rate_limit

Rate limit information.

workflow

The updated workflow.

def to_dict(self)
32152    def to_dict(self):
32153        return {
32154            'rate_limit': self.rate_limit,
32155            'workflow': self.workflow,
32156        }
@classmethod
def from_dict(cls, d)
32158    @classmethod
32159    def from_dict(cls, d):
32160        return cls(
32161            rate_limit=d.get('rate_limit'),
32162            workflow=d.get('workflow'),
32163        )