strongdm.models

    1# Copyright 2020 StrongDM Inc
    2#
    3# Licensed under the Apache License, Version 2.0 (the "License");
    4# you may not use this file except in compliance with the License.
    5# You may obtain a copy of the License at
    6#
    7#     http://www.apache.org/licenses/LICENSE-2.0
    8#
    9# Unless required by applicable law or agreed to in writing, software
   10# distributed under the License is distributed on an "AS IS" BASIS,
   11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   12# See the License for the specific language governing permissions and
   13# limitations under the License.
   14#
   15
   16# Code generated by protogen. DO NOT EDIT.
   17
   18import collections
   19
   20
   21class AKS:
   22    __slots__ = [
   23        'allow_resource_role_bypass',
   24        'bind_interface',
   25        'certificate_authority',
   26        'client_certificate',
   27        'client_key',
   28        'discovery_enabled',
   29        'discovery_username',
   30        'egress_filter',
   31        'healthcheck_namespace',
   32        'healthy',
   33        'hostname',
   34        'id',
   35        'identity_alias_healthcheck_username',
   36        'identity_set_id',
   37        'name',
   38        'port',
   39        'port_override',
   40        'proxy_cluster_id',
   41        'secret_store_id',
   42        'subdomain',
   43        'tags',
   44    ]
   45
   46    def __init__(
   47        self,
   48        allow_resource_role_bypass=None,
   49        bind_interface=None,
   50        certificate_authority=None,
   51        client_certificate=None,
   52        client_key=None,
   53        discovery_enabled=None,
   54        discovery_username=None,
   55        egress_filter=None,
   56        healthcheck_namespace=None,
   57        healthy=None,
   58        hostname=None,
   59        id=None,
   60        identity_alias_healthcheck_username=None,
   61        identity_set_id=None,
   62        name=None,
   63        port=None,
   64        port_override=None,
   65        proxy_cluster_id=None,
   66        secret_store_id=None,
   67        subdomain=None,
   68        tags=None,
   69    ):
   70        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
   71        '''
   72         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
   73         when a resource role is not provided.
   74        '''
   75        self.bind_interface = bind_interface if bind_interface is not None else ''
   76        '''
   77         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
   78        '''
   79        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
   80        '''
   81         The CA to authenticate TLS connections with.
   82        '''
   83        self.client_certificate = client_certificate if client_certificate is not None else ''
   84        '''
   85         The certificate to authenticate TLS connections with.
   86        '''
   87        self.client_key = client_key if client_key is not None else ''
   88        '''
   89         The key to authenticate TLS connections with.
   90        '''
   91        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
   92        '''
   93         If true, configures discovery of a cluster to be run from a node.
   94        '''
   95        self.discovery_username = discovery_username if discovery_username is not None else ''
   96        '''
   97         If a cluster is configured for user impersonation, this is the user to impersonate when
   98         running discovery.
   99        '''
  100        self.egress_filter = egress_filter if egress_filter is not None else ''
  101        '''
  102         A filter applied to the routing logic to pin datasource to nodes.
  103        '''
  104        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
  105        '''
  106         The path used to check the health of your connection.  Defaults to `default`.
  107        '''
  108        self.healthy = healthy if healthy is not None else False
  109        '''
  110         True if the datasource is reachable and the credentials are valid.
  111        '''
  112        self.hostname = hostname if hostname is not None else ''
  113        '''
  114         The host to dial to initiate a connection from the egress node to this resource.
  115        '''
  116        self.id = id if id is not None else ''
  117        '''
  118         Unique identifier of the Resource.
  119        '''
  120        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
  121        '''
  122         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
  123        '''
  124        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
  125        '''
  126         The ID of the identity set to use for identity connections.
  127        '''
  128        self.name = name if name is not None else ''
  129        '''
  130         Unique human-readable name of the Resource.
  131        '''
  132        self.port = port if port is not None else 0
  133        '''
  134         The port to dial to initiate a connection from the egress node to this resource.
  135        '''
  136        self.port_override = port_override if port_override is not None else 0
  137        '''
  138         The local port used by clients to connect to this resource.
  139        '''
  140        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
  141        '''
  142         ID of the proxy cluster for this resource, if any.
  143        '''
  144        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
  145        '''
  146         ID of the secret store containing credentials for this resource, if any.
  147        '''
  148        self.subdomain = subdomain if subdomain is not None else ''
  149        '''
  150         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
  151        '''
  152        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
  153        '''
  154         Tags is a map of key, value pairs.
  155        '''
  156
  157    def __repr__(self):
  158        return '<sdm.AKS ' + \
  159            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
  160            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
  161            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
  162            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
  163            'client_key: ' + repr(self.client_key) + ' ' +\
  164            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
  165            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
  166            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
  167            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
  168            'healthy: ' + repr(self.healthy) + ' ' +\
  169            'hostname: ' + repr(self.hostname) + ' ' +\
  170            'id: ' + repr(self.id) + ' ' +\
  171            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
  172            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
  173            'name: ' + repr(self.name) + ' ' +\
  174            'port: ' + repr(self.port) + ' ' +\
  175            'port_override: ' + repr(self.port_override) + ' ' +\
  176            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
  177            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
  178            'subdomain: ' + repr(self.subdomain) + ' ' +\
  179            'tags: ' + repr(self.tags) + ' ' +\
  180            '>'
  181
  182    def to_dict(self):
  183        return {
  184            'allow_resource_role_bypass': self.allow_resource_role_bypass,
  185            'bind_interface': self.bind_interface,
  186            'certificate_authority': self.certificate_authority,
  187            'client_certificate': self.client_certificate,
  188            'client_key': self.client_key,
  189            'discovery_enabled': self.discovery_enabled,
  190            'discovery_username': self.discovery_username,
  191            'egress_filter': self.egress_filter,
  192            'healthcheck_namespace': self.healthcheck_namespace,
  193            'healthy': self.healthy,
  194            'hostname': self.hostname,
  195            'id': self.id,
  196            'identity_alias_healthcheck_username':
  197            self.identity_alias_healthcheck_username,
  198            'identity_set_id': self.identity_set_id,
  199            'name': self.name,
  200            'port': self.port,
  201            'port_override': self.port_override,
  202            'proxy_cluster_id': self.proxy_cluster_id,
  203            'secret_store_id': self.secret_store_id,
  204            'subdomain': self.subdomain,
  205            'tags': self.tags,
  206        }
  207
  208    @classmethod
  209    def from_dict(cls, d):
  210        return cls(
  211            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
  212            bind_interface=d.get('bind_interface'),
  213            certificate_authority=d.get('certificate_authority'),
  214            client_certificate=d.get('client_certificate'),
  215            client_key=d.get('client_key'),
  216            discovery_enabled=d.get('discovery_enabled'),
  217            discovery_username=d.get('discovery_username'),
  218            egress_filter=d.get('egress_filter'),
  219            healthcheck_namespace=d.get('healthcheck_namespace'),
  220            healthy=d.get('healthy'),
  221            hostname=d.get('hostname'),
  222            id=d.get('id'),
  223            identity_alias_healthcheck_username=d.get(
  224                'identity_alias_healthcheck_username'),
  225            identity_set_id=d.get('identity_set_id'),
  226            name=d.get('name'),
  227            port=d.get('port'),
  228            port_override=d.get('port_override'),
  229            proxy_cluster_id=d.get('proxy_cluster_id'),
  230            secret_store_id=d.get('secret_store_id'),
  231            subdomain=d.get('subdomain'),
  232            tags=d.get('tags'),
  233        )
  234
  235
  236class AKSBasicAuth:
  237    '''
  238    AKSBasicAuth is currently unstable, and its API may change, or it may be removed,
  239    without a major version bump.
  240    '''
  241    __slots__ = [
  242        'bind_interface',
  243        'egress_filter',
  244        'healthcheck_namespace',
  245        'healthy',
  246        'hostname',
  247        'id',
  248        'name',
  249        'password',
  250        'port',
  251        'port_override',
  252        'proxy_cluster_id',
  253        'secret_store_id',
  254        'subdomain',
  255        'tags',
  256        'username',
  257    ]
  258
  259    def __init__(
  260        self,
  261        bind_interface=None,
  262        egress_filter=None,
  263        healthcheck_namespace=None,
  264        healthy=None,
  265        hostname=None,
  266        id=None,
  267        name=None,
  268        password=None,
  269        port=None,
  270        port_override=None,
  271        proxy_cluster_id=None,
  272        secret_store_id=None,
  273        subdomain=None,
  274        tags=None,
  275        username=None,
  276    ):
  277        self.bind_interface = bind_interface if bind_interface is not None else ''
  278        '''
  279         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
  280        '''
  281        self.egress_filter = egress_filter if egress_filter is not None else ''
  282        '''
  283         A filter applied to the routing logic to pin datasource to nodes.
  284        '''
  285        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
  286        '''
  287         The path used to check the health of your connection.  Defaults to `default`.
  288        '''
  289        self.healthy = healthy if healthy is not None else False
  290        '''
  291         True if the datasource is reachable and the credentials are valid.
  292        '''
  293        self.hostname = hostname if hostname is not None else ''
  294        '''
  295         The host to dial to initiate a connection from the egress node to this resource.
  296        '''
  297        self.id = id if id is not None else ''
  298        '''
  299         Unique identifier of the Resource.
  300        '''
  301        self.name = name if name is not None else ''
  302        '''
  303         Unique human-readable name of the Resource.
  304        '''
  305        self.password = password if password is not None else ''
  306        '''
  307         The password to authenticate with.
  308        '''
  309        self.port = port if port is not None else 0
  310        '''
  311         The port to dial to initiate a connection from the egress node to this resource.
  312        '''
  313        self.port_override = port_override if port_override is not None else 0
  314        '''
  315         The local port used by clients to connect to this resource.
  316        '''
  317        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
  318        '''
  319         ID of the proxy cluster for this resource, if any.
  320        '''
  321        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
  322        '''
  323         ID of the secret store containing credentials for this resource, if any.
  324        '''
  325        self.subdomain = subdomain if subdomain is not None else ''
  326        '''
  327         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
  328        '''
  329        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
  330        '''
  331         Tags is a map of key, value pairs.
  332        '''
  333        self.username = username if username is not None else ''
  334        '''
  335         The username to authenticate with.
  336        '''
  337
  338    def __repr__(self):
  339        return '<sdm.AKSBasicAuth ' + \
  340            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
  341            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
  342            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
  343            'healthy: ' + repr(self.healthy) + ' ' +\
  344            'hostname: ' + repr(self.hostname) + ' ' +\
  345            'id: ' + repr(self.id) + ' ' +\
  346            'name: ' + repr(self.name) + ' ' +\
  347            'password: ' + repr(self.password) + ' ' +\
  348            'port: ' + repr(self.port) + ' ' +\
  349            'port_override: ' + repr(self.port_override) + ' ' +\
  350            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
  351            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
  352            'subdomain: ' + repr(self.subdomain) + ' ' +\
  353            'tags: ' + repr(self.tags) + ' ' +\
  354            'username: ' + repr(self.username) + ' ' +\
  355            '>'
  356
  357    def to_dict(self):
  358        return {
  359            'bind_interface': self.bind_interface,
  360            'egress_filter': self.egress_filter,
  361            'healthcheck_namespace': self.healthcheck_namespace,
  362            'healthy': self.healthy,
  363            'hostname': self.hostname,
  364            'id': self.id,
  365            'name': self.name,
  366            'password': self.password,
  367            'port': self.port,
  368            'port_override': self.port_override,
  369            'proxy_cluster_id': self.proxy_cluster_id,
  370            'secret_store_id': self.secret_store_id,
  371            'subdomain': self.subdomain,
  372            'tags': self.tags,
  373            'username': self.username,
  374        }
  375
  376    @classmethod
  377    def from_dict(cls, d):
  378        return cls(
  379            bind_interface=d.get('bind_interface'),
  380            egress_filter=d.get('egress_filter'),
  381            healthcheck_namespace=d.get('healthcheck_namespace'),
  382            healthy=d.get('healthy'),
  383            hostname=d.get('hostname'),
  384            id=d.get('id'),
  385            name=d.get('name'),
  386            password=d.get('password'),
  387            port=d.get('port'),
  388            port_override=d.get('port_override'),
  389            proxy_cluster_id=d.get('proxy_cluster_id'),
  390            secret_store_id=d.get('secret_store_id'),
  391            subdomain=d.get('subdomain'),
  392            tags=d.get('tags'),
  393            username=d.get('username'),
  394        )
  395
  396
  397class AKSServiceAccount:
  398    __slots__ = [
  399        'allow_resource_role_bypass',
  400        'bind_interface',
  401        'discovery_enabled',
  402        'discovery_username',
  403        'egress_filter',
  404        'healthcheck_namespace',
  405        'healthy',
  406        'hostname',
  407        'id',
  408        'identity_alias_healthcheck_username',
  409        'identity_set_id',
  410        'name',
  411        'port',
  412        'port_override',
  413        'proxy_cluster_id',
  414        'secret_store_id',
  415        'subdomain',
  416        'tags',
  417        'token',
  418    ]
  419
  420    def __init__(
  421        self,
  422        allow_resource_role_bypass=None,
  423        bind_interface=None,
  424        discovery_enabled=None,
  425        discovery_username=None,
  426        egress_filter=None,
  427        healthcheck_namespace=None,
  428        healthy=None,
  429        hostname=None,
  430        id=None,
  431        identity_alias_healthcheck_username=None,
  432        identity_set_id=None,
  433        name=None,
  434        port=None,
  435        port_override=None,
  436        proxy_cluster_id=None,
  437        secret_store_id=None,
  438        subdomain=None,
  439        tags=None,
  440        token=None,
  441    ):
  442        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
  443        '''
  444         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
  445         when a resource role is not provided.
  446        '''
  447        self.bind_interface = bind_interface if bind_interface is not None else ''
  448        '''
  449         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
  450        '''
  451        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
  452        '''
  453         If true, configures discovery of a cluster to be run from a node.
  454        '''
  455        self.discovery_username = discovery_username if discovery_username is not None else ''
  456        '''
  457         If a cluster is configured for user impersonation, this is the user to impersonate when
  458         running discovery.
  459        '''
  460        self.egress_filter = egress_filter if egress_filter is not None else ''
  461        '''
  462         A filter applied to the routing logic to pin datasource to nodes.
  463        '''
  464        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
  465        '''
  466         The path used to check the health of your connection.  Defaults to `default`.
  467        '''
  468        self.healthy = healthy if healthy is not None else False
  469        '''
  470         True if the datasource is reachable and the credentials are valid.
  471        '''
  472        self.hostname = hostname if hostname is not None else ''
  473        '''
  474         The host to dial to initiate a connection from the egress node to this resource.
  475        '''
  476        self.id = id if id is not None else ''
  477        '''
  478         Unique identifier of the Resource.
  479        '''
  480        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
  481        '''
  482         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
  483        '''
  484        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
  485        '''
  486         The ID of the identity set to use for identity connections.
  487        '''
  488        self.name = name if name is not None else ''
  489        '''
  490         Unique human-readable name of the Resource.
  491        '''
  492        self.port = port if port is not None else 0
  493        '''
  494         The port to dial to initiate a connection from the egress node to this resource.
  495        '''
  496        self.port_override = port_override if port_override is not None else 0
  497        '''
  498         The local port used by clients to connect to this resource.
  499        '''
  500        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
  501        '''
  502         ID of the proxy cluster for this resource, if any.
  503        '''
  504        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
  505        '''
  506         ID of the secret store containing credentials for this resource, if any.
  507        '''
  508        self.subdomain = subdomain if subdomain is not None else ''
  509        '''
  510         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
  511        '''
  512        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
  513        '''
  514         Tags is a map of key, value pairs.
  515        '''
  516        self.token = token if token is not None else ''
  517        '''
  518         The API token to authenticate with.
  519        '''
  520
  521    def __repr__(self):
  522        return '<sdm.AKSServiceAccount ' + \
  523            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
  524            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
  525            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
  526            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
  527            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
  528            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
  529            'healthy: ' + repr(self.healthy) + ' ' +\
  530            'hostname: ' + repr(self.hostname) + ' ' +\
  531            'id: ' + repr(self.id) + ' ' +\
  532            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
  533            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
  534            'name: ' + repr(self.name) + ' ' +\
  535            'port: ' + repr(self.port) + ' ' +\
  536            'port_override: ' + repr(self.port_override) + ' ' +\
  537            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
  538            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
  539            'subdomain: ' + repr(self.subdomain) + ' ' +\
  540            'tags: ' + repr(self.tags) + ' ' +\
  541            'token: ' + repr(self.token) + ' ' +\
  542            '>'
  543
  544    def to_dict(self):
  545        return {
  546            'allow_resource_role_bypass': self.allow_resource_role_bypass,
  547            'bind_interface': self.bind_interface,
  548            'discovery_enabled': self.discovery_enabled,
  549            'discovery_username': self.discovery_username,
  550            'egress_filter': self.egress_filter,
  551            'healthcheck_namespace': self.healthcheck_namespace,
  552            'healthy': self.healthy,
  553            'hostname': self.hostname,
  554            'id': self.id,
  555            'identity_alias_healthcheck_username':
  556            self.identity_alias_healthcheck_username,
  557            'identity_set_id': self.identity_set_id,
  558            'name': self.name,
  559            'port': self.port,
  560            'port_override': self.port_override,
  561            'proxy_cluster_id': self.proxy_cluster_id,
  562            'secret_store_id': self.secret_store_id,
  563            'subdomain': self.subdomain,
  564            'tags': self.tags,
  565            'token': self.token,
  566        }
  567
  568    @classmethod
  569    def from_dict(cls, d):
  570        return cls(
  571            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
  572            bind_interface=d.get('bind_interface'),
  573            discovery_enabled=d.get('discovery_enabled'),
  574            discovery_username=d.get('discovery_username'),
  575            egress_filter=d.get('egress_filter'),
  576            healthcheck_namespace=d.get('healthcheck_namespace'),
  577            healthy=d.get('healthy'),
  578            hostname=d.get('hostname'),
  579            id=d.get('id'),
  580            identity_alias_healthcheck_username=d.get(
  581                'identity_alias_healthcheck_username'),
  582            identity_set_id=d.get('identity_set_id'),
  583            name=d.get('name'),
  584            port=d.get('port'),
  585            port_override=d.get('port_override'),
  586            proxy_cluster_id=d.get('proxy_cluster_id'),
  587            secret_store_id=d.get('secret_store_id'),
  588            subdomain=d.get('subdomain'),
  589            tags=d.get('tags'),
  590            token=d.get('token'),
  591        )
  592
  593
  594class AKSServiceAccountUserImpersonation:
  595    __slots__ = [
  596        'bind_interface',
  597        'egress_filter',
  598        'healthcheck_namespace',
  599        'healthy',
  600        'hostname',
  601        'id',
  602        'name',
  603        'port',
  604        'port_override',
  605        'proxy_cluster_id',
  606        'secret_store_id',
  607        'subdomain',
  608        'tags',
  609        'token',
  610    ]
  611
  612    def __init__(
  613        self,
  614        bind_interface=None,
  615        egress_filter=None,
  616        healthcheck_namespace=None,
  617        healthy=None,
  618        hostname=None,
  619        id=None,
  620        name=None,
  621        port=None,
  622        port_override=None,
  623        proxy_cluster_id=None,
  624        secret_store_id=None,
  625        subdomain=None,
  626        tags=None,
  627        token=None,
  628    ):
  629        self.bind_interface = bind_interface if bind_interface is not None else ''
  630        '''
  631         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
  632        '''
  633        self.egress_filter = egress_filter if egress_filter is not None else ''
  634        '''
  635         A filter applied to the routing logic to pin datasource to nodes.
  636        '''
  637        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
  638        '''
  639         The path used to check the health of your connection.  Defaults to `default`.
  640        '''
  641        self.healthy = healthy if healthy is not None else False
  642        '''
  643         True if the datasource is reachable and the credentials are valid.
  644        '''
  645        self.hostname = hostname if hostname is not None else ''
  646        '''
  647         The host to dial to initiate a connection from the egress node to this resource.
  648        '''
  649        self.id = id if id is not None else ''
  650        '''
  651         Unique identifier of the Resource.
  652        '''
  653        self.name = name if name is not None else ''
  654        '''
  655         Unique human-readable name of the Resource.
  656        '''
  657        self.port = port if port is not None else 0
  658        '''
  659         The port to dial to initiate a connection from the egress node to this resource.
  660        '''
  661        self.port_override = port_override if port_override is not None else 0
  662        '''
  663         The local port used by clients to connect to this resource.
  664        '''
  665        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
  666        '''
  667         ID of the proxy cluster for this resource, if any.
  668        '''
  669        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
  670        '''
  671         ID of the secret store containing credentials for this resource, if any.
  672        '''
  673        self.subdomain = subdomain if subdomain is not None else ''
  674        '''
  675         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
  676        '''
  677        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
  678        '''
  679         Tags is a map of key, value pairs.
  680        '''
  681        self.token = token if token is not None else ''
  682        '''
  683         The API token to authenticate with.
  684        '''
  685
  686    def __repr__(self):
  687        return '<sdm.AKSServiceAccountUserImpersonation ' + \
  688            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
  689            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
  690            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
  691            'healthy: ' + repr(self.healthy) + ' ' +\
  692            'hostname: ' + repr(self.hostname) + ' ' +\
  693            'id: ' + repr(self.id) + ' ' +\
  694            'name: ' + repr(self.name) + ' ' +\
  695            'port: ' + repr(self.port) + ' ' +\
  696            'port_override: ' + repr(self.port_override) + ' ' +\
  697            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
  698            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
  699            'subdomain: ' + repr(self.subdomain) + ' ' +\
  700            'tags: ' + repr(self.tags) + ' ' +\
  701            'token: ' + repr(self.token) + ' ' +\
  702            '>'
  703
  704    def to_dict(self):
  705        return {
  706            'bind_interface': self.bind_interface,
  707            'egress_filter': self.egress_filter,
  708            'healthcheck_namespace': self.healthcheck_namespace,
  709            'healthy': self.healthy,
  710            'hostname': self.hostname,
  711            'id': self.id,
  712            'name': self.name,
  713            'port': self.port,
  714            'port_override': self.port_override,
  715            'proxy_cluster_id': self.proxy_cluster_id,
  716            'secret_store_id': self.secret_store_id,
  717            'subdomain': self.subdomain,
  718            'tags': self.tags,
  719            'token': self.token,
  720        }
  721
  722    @classmethod
  723    def from_dict(cls, d):
  724        return cls(
  725            bind_interface=d.get('bind_interface'),
  726            egress_filter=d.get('egress_filter'),
  727            healthcheck_namespace=d.get('healthcheck_namespace'),
  728            healthy=d.get('healthy'),
  729            hostname=d.get('hostname'),
  730            id=d.get('id'),
  731            name=d.get('name'),
  732            port=d.get('port'),
  733            port_override=d.get('port_override'),
  734            proxy_cluster_id=d.get('proxy_cluster_id'),
  735            secret_store_id=d.get('secret_store_id'),
  736            subdomain=d.get('subdomain'),
  737            tags=d.get('tags'),
  738            token=d.get('token'),
  739        )
  740
  741
  742class AKSUserImpersonation:
  743    __slots__ = [
  744        'bind_interface',
  745        'certificate_authority',
  746        'client_certificate',
  747        'client_key',
  748        'egress_filter',
  749        'healthcheck_namespace',
  750        'healthy',
  751        'hostname',
  752        'id',
  753        'name',
  754        'port',
  755        'port_override',
  756        'proxy_cluster_id',
  757        'secret_store_id',
  758        'subdomain',
  759        'tags',
  760    ]
  761
  762    def __init__(
  763        self,
  764        bind_interface=None,
  765        certificate_authority=None,
  766        client_certificate=None,
  767        client_key=None,
  768        egress_filter=None,
  769        healthcheck_namespace=None,
  770        healthy=None,
  771        hostname=None,
  772        id=None,
  773        name=None,
  774        port=None,
  775        port_override=None,
  776        proxy_cluster_id=None,
  777        secret_store_id=None,
  778        subdomain=None,
  779        tags=None,
  780    ):
  781        self.bind_interface = bind_interface if bind_interface is not None else ''
  782        '''
  783         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
  784        '''
  785        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
  786        '''
  787         The CA to authenticate TLS connections with.
  788        '''
  789        self.client_certificate = client_certificate if client_certificate is not None else ''
  790        '''
  791         The certificate to authenticate TLS connections with.
  792        '''
  793        self.client_key = client_key if client_key is not None else ''
  794        '''
  795         The key to authenticate TLS connections with.
  796        '''
  797        self.egress_filter = egress_filter if egress_filter is not None else ''
  798        '''
  799         A filter applied to the routing logic to pin datasource to nodes.
  800        '''
  801        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
  802        '''
  803         The path used to check the health of your connection.  Defaults to `default`.
  804        '''
  805        self.healthy = healthy if healthy is not None else False
  806        '''
  807         True if the datasource is reachable and the credentials are valid.
  808        '''
  809        self.hostname = hostname if hostname is not None else ''
  810        '''
  811         The host to dial to initiate a connection from the egress node to this resource.
  812        '''
  813        self.id = id if id is not None else ''
  814        '''
  815         Unique identifier of the Resource.
  816        '''
  817        self.name = name if name is not None else ''
  818        '''
  819         Unique human-readable name of the Resource.
  820        '''
  821        self.port = port if port is not None else 0
  822        '''
  823         The port to dial to initiate a connection from the egress node to this resource.
  824        '''
  825        self.port_override = port_override if port_override is not None else 0
  826        '''
  827         The local port used by clients to connect to this resource.
  828        '''
  829        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
  830        '''
  831         ID of the proxy cluster for this resource, if any.
  832        '''
  833        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
  834        '''
  835         ID of the secret store containing credentials for this resource, if any.
  836        '''
  837        self.subdomain = subdomain if subdomain is not None else ''
  838        '''
  839         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
  840        '''
  841        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
  842        '''
  843         Tags is a map of key, value pairs.
  844        '''
  845
  846    def __repr__(self):
  847        return '<sdm.AKSUserImpersonation ' + \
  848            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
  849            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
  850            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
  851            'client_key: ' + repr(self.client_key) + ' ' +\
  852            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
  853            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
  854            'healthy: ' + repr(self.healthy) + ' ' +\
  855            'hostname: ' + repr(self.hostname) + ' ' +\
  856            'id: ' + repr(self.id) + ' ' +\
  857            'name: ' + repr(self.name) + ' ' +\
  858            'port: ' + repr(self.port) + ' ' +\
  859            'port_override: ' + repr(self.port_override) + ' ' +\
  860            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
  861            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
  862            'subdomain: ' + repr(self.subdomain) + ' ' +\
  863            'tags: ' + repr(self.tags) + ' ' +\
  864            '>'
  865
  866    def to_dict(self):
  867        return {
  868            'bind_interface': self.bind_interface,
  869            'certificate_authority': self.certificate_authority,
  870            'client_certificate': self.client_certificate,
  871            'client_key': self.client_key,
  872            'egress_filter': self.egress_filter,
  873            'healthcheck_namespace': self.healthcheck_namespace,
  874            'healthy': self.healthy,
  875            'hostname': self.hostname,
  876            'id': self.id,
  877            'name': self.name,
  878            'port': self.port,
  879            'port_override': self.port_override,
  880            'proxy_cluster_id': self.proxy_cluster_id,
  881            'secret_store_id': self.secret_store_id,
  882            'subdomain': self.subdomain,
  883            'tags': self.tags,
  884        }
  885
  886    @classmethod
  887    def from_dict(cls, d):
  888        return cls(
  889            bind_interface=d.get('bind_interface'),
  890            certificate_authority=d.get('certificate_authority'),
  891            client_certificate=d.get('client_certificate'),
  892            client_key=d.get('client_key'),
  893            egress_filter=d.get('egress_filter'),
  894            healthcheck_namespace=d.get('healthcheck_namespace'),
  895            healthy=d.get('healthy'),
  896            hostname=d.get('hostname'),
  897            id=d.get('id'),
  898            name=d.get('name'),
  899            port=d.get('port'),
  900            port_override=d.get('port_override'),
  901            proxy_cluster_id=d.get('proxy_cluster_id'),
  902            secret_store_id=d.get('secret_store_id'),
  903            subdomain=d.get('subdomain'),
  904            tags=d.get('tags'),
  905        )
  906
  907
  908class AWS:
  909    __slots__ = [
  910        'access_key',
  911        'bind_interface',
  912        'egress_filter',
  913        'healthcheck_region',
  914        'healthy',
  915        'id',
  916        'name',
  917        'port_override',
  918        'proxy_cluster_id',
  919        'role_arn',
  920        'role_external_id',
  921        'secret_access_key',
  922        'secret_store_id',
  923        'subdomain',
  924        'tags',
  925    ]
  926
  927    def __init__(
  928        self,
  929        access_key=None,
  930        bind_interface=None,
  931        egress_filter=None,
  932        healthcheck_region=None,
  933        healthy=None,
  934        id=None,
  935        name=None,
  936        port_override=None,
  937        proxy_cluster_id=None,
  938        role_arn=None,
  939        role_external_id=None,
  940        secret_access_key=None,
  941        secret_store_id=None,
  942        subdomain=None,
  943        tags=None,
  944    ):
  945        self.access_key = access_key if access_key is not None else ''
  946        '''
  947         The Access Key ID to use to authenticate.
  948        '''
  949        self.bind_interface = bind_interface if bind_interface is not None else ''
  950        '''
  951         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
  952        '''
  953        self.egress_filter = egress_filter if egress_filter is not None else ''
  954        '''
  955         A filter applied to the routing logic to pin datasource to nodes.
  956        '''
  957        self.healthcheck_region = healthcheck_region if healthcheck_region is not None else ''
  958        '''
  959         The AWS region healthcheck requests should attempt to connect to.
  960        '''
  961        self.healthy = healthy if healthy is not None else False
  962        '''
  963         True if the datasource is reachable and the credentials are valid.
  964        '''
  965        self.id = id if id is not None else ''
  966        '''
  967         Unique identifier of the Resource.
  968        '''
  969        self.name = name if name is not None else ''
  970        '''
  971         Unique human-readable name of the Resource.
  972        '''
  973        self.port_override = port_override if port_override is not None else 0
  974        '''
  975         The local port used by clients to connect to this resource.
  976        '''
  977        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
  978        '''
  979         ID of the proxy cluster for this resource, if any.
  980        '''
  981        self.role_arn = role_arn if role_arn is not None else ''
  982        '''
  983         The role to assume after logging in.
  984        '''
  985        self.role_external_id = role_external_id if role_external_id is not None else ''
  986        '''
  987         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
  988        '''
  989        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
  990        '''
  991         The Secret Access Key to use to authenticate.
  992        '''
  993        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
  994        '''
  995         ID of the secret store containing credentials for this resource, if any.
  996        '''
  997        self.subdomain = subdomain if subdomain is not None else ''
  998        '''
  999         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 1000        '''
 1001        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 1002        '''
 1003         Tags is a map of key, value pairs.
 1004        '''
 1005
 1006    def __repr__(self):
 1007        return '<sdm.AWS ' + \
 1008            'access_key: ' + repr(self.access_key) + ' ' +\
 1009            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 1010            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 1011            'healthcheck_region: ' + repr(self.healthcheck_region) + ' ' +\
 1012            'healthy: ' + repr(self.healthy) + ' ' +\
 1013            'id: ' + repr(self.id) + ' ' +\
 1014            'name: ' + repr(self.name) + ' ' +\
 1015            'port_override: ' + repr(self.port_override) + ' ' +\
 1016            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 1017            'role_arn: ' + repr(self.role_arn) + ' ' +\
 1018            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 1019            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
 1020            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 1021            'subdomain: ' + repr(self.subdomain) + ' ' +\
 1022            'tags: ' + repr(self.tags) + ' ' +\
 1023            '>'
 1024
 1025    def to_dict(self):
 1026        return {
 1027            'access_key': self.access_key,
 1028            'bind_interface': self.bind_interface,
 1029            'egress_filter': self.egress_filter,
 1030            'healthcheck_region': self.healthcheck_region,
 1031            'healthy': self.healthy,
 1032            'id': self.id,
 1033            'name': self.name,
 1034            'port_override': self.port_override,
 1035            'proxy_cluster_id': self.proxy_cluster_id,
 1036            'role_arn': self.role_arn,
 1037            'role_external_id': self.role_external_id,
 1038            'secret_access_key': self.secret_access_key,
 1039            'secret_store_id': self.secret_store_id,
 1040            'subdomain': self.subdomain,
 1041            'tags': self.tags,
 1042        }
 1043
 1044    @classmethod
 1045    def from_dict(cls, d):
 1046        return cls(
 1047            access_key=d.get('access_key'),
 1048            bind_interface=d.get('bind_interface'),
 1049            egress_filter=d.get('egress_filter'),
 1050            healthcheck_region=d.get('healthcheck_region'),
 1051            healthy=d.get('healthy'),
 1052            id=d.get('id'),
 1053            name=d.get('name'),
 1054            port_override=d.get('port_override'),
 1055            proxy_cluster_id=d.get('proxy_cluster_id'),
 1056            role_arn=d.get('role_arn'),
 1057            role_external_id=d.get('role_external_id'),
 1058            secret_access_key=d.get('secret_access_key'),
 1059            secret_store_id=d.get('secret_store_id'),
 1060            subdomain=d.get('subdomain'),
 1061            tags=d.get('tags'),
 1062        )
 1063
 1064
 1065class AWSCertX509Store:
 1066    __slots__ = [
 1067        'caarn',
 1068        'certificatetemplatearn',
 1069        'id',
 1070        'issuedcertttlminutes',
 1071        'name',
 1072        'region',
 1073        'signingalgo',
 1074        'tags',
 1075    ]
 1076
 1077    def __init__(
 1078        self,
 1079        caarn=None,
 1080        certificatetemplatearn=None,
 1081        id=None,
 1082        issuedcertttlminutes=None,
 1083        name=None,
 1084        region=None,
 1085        signingalgo=None,
 1086        tags=None,
 1087    ):
 1088        self.caarn = caarn if caarn is not None else ''
 1089        '''
 1090         The ARN of the CA in AWS Private CA
 1091        '''
 1092        self.certificatetemplatearn = certificatetemplatearn if certificatetemplatearn is not None else ''
 1093        '''
 1094         The ARN of the AWS certificate template for requested certificates. Must allow SAN, key usage, and ext key usage passthrough from CSR
 1095        '''
 1096        self.id = id if id is not None else ''
 1097        '''
 1098         Unique identifier of the SecretStore.
 1099        '''
 1100        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
 1101        '''
 1102         The lifetime of certificates issued by this CA represented in minutes.
 1103        '''
 1104        self.name = name if name is not None else ''
 1105        '''
 1106         Unique human-readable name of the SecretStore.
 1107        '''
 1108        self.region = region if region is not None else ''
 1109        '''
 1110         The AWS region to target e.g. us-east-1
 1111        '''
 1112        self.signingalgo = signingalgo if signingalgo is not None else ''
 1113        '''
 1114         The specified signing algorithm family (RSA or ECDSA) must match the algorithm family of the CA's secret key. e.g. SHA256WITHRSA
 1115        '''
 1116        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 1117        '''
 1118         Tags is a map of key, value pairs.
 1119        '''
 1120
 1121    def __repr__(self):
 1122        return '<sdm.AWSCertX509Store ' + \
 1123            'caarn: ' + repr(self.caarn) + ' ' +\
 1124            'certificatetemplatearn: ' + repr(self.certificatetemplatearn) + ' ' +\
 1125            'id: ' + repr(self.id) + ' ' +\
 1126            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
 1127            'name: ' + repr(self.name) + ' ' +\
 1128            'region: ' + repr(self.region) + ' ' +\
 1129            'signingalgo: ' + repr(self.signingalgo) + ' ' +\
 1130            'tags: ' + repr(self.tags) + ' ' +\
 1131            '>'
 1132
 1133    def to_dict(self):
 1134        return {
 1135            'caarn': self.caarn,
 1136            'certificatetemplatearn': self.certificatetemplatearn,
 1137            'id': self.id,
 1138            'issuedcertttlminutes': self.issuedcertttlminutes,
 1139            'name': self.name,
 1140            'region': self.region,
 1141            'signingalgo': self.signingalgo,
 1142            'tags': self.tags,
 1143        }
 1144
 1145    @classmethod
 1146    def from_dict(cls, d):
 1147        return cls(
 1148            caarn=d.get('caarn'),
 1149            certificatetemplatearn=d.get('certificatetemplatearn'),
 1150            id=d.get('id'),
 1151            issuedcertttlminutes=d.get('issuedcertttlminutes'),
 1152            name=d.get('name'),
 1153            region=d.get('region'),
 1154            signingalgo=d.get('signingalgo'),
 1155            tags=d.get('tags'),
 1156        )
 1157
 1158
 1159class AWSConsole:
 1160    __slots__ = [
 1161        'bind_interface',
 1162        'egress_filter',
 1163        'enable_env_variables',
 1164        'healthy',
 1165        'id',
 1166        'identity_alias_healthcheck_username',
 1167        'identity_set_id',
 1168        'name',
 1169        'port_override',
 1170        'proxy_cluster_id',
 1171        'region',
 1172        'role_arn',
 1173        'role_external_id',
 1174        'secret_store_id',
 1175        'session_expiry',
 1176        'subdomain',
 1177        'tags',
 1178    ]
 1179
 1180    def __init__(
 1181        self,
 1182        bind_interface=None,
 1183        egress_filter=None,
 1184        enable_env_variables=None,
 1185        healthy=None,
 1186        id=None,
 1187        identity_alias_healthcheck_username=None,
 1188        identity_set_id=None,
 1189        name=None,
 1190        port_override=None,
 1191        proxy_cluster_id=None,
 1192        region=None,
 1193        role_arn=None,
 1194        role_external_id=None,
 1195        secret_store_id=None,
 1196        session_expiry=None,
 1197        subdomain=None,
 1198        tags=None,
 1199    ):
 1200        self.bind_interface = bind_interface if bind_interface is not None else ''
 1201        '''
 1202         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 1203        '''
 1204        self.egress_filter = egress_filter if egress_filter is not None else ''
 1205        '''
 1206         A filter applied to the routing logic to pin datasource to nodes.
 1207        '''
 1208        self.enable_env_variables = enable_env_variables if enable_env_variables is not None else False
 1209        '''
 1210         If true, prefer environment variables to authenticate connection even if EC2 roles are configured.
 1211        '''
 1212        self.healthy = healthy if healthy is not None else False
 1213        '''
 1214         True if the datasource is reachable and the credentials are valid.
 1215        '''
 1216        self.id = id if id is not None else ''
 1217        '''
 1218         Unique identifier of the Resource.
 1219        '''
 1220        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
 1221        '''
 1222         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
 1223        '''
 1224        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
 1225        '''
 1226         The ID of the identity set to use for identity connections.
 1227        '''
 1228        self.name = name if name is not None else ''
 1229        '''
 1230         Unique human-readable name of the Resource.
 1231        '''
 1232        self.port_override = port_override if port_override is not None else 0
 1233        '''
 1234         The local port used by clients to connect to this resource.
 1235        '''
 1236        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 1237        '''
 1238         ID of the proxy cluster for this resource, if any.
 1239        '''
 1240        self.region = region if region is not None else ''
 1241        '''
 1242         The AWS region to connect to.
 1243        '''
 1244        self.role_arn = role_arn if role_arn is not None else ''
 1245        '''
 1246         The role to assume after logging in.
 1247        '''
 1248        self.role_external_id = role_external_id if role_external_id is not None else ''
 1249        '''
 1250         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 1251        '''
 1252        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 1253        '''
 1254         ID of the secret store containing credentials for this resource, if any.
 1255        '''
 1256        self.session_expiry = session_expiry if session_expiry is not None else 0
 1257        '''
 1258         The length of time in seconds AWS console sessions will live before needing to reauthenticate.
 1259        '''
 1260        self.subdomain = subdomain if subdomain is not None else ''
 1261        '''
 1262         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 1263        '''
 1264        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 1265        '''
 1266         Tags is a map of key, value pairs.
 1267        '''
 1268
 1269    def __repr__(self):
 1270        return '<sdm.AWSConsole ' + \
 1271            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 1272            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 1273            'enable_env_variables: ' + repr(self.enable_env_variables) + ' ' +\
 1274            'healthy: ' + repr(self.healthy) + ' ' +\
 1275            'id: ' + repr(self.id) + ' ' +\
 1276            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
 1277            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
 1278            'name: ' + repr(self.name) + ' ' +\
 1279            'port_override: ' + repr(self.port_override) + ' ' +\
 1280            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 1281            'region: ' + repr(self.region) + ' ' +\
 1282            'role_arn: ' + repr(self.role_arn) + ' ' +\
 1283            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 1284            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 1285            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
 1286            'subdomain: ' + repr(self.subdomain) + ' ' +\
 1287            'tags: ' + repr(self.tags) + ' ' +\
 1288            '>'
 1289
 1290    def to_dict(self):
 1291        return {
 1292            'bind_interface': self.bind_interface,
 1293            'egress_filter': self.egress_filter,
 1294            'enable_env_variables': self.enable_env_variables,
 1295            'healthy': self.healthy,
 1296            'id': self.id,
 1297            'identity_alias_healthcheck_username':
 1298            self.identity_alias_healthcheck_username,
 1299            'identity_set_id': self.identity_set_id,
 1300            'name': self.name,
 1301            'port_override': self.port_override,
 1302            'proxy_cluster_id': self.proxy_cluster_id,
 1303            'region': self.region,
 1304            'role_arn': self.role_arn,
 1305            'role_external_id': self.role_external_id,
 1306            'secret_store_id': self.secret_store_id,
 1307            'session_expiry': self.session_expiry,
 1308            'subdomain': self.subdomain,
 1309            'tags': self.tags,
 1310        }
 1311
 1312    @classmethod
 1313    def from_dict(cls, d):
 1314        return cls(
 1315            bind_interface=d.get('bind_interface'),
 1316            egress_filter=d.get('egress_filter'),
 1317            enable_env_variables=d.get('enable_env_variables'),
 1318            healthy=d.get('healthy'),
 1319            id=d.get('id'),
 1320            identity_alias_healthcheck_username=d.get(
 1321                'identity_alias_healthcheck_username'),
 1322            identity_set_id=d.get('identity_set_id'),
 1323            name=d.get('name'),
 1324            port_override=d.get('port_override'),
 1325            proxy_cluster_id=d.get('proxy_cluster_id'),
 1326            region=d.get('region'),
 1327            role_arn=d.get('role_arn'),
 1328            role_external_id=d.get('role_external_id'),
 1329            secret_store_id=d.get('secret_store_id'),
 1330            session_expiry=d.get('session_expiry'),
 1331            subdomain=d.get('subdomain'),
 1332            tags=d.get('tags'),
 1333        )
 1334
 1335
 1336class AWSConsoleStaticKeyPair:
 1337    __slots__ = [
 1338        'access_key',
 1339        'bind_interface',
 1340        'egress_filter',
 1341        'healthy',
 1342        'id',
 1343        'identity_alias_healthcheck_username',
 1344        'identity_set_id',
 1345        'name',
 1346        'port_override',
 1347        'proxy_cluster_id',
 1348        'region',
 1349        'role_arn',
 1350        'role_external_id',
 1351        'secret_access_key',
 1352        'secret_store_id',
 1353        'session_expiry',
 1354        'subdomain',
 1355        'tags',
 1356    ]
 1357
 1358    def __init__(
 1359        self,
 1360        access_key=None,
 1361        bind_interface=None,
 1362        egress_filter=None,
 1363        healthy=None,
 1364        id=None,
 1365        identity_alias_healthcheck_username=None,
 1366        identity_set_id=None,
 1367        name=None,
 1368        port_override=None,
 1369        proxy_cluster_id=None,
 1370        region=None,
 1371        role_arn=None,
 1372        role_external_id=None,
 1373        secret_access_key=None,
 1374        secret_store_id=None,
 1375        session_expiry=None,
 1376        subdomain=None,
 1377        tags=None,
 1378    ):
 1379        self.access_key = access_key if access_key is not None else ''
 1380        '''
 1381         The Access Key ID to authenticate with.
 1382        '''
 1383        self.bind_interface = bind_interface if bind_interface is not None else ''
 1384        '''
 1385         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 1386        '''
 1387        self.egress_filter = egress_filter if egress_filter is not None else ''
 1388        '''
 1389         A filter applied to the routing logic to pin datasource to nodes.
 1390        '''
 1391        self.healthy = healthy if healthy is not None else False
 1392        '''
 1393         True if the datasource is reachable and the credentials are valid.
 1394        '''
 1395        self.id = id if id is not None else ''
 1396        '''
 1397         Unique identifier of the Resource.
 1398        '''
 1399        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
 1400        '''
 1401         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
 1402        '''
 1403        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
 1404        '''
 1405         The ID of the identity set to use for identity connections.
 1406        '''
 1407        self.name = name if name is not None else ''
 1408        '''
 1409         Unique human-readable name of the Resource.
 1410        '''
 1411        self.port_override = port_override if port_override is not None else 0
 1412        '''
 1413         The local port used by clients to connect to this resource.
 1414        '''
 1415        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 1416        '''
 1417         ID of the proxy cluster for this resource, if any.
 1418        '''
 1419        self.region = region if region is not None else ''
 1420        '''
 1421         The AWS region to connect to.
 1422        '''
 1423        self.role_arn = role_arn if role_arn is not None else ''
 1424        '''
 1425         The role to assume after logging in.
 1426        '''
 1427        self.role_external_id = role_external_id if role_external_id is not None else ''
 1428        '''
 1429         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 1430        '''
 1431        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
 1432        '''
 1433         The Secret Access Key to authenticate with.
 1434        '''
 1435        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 1436        '''
 1437         ID of the secret store containing credentials for this resource, if any.
 1438        '''
 1439        self.session_expiry = session_expiry if session_expiry is not None else 0
 1440        '''
 1441         The length of time in seconds AWS console sessions will live before needing to reauthenticate.
 1442        '''
 1443        self.subdomain = subdomain if subdomain is not None else ''
 1444        '''
 1445         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 1446        '''
 1447        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 1448        '''
 1449         Tags is a map of key, value pairs.
 1450        '''
 1451
 1452    def __repr__(self):
 1453        return '<sdm.AWSConsoleStaticKeyPair ' + \
 1454            'access_key: ' + repr(self.access_key) + ' ' +\
 1455            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 1456            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 1457            'healthy: ' + repr(self.healthy) + ' ' +\
 1458            'id: ' + repr(self.id) + ' ' +\
 1459            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
 1460            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
 1461            'name: ' + repr(self.name) + ' ' +\
 1462            'port_override: ' + repr(self.port_override) + ' ' +\
 1463            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 1464            'region: ' + repr(self.region) + ' ' +\
 1465            'role_arn: ' + repr(self.role_arn) + ' ' +\
 1466            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 1467            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
 1468            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 1469            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
 1470            'subdomain: ' + repr(self.subdomain) + ' ' +\
 1471            'tags: ' + repr(self.tags) + ' ' +\
 1472            '>'
 1473
 1474    def to_dict(self):
 1475        return {
 1476            'access_key': self.access_key,
 1477            'bind_interface': self.bind_interface,
 1478            'egress_filter': self.egress_filter,
 1479            'healthy': self.healthy,
 1480            'id': self.id,
 1481            'identity_alias_healthcheck_username':
 1482            self.identity_alias_healthcheck_username,
 1483            'identity_set_id': self.identity_set_id,
 1484            'name': self.name,
 1485            'port_override': self.port_override,
 1486            'proxy_cluster_id': self.proxy_cluster_id,
 1487            'region': self.region,
 1488            'role_arn': self.role_arn,
 1489            'role_external_id': self.role_external_id,
 1490            'secret_access_key': self.secret_access_key,
 1491            'secret_store_id': self.secret_store_id,
 1492            'session_expiry': self.session_expiry,
 1493            'subdomain': self.subdomain,
 1494            'tags': self.tags,
 1495        }
 1496
 1497    @classmethod
 1498    def from_dict(cls, d):
 1499        return cls(
 1500            access_key=d.get('access_key'),
 1501            bind_interface=d.get('bind_interface'),
 1502            egress_filter=d.get('egress_filter'),
 1503            healthy=d.get('healthy'),
 1504            id=d.get('id'),
 1505            identity_alias_healthcheck_username=d.get(
 1506                'identity_alias_healthcheck_username'),
 1507            identity_set_id=d.get('identity_set_id'),
 1508            name=d.get('name'),
 1509            port_override=d.get('port_override'),
 1510            proxy_cluster_id=d.get('proxy_cluster_id'),
 1511            region=d.get('region'),
 1512            role_arn=d.get('role_arn'),
 1513            role_external_id=d.get('role_external_id'),
 1514            secret_access_key=d.get('secret_access_key'),
 1515            secret_store_id=d.get('secret_store_id'),
 1516            session_expiry=d.get('session_expiry'),
 1517            subdomain=d.get('subdomain'),
 1518            tags=d.get('tags'),
 1519        )
 1520
 1521
 1522class AWSInstanceProfile:
 1523    __slots__ = [
 1524        'bind_interface',
 1525        'egress_filter',
 1526        'enable_env_variables',
 1527        'healthy',
 1528        'id',
 1529        'name',
 1530        'port_override',
 1531        'proxy_cluster_id',
 1532        'region',
 1533        'role_arn',
 1534        'role_external_id',
 1535        'secret_store_id',
 1536        'subdomain',
 1537        'tags',
 1538    ]
 1539
 1540    def __init__(
 1541        self,
 1542        bind_interface=None,
 1543        egress_filter=None,
 1544        enable_env_variables=None,
 1545        healthy=None,
 1546        id=None,
 1547        name=None,
 1548        port_override=None,
 1549        proxy_cluster_id=None,
 1550        region=None,
 1551        role_arn=None,
 1552        role_external_id=None,
 1553        secret_store_id=None,
 1554        subdomain=None,
 1555        tags=None,
 1556    ):
 1557        self.bind_interface = bind_interface if bind_interface is not None else ''
 1558        '''
 1559         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 1560        '''
 1561        self.egress_filter = egress_filter if egress_filter is not None else ''
 1562        '''
 1563         A filter applied to the routing logic to pin datasource to nodes.
 1564        '''
 1565        self.enable_env_variables = enable_env_variables if enable_env_variables is not None else False
 1566        '''
 1567         If true, prefer environment variables to authenticate connection even if EC2 roles are configured.
 1568        '''
 1569        self.healthy = healthy if healthy is not None else False
 1570        '''
 1571         True if the datasource is reachable and the credentials are valid.
 1572        '''
 1573        self.id = id if id is not None else ''
 1574        '''
 1575         Unique identifier of the Resource.
 1576        '''
 1577        self.name = name if name is not None else ''
 1578        '''
 1579         Unique human-readable name of the Resource.
 1580        '''
 1581        self.port_override = port_override if port_override is not None else 0
 1582        '''
 1583         The local port used by clients to connect to this resource.
 1584        '''
 1585        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 1586        '''
 1587         ID of the proxy cluster for this resource, if any.
 1588        '''
 1589        self.region = region if region is not None else ''
 1590        '''
 1591         The AWS region to connect to.
 1592        '''
 1593        self.role_arn = role_arn if role_arn is not None else ''
 1594        '''
 1595         The role to assume after logging in.
 1596        '''
 1597        self.role_external_id = role_external_id if role_external_id is not None else ''
 1598        '''
 1599         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 1600        '''
 1601        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 1602        '''
 1603         ID of the secret store containing credentials for this resource, if any.
 1604        '''
 1605        self.subdomain = subdomain if subdomain is not None else ''
 1606        '''
 1607         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 1608        '''
 1609        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 1610        '''
 1611         Tags is a map of key, value pairs.
 1612        '''
 1613
 1614    def __repr__(self):
 1615        return '<sdm.AWSInstanceProfile ' + \
 1616            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 1617            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 1618            'enable_env_variables: ' + repr(self.enable_env_variables) + ' ' +\
 1619            'healthy: ' + repr(self.healthy) + ' ' +\
 1620            'id: ' + repr(self.id) + ' ' +\
 1621            'name: ' + repr(self.name) + ' ' +\
 1622            'port_override: ' + repr(self.port_override) + ' ' +\
 1623            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 1624            'region: ' + repr(self.region) + ' ' +\
 1625            'role_arn: ' + repr(self.role_arn) + ' ' +\
 1626            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 1627            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 1628            'subdomain: ' + repr(self.subdomain) + ' ' +\
 1629            'tags: ' + repr(self.tags) + ' ' +\
 1630            '>'
 1631
 1632    def to_dict(self):
 1633        return {
 1634            'bind_interface': self.bind_interface,
 1635            'egress_filter': self.egress_filter,
 1636            'enable_env_variables': self.enable_env_variables,
 1637            'healthy': self.healthy,
 1638            'id': self.id,
 1639            'name': self.name,
 1640            'port_override': self.port_override,
 1641            'proxy_cluster_id': self.proxy_cluster_id,
 1642            'region': self.region,
 1643            'role_arn': self.role_arn,
 1644            'role_external_id': self.role_external_id,
 1645            'secret_store_id': self.secret_store_id,
 1646            'subdomain': self.subdomain,
 1647            'tags': self.tags,
 1648        }
 1649
 1650    @classmethod
 1651    def from_dict(cls, d):
 1652        return cls(
 1653            bind_interface=d.get('bind_interface'),
 1654            egress_filter=d.get('egress_filter'),
 1655            enable_env_variables=d.get('enable_env_variables'),
 1656            healthy=d.get('healthy'),
 1657            id=d.get('id'),
 1658            name=d.get('name'),
 1659            port_override=d.get('port_override'),
 1660            proxy_cluster_id=d.get('proxy_cluster_id'),
 1661            region=d.get('region'),
 1662            role_arn=d.get('role_arn'),
 1663            role_external_id=d.get('role_external_id'),
 1664            secret_store_id=d.get('secret_store_id'),
 1665            subdomain=d.get('subdomain'),
 1666            tags=d.get('tags'),
 1667        )
 1668
 1669
 1670class AWSStore:
 1671    __slots__ = [
 1672        'id',
 1673        'name',
 1674        'region',
 1675        'tags',
 1676    ]
 1677
 1678    def __init__(
 1679        self,
 1680        id=None,
 1681        name=None,
 1682        region=None,
 1683        tags=None,
 1684    ):
 1685        self.id = id if id is not None else ''
 1686        '''
 1687         Unique identifier of the SecretStore.
 1688        '''
 1689        self.name = name if name is not None else ''
 1690        '''
 1691         Unique human-readable name of the SecretStore.
 1692        '''
 1693        self.region = region if region is not None else ''
 1694        '''
 1695         The AWS region to target e.g. us-east-1
 1696        '''
 1697        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 1698        '''
 1699         Tags is a map of key, value pairs.
 1700        '''
 1701
 1702    def __repr__(self):
 1703        return '<sdm.AWSStore ' + \
 1704            'id: ' + repr(self.id) + ' ' +\
 1705            'name: ' + repr(self.name) + ' ' +\
 1706            'region: ' + repr(self.region) + ' ' +\
 1707            'tags: ' + repr(self.tags) + ' ' +\
 1708            '>'
 1709
 1710    def to_dict(self):
 1711        return {
 1712            'id': self.id,
 1713            'name': self.name,
 1714            'region': self.region,
 1715            'tags': self.tags,
 1716        }
 1717
 1718    @classmethod
 1719    def from_dict(cls, d):
 1720        return cls(
 1721            id=d.get('id'),
 1722            name=d.get('name'),
 1723            region=d.get('region'),
 1724            tags=d.get('tags'),
 1725        )
 1726
 1727
 1728class AccessRequest:
 1729    '''
 1730         AccessRequests are requests for access to a resource that may match a Workflow.
 1731    '''
 1732    __slots__ = [
 1733        'account_id',
 1734        'duration',
 1735        'grant_id',
 1736        'id',
 1737        'reason',
 1738        'requestedduration',
 1739        'resource_id',
 1740        'resultduration',
 1741        'start_from',
 1742        'status',
 1743        'status_at',
 1744        'valid_until',
 1745        'workflow_id',
 1746    ]
 1747
 1748    def __init__(
 1749        self,
 1750        account_id=None,
 1751        duration=None,
 1752        grant_id=None,
 1753        id=None,
 1754        reason=None,
 1755        requestedduration=None,
 1756        resource_id=None,
 1757        resultduration=None,
 1758        start_from=None,
 1759        status=None,
 1760        status_at=None,
 1761        valid_until=None,
 1762        workflow_id=None,
 1763    ):
 1764        self.account_id = account_id if account_id is not None else ''
 1765        '''
 1766         The account that initiated the request.
 1767        '''
 1768        self.duration = duration if duration is not None else 0
 1769        '''
 1770         Duration of the access request.
 1771         Deprecated: use requested/result duration instead
 1772        '''
 1773        self.grant_id = grant_id if grant_id is not None else ''
 1774        '''
 1775         The account grant created, if it exists.
 1776        '''
 1777        self.id = id if id is not None else ''
 1778        '''
 1779         The access request id.
 1780        '''
 1781        self.reason = reason if reason is not None else ''
 1782        '''
 1783         The reason the access was requested.
 1784        '''
 1785        self.requestedduration = requestedduration if requestedduration is not None else None
 1786        '''
 1787         The duration that access was requested for, if any.
 1788        '''
 1789        self.resource_id = resource_id if resource_id is not None else ''
 1790        '''
 1791         The resource id.
 1792        '''
 1793        self.resultduration = resultduration if resultduration is not None else None
 1794        '''
 1795         The duration that results from an approved request.
 1796        '''
 1797        self.start_from = start_from if start_from is not None else None
 1798        '''
 1799         The timestamp when the requested access will be granted.
 1800         If this field is not specified it will default to the current time.
 1801        '''
 1802        self.status = status if status is not None else ''
 1803        '''
 1804         The status of the access request.
 1805        '''
 1806        self.status_at = status_at if status_at is not None else None
 1807        '''
 1808         The timestamp when the status changed.
 1809        '''
 1810        self.valid_until = valid_until if valid_until is not None else None
 1811        '''
 1812         The timestamp when the requested access will expire.
 1813        '''
 1814        self.workflow_id = workflow_id if workflow_id is not None else ''
 1815        '''
 1816         The workflow the request bound to.
 1817        '''
 1818
 1819    def __repr__(self):
 1820        return '<sdm.AccessRequest ' + \
 1821            'account_id: ' + repr(self.account_id) + ' ' +\
 1822            'duration: ' + repr(self.duration) + ' ' +\
 1823            'grant_id: ' + repr(self.grant_id) + ' ' +\
 1824            'id: ' + repr(self.id) + ' ' +\
 1825            'reason: ' + repr(self.reason) + ' ' +\
 1826            'requestedduration: ' + repr(self.requestedduration) + ' ' +\
 1827            'resource_id: ' + repr(self.resource_id) + ' ' +\
 1828            'resultduration: ' + repr(self.resultduration) + ' ' +\
 1829            'start_from: ' + repr(self.start_from) + ' ' +\
 1830            'status: ' + repr(self.status) + ' ' +\
 1831            'status_at: ' + repr(self.status_at) + ' ' +\
 1832            'valid_until: ' + repr(self.valid_until) + ' ' +\
 1833            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
 1834            '>'
 1835
 1836    def to_dict(self):
 1837        return {
 1838            'account_id': self.account_id,
 1839            'duration': self.duration,
 1840            'grant_id': self.grant_id,
 1841            'id': self.id,
 1842            'reason': self.reason,
 1843            'requestedduration': self.requestedduration,
 1844            'resource_id': self.resource_id,
 1845            'resultduration': self.resultduration,
 1846            'start_from': self.start_from,
 1847            'status': self.status,
 1848            'status_at': self.status_at,
 1849            'valid_until': self.valid_until,
 1850            'workflow_id': self.workflow_id,
 1851        }
 1852
 1853    @classmethod
 1854    def from_dict(cls, d):
 1855        return cls(
 1856            account_id=d.get('account_id'),
 1857            duration=d.get('duration'),
 1858            grant_id=d.get('grant_id'),
 1859            id=d.get('id'),
 1860            reason=d.get('reason'),
 1861            requestedduration=d.get('requestedduration'),
 1862            resource_id=d.get('resource_id'),
 1863            resultduration=d.get('resultduration'),
 1864            start_from=d.get('start_from'),
 1865            status=d.get('status'),
 1866            status_at=d.get('status_at'),
 1867            valid_until=d.get('valid_until'),
 1868            workflow_id=d.get('workflow_id'),
 1869        )
 1870
 1871
 1872class AccessRequestConfig:
 1873    '''
 1874         AccessRequestConfig holds the information required to request access to a resource
 1875    '''
 1876    __slots__ = [
 1877        'duration',
 1878        'reason',
 1879        'resource_id',
 1880        'start_from',
 1881    ]
 1882
 1883    def __init__(
 1884        self,
 1885        duration=None,
 1886        reason=None,
 1887        resource_id=None,
 1888        start_from=None,
 1889    ):
 1890        self.duration = duration if duration is not None else ''
 1891        '''
 1892         The time access should end, defaults to the next occurance of 5 pm
 1893        '''
 1894        self.reason = reason if reason is not None else ''
 1895        '''
 1896         The reason for access
 1897        '''
 1898        self.resource_id = resource_id if resource_id is not None else ''
 1899        '''
 1900         The resource for which access is being requested
 1901        '''
 1902        self.start_from = start_from if start_from is not None else None
 1903        '''
 1904         The time access should start, defaults to now
 1905        '''
 1906
 1907    def __repr__(self):
 1908        return '<sdm.AccessRequestConfig ' + \
 1909            'duration: ' + repr(self.duration) + ' ' +\
 1910            'reason: ' + repr(self.reason) + ' ' +\
 1911            'resource_id: ' + repr(self.resource_id) + ' ' +\
 1912            'start_from: ' + repr(self.start_from) + ' ' +\
 1913            '>'
 1914
 1915    def to_dict(self):
 1916        return {
 1917            'duration': self.duration,
 1918            'reason': self.reason,
 1919            'resource_id': self.resource_id,
 1920            'start_from': self.start_from,
 1921        }
 1922
 1923    @classmethod
 1924    def from_dict(cls, d):
 1925        return cls(
 1926            duration=d.get('duration'),
 1927            reason=d.get('reason'),
 1928            resource_id=d.get('resource_id'),
 1929            start_from=d.get('start_from'),
 1930        )
 1931
 1932
 1933class AccessRequestEvent:
 1934    '''
 1935         AccessRequestEvents hold information about events related to an access
 1936     request such as creation, approval and denial.
 1937    '''
 1938    __slots__ = [
 1939        'actor_id',
 1940        'id',
 1941        'metadata',
 1942        'request_id',
 1943        'type',
 1944    ]
 1945
 1946    def __init__(
 1947        self,
 1948        actor_id=None,
 1949        id=None,
 1950        metadata=None,
 1951        request_id=None,
 1952        type=None,
 1953    ):
 1954        self.actor_id = actor_id if actor_id is not None else ''
 1955        '''
 1956         The account responsible for the event.
 1957        '''
 1958        self.id = id if id is not None else ''
 1959        '''
 1960         The access request event id.
 1961        '''
 1962        self.metadata = metadata if metadata is not None else ''
 1963        '''
 1964         The metadata about the event
 1965        '''
 1966        self.request_id = request_id if request_id is not None else ''
 1967        '''
 1968         The request that the event is bound to.
 1969        '''
 1970        self.type = type if type is not None else ''
 1971        '''
 1972         The type of event.
 1973        '''
 1974
 1975    def __repr__(self):
 1976        return '<sdm.AccessRequestEvent ' + \
 1977            'actor_id: ' + repr(self.actor_id) + ' ' +\
 1978            'id: ' + repr(self.id) + ' ' +\
 1979            'metadata: ' + repr(self.metadata) + ' ' +\
 1980            'request_id: ' + repr(self.request_id) + ' ' +\
 1981            'type: ' + repr(self.type) + ' ' +\
 1982            '>'
 1983
 1984    def to_dict(self):
 1985        return {
 1986            'actor_id': self.actor_id,
 1987            'id': self.id,
 1988            'metadata': self.metadata,
 1989            'request_id': self.request_id,
 1990            'type': self.type,
 1991        }
 1992
 1993    @classmethod
 1994    def from_dict(cls, d):
 1995        return cls(
 1996            actor_id=d.get('actor_id'),
 1997            id=d.get('id'),
 1998            metadata=d.get('metadata'),
 1999            request_id=d.get('request_id'),
 2000            type=d.get('type'),
 2001        )
 2002
 2003
 2004class AccessRequestEventHistory:
 2005    '''
 2006         AccessRequestEventHistory records the state of a AccessRequest at a given point in time,
 2007     where every change (create, update and delete) to a AccessRequest produces an
 2008     AccessRequestEventHistory record.
 2009    '''
 2010    __slots__ = [
 2011        'access_request_event',
 2012        'activity_id',
 2013        'deleted_at',
 2014        'timestamp',
 2015    ]
 2016
 2017    def __init__(
 2018        self,
 2019        access_request_event=None,
 2020        activity_id=None,
 2021        deleted_at=None,
 2022        timestamp=None,
 2023    ):
 2024        self.access_request_event = access_request_event if access_request_event is not None else None
 2025        '''
 2026         The complete AccessRequestEvent state at this time.
 2027        '''
 2028        self.activity_id = activity_id if activity_id is not None else ''
 2029        '''
 2030         The unique identifier of the Activity that produced this change to the AccessRequest.
 2031         May be empty for some system-initiated updates.
 2032        '''
 2033        self.deleted_at = deleted_at if deleted_at is not None else None
 2034        '''
 2035         If this Workflow was deleted, the time it was deleted.
 2036        '''
 2037        self.timestamp = timestamp if timestamp is not None else None
 2038        '''
 2039         The time at which the AccessRequest state was recorded.
 2040        '''
 2041
 2042    def __repr__(self):
 2043        return '<sdm.AccessRequestEventHistory ' + \
 2044            'access_request_event: ' + repr(self.access_request_event) + ' ' +\
 2045            'activity_id: ' + repr(self.activity_id) + ' ' +\
 2046            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 2047            'timestamp: ' + repr(self.timestamp) + ' ' +\
 2048            '>'
 2049
 2050    def to_dict(self):
 2051        return {
 2052            'access_request_event': self.access_request_event,
 2053            'activity_id': self.activity_id,
 2054            'deleted_at': self.deleted_at,
 2055            'timestamp': self.timestamp,
 2056        }
 2057
 2058    @classmethod
 2059    def from_dict(cls, d):
 2060        return cls(
 2061            access_request_event=d.get('access_request_event'),
 2062            activity_id=d.get('activity_id'),
 2063            deleted_at=d.get('deleted_at'),
 2064            timestamp=d.get('timestamp'),
 2065        )
 2066
 2067
 2068class AccessRequestHistory:
 2069    '''
 2070         AccessRequestHistory records the state of a AccessRequest at a given point in time,
 2071     where every change (create, update and delete) to a AccessRequest produces an
 2072     AccessRequestHistory record.
 2073    '''
 2074    __slots__ = [
 2075        'access_request',
 2076        'activity_id',
 2077        'deleted_at',
 2078        'timestamp',
 2079    ]
 2080
 2081    def __init__(
 2082        self,
 2083        access_request=None,
 2084        activity_id=None,
 2085        deleted_at=None,
 2086        timestamp=None,
 2087    ):
 2088        self.access_request = access_request if access_request is not None else None
 2089        '''
 2090         The complete AccessRequest state at this time.
 2091        '''
 2092        self.activity_id = activity_id if activity_id is not None else ''
 2093        '''
 2094         The unique identifier of the Activity that produced this change to the AccessRequest.
 2095         May be empty for some system-initiated updates.
 2096        '''
 2097        self.deleted_at = deleted_at if deleted_at is not None else None
 2098        '''
 2099         If this Workflow was deleted, the time it was deleted.
 2100        '''
 2101        self.timestamp = timestamp if timestamp is not None else None
 2102        '''
 2103         The time at which the AccessRequest state was recorded.
 2104        '''
 2105
 2106    def __repr__(self):
 2107        return '<sdm.AccessRequestHistory ' + \
 2108            'access_request: ' + repr(self.access_request) + ' ' +\
 2109            'activity_id: ' + repr(self.activity_id) + ' ' +\
 2110            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 2111            'timestamp: ' + repr(self.timestamp) + ' ' +\
 2112            '>'
 2113
 2114    def to_dict(self):
 2115        return {
 2116            'access_request': self.access_request,
 2117            'activity_id': self.activity_id,
 2118            'deleted_at': self.deleted_at,
 2119            'timestamp': self.timestamp,
 2120        }
 2121
 2122    @classmethod
 2123    def from_dict(cls, d):
 2124        return cls(
 2125            access_request=d.get('access_request'),
 2126            activity_id=d.get('activity_id'),
 2127            deleted_at=d.get('deleted_at'),
 2128            timestamp=d.get('timestamp'),
 2129        )
 2130
 2131
 2132class AccessRequestListRequest:
 2133    '''
 2134         AccessRequestListRequest specifies criteria for retrieving a list of
 2135     AccessRequest records
 2136    '''
 2137    __slots__ = [
 2138        'filter',
 2139    ]
 2140
 2141    def __init__(
 2142        self,
 2143        filter=None,
 2144    ):
 2145        self.filter = filter if filter is not None else ''
 2146        '''
 2147         A human-readable filter query string.
 2148        '''
 2149
 2150    def __repr__(self):
 2151        return '<sdm.AccessRequestListRequest ' + \
 2152            'filter: ' + repr(self.filter) + ' ' +\
 2153            '>'
 2154
 2155    def to_dict(self):
 2156        return {
 2157            'filter': self.filter,
 2158        }
 2159
 2160    @classmethod
 2161    def from_dict(cls, d):
 2162        return cls(filter=d.get('filter'), )
 2163
 2164
 2165class AccessRequestListResponse:
 2166    '''
 2167         AccessRequestListResponse returns a list of access requests records that meet
 2168     the criteria of a AccessRequestListRequest.
 2169    '''
 2170    __slots__ = [
 2171        'rate_limit',
 2172    ]
 2173
 2174    def __init__(
 2175        self,
 2176        rate_limit=None,
 2177    ):
 2178        self.rate_limit = rate_limit if rate_limit is not None else None
 2179        '''
 2180         Rate limit information.
 2181        '''
 2182
 2183    def __repr__(self):
 2184        return '<sdm.AccessRequestListResponse ' + \
 2185            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2186            '>'
 2187
 2188    def to_dict(self):
 2189        return {
 2190            'rate_limit': self.rate_limit,
 2191        }
 2192
 2193    @classmethod
 2194    def from_dict(cls, d):
 2195        return cls(rate_limit=d.get('rate_limit'), )
 2196
 2197
 2198class AccountAttachment:
 2199    '''
 2200         AccountAttachments assign an account to a role.
 2201    '''
 2202    __slots__ = [
 2203        'account_id',
 2204        'id',
 2205        'role_id',
 2206    ]
 2207
 2208    def __init__(
 2209        self,
 2210        account_id=None,
 2211        id=None,
 2212        role_id=None,
 2213    ):
 2214        self.account_id = account_id if account_id is not None else ''
 2215        '''
 2216         The id of the account of this AccountAttachment.
 2217        '''
 2218        self.id = id if id is not None else ''
 2219        '''
 2220         Unique identifier of the AccountAttachment.
 2221        '''
 2222        self.role_id = role_id if role_id is not None else ''
 2223        '''
 2224         The id of the attached role of this AccountAttachment.
 2225        '''
 2226
 2227    def __repr__(self):
 2228        return '<sdm.AccountAttachment ' + \
 2229            'account_id: ' + repr(self.account_id) + ' ' +\
 2230            'id: ' + repr(self.id) + ' ' +\
 2231            'role_id: ' + repr(self.role_id) + ' ' +\
 2232            '>'
 2233
 2234    def to_dict(self):
 2235        return {
 2236            'account_id': self.account_id,
 2237            'id': self.id,
 2238            'role_id': self.role_id,
 2239        }
 2240
 2241    @classmethod
 2242    def from_dict(cls, d):
 2243        return cls(
 2244            account_id=d.get('account_id'),
 2245            id=d.get('id'),
 2246            role_id=d.get('role_id'),
 2247        )
 2248
 2249
 2250class AccountAttachmentCreateResponse:
 2251    '''
 2252         AccountAttachmentCreateResponse reports how the AccountAttachments were created in the system.
 2253    '''
 2254    __slots__ = [
 2255        'account_attachment',
 2256        'meta',
 2257        'rate_limit',
 2258    ]
 2259
 2260    def __init__(
 2261        self,
 2262        account_attachment=None,
 2263        meta=None,
 2264        rate_limit=None,
 2265    ):
 2266        self.account_attachment = account_attachment if account_attachment is not None else None
 2267        '''
 2268         The created AccountAttachment.
 2269        '''
 2270        self.meta = meta if meta is not None else None
 2271        '''
 2272         Reserved for future use.
 2273        '''
 2274        self.rate_limit = rate_limit if rate_limit is not None else None
 2275        '''
 2276         Rate limit information.
 2277        '''
 2278
 2279    def __repr__(self):
 2280        return '<sdm.AccountAttachmentCreateResponse ' + \
 2281            'account_attachment: ' + repr(self.account_attachment) + ' ' +\
 2282            'meta: ' + repr(self.meta) + ' ' +\
 2283            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2284            '>'
 2285
 2286    def to_dict(self):
 2287        return {
 2288            'account_attachment': self.account_attachment,
 2289            'meta': self.meta,
 2290            'rate_limit': self.rate_limit,
 2291        }
 2292
 2293    @classmethod
 2294    def from_dict(cls, d):
 2295        return cls(
 2296            account_attachment=d.get('account_attachment'),
 2297            meta=d.get('meta'),
 2298            rate_limit=d.get('rate_limit'),
 2299        )
 2300
 2301
 2302class AccountAttachmentDeleteResponse:
 2303    '''
 2304         AccountAttachmentDeleteResponse returns information about a AccountAttachment that was deleted.
 2305    '''
 2306    __slots__ = [
 2307        'meta',
 2308        'rate_limit',
 2309    ]
 2310
 2311    def __init__(
 2312        self,
 2313        meta=None,
 2314        rate_limit=None,
 2315    ):
 2316        self.meta = meta if meta is not None else None
 2317        '''
 2318         Reserved for future use.
 2319        '''
 2320        self.rate_limit = rate_limit if rate_limit is not None else None
 2321        '''
 2322         Rate limit information.
 2323        '''
 2324
 2325    def __repr__(self):
 2326        return '<sdm.AccountAttachmentDeleteResponse ' + \
 2327            'meta: ' + repr(self.meta) + ' ' +\
 2328            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2329            '>'
 2330
 2331    def to_dict(self):
 2332        return {
 2333            'meta': self.meta,
 2334            'rate_limit': self.rate_limit,
 2335        }
 2336
 2337    @classmethod
 2338    def from_dict(cls, d):
 2339        return cls(
 2340            meta=d.get('meta'),
 2341            rate_limit=d.get('rate_limit'),
 2342        )
 2343
 2344
 2345class AccountAttachmentGetResponse:
 2346    '''
 2347         AccountAttachmentGetResponse returns a requested AccountAttachment.
 2348    '''
 2349    __slots__ = [
 2350        'account_attachment',
 2351        'meta',
 2352        'rate_limit',
 2353    ]
 2354
 2355    def __init__(
 2356        self,
 2357        account_attachment=None,
 2358        meta=None,
 2359        rate_limit=None,
 2360    ):
 2361        self.account_attachment = account_attachment if account_attachment is not None else None
 2362        '''
 2363         The requested AccountAttachment.
 2364        '''
 2365        self.meta = meta if meta is not None else None
 2366        '''
 2367         Reserved for future use.
 2368        '''
 2369        self.rate_limit = rate_limit if rate_limit is not None else None
 2370        '''
 2371         Rate limit information.
 2372        '''
 2373
 2374    def __repr__(self):
 2375        return '<sdm.AccountAttachmentGetResponse ' + \
 2376            'account_attachment: ' + repr(self.account_attachment) + ' ' +\
 2377            'meta: ' + repr(self.meta) + ' ' +\
 2378            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2379            '>'
 2380
 2381    def to_dict(self):
 2382        return {
 2383            'account_attachment': self.account_attachment,
 2384            'meta': self.meta,
 2385            'rate_limit': self.rate_limit,
 2386        }
 2387
 2388    @classmethod
 2389    def from_dict(cls, d):
 2390        return cls(
 2391            account_attachment=d.get('account_attachment'),
 2392            meta=d.get('meta'),
 2393            rate_limit=d.get('rate_limit'),
 2394        )
 2395
 2396
 2397class AccountAttachmentHistory:
 2398    '''
 2399         AccountAttachmentHistory records the state of an AccountAttachment at a given point in time,
 2400     where every change (create or delete) to an AccountAttachment produces an
 2401     AccountAttachmentHistory record.
 2402    '''
 2403    __slots__ = [
 2404        'account_attachment',
 2405        'activity_id',
 2406        'deleted_at',
 2407        'timestamp',
 2408    ]
 2409
 2410    def __init__(
 2411        self,
 2412        account_attachment=None,
 2413        activity_id=None,
 2414        deleted_at=None,
 2415        timestamp=None,
 2416    ):
 2417        self.account_attachment = account_attachment if account_attachment is not None else None
 2418        '''
 2419         The complete AccountAttachment state at this time.
 2420        '''
 2421        self.activity_id = activity_id if activity_id is not None else ''
 2422        '''
 2423         The unique identifier of the Activity that produced this change to the AccountAttachment.
 2424         May be empty for some system-initiated updates.
 2425        '''
 2426        self.deleted_at = deleted_at if deleted_at is not None else None
 2427        '''
 2428         If this AccountAttachment was deleted, the time it was deleted.
 2429        '''
 2430        self.timestamp = timestamp if timestamp is not None else None
 2431        '''
 2432         The time at which the AccountAttachment state was recorded.
 2433        '''
 2434
 2435    def __repr__(self):
 2436        return '<sdm.AccountAttachmentHistory ' + \
 2437            'account_attachment: ' + repr(self.account_attachment) + ' ' +\
 2438            'activity_id: ' + repr(self.activity_id) + ' ' +\
 2439            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 2440            'timestamp: ' + repr(self.timestamp) + ' ' +\
 2441            '>'
 2442
 2443    def to_dict(self):
 2444        return {
 2445            'account_attachment': self.account_attachment,
 2446            'activity_id': self.activity_id,
 2447            'deleted_at': self.deleted_at,
 2448            'timestamp': self.timestamp,
 2449        }
 2450
 2451    @classmethod
 2452    def from_dict(cls, d):
 2453        return cls(
 2454            account_attachment=d.get('account_attachment'),
 2455            activity_id=d.get('activity_id'),
 2456            deleted_at=d.get('deleted_at'),
 2457            timestamp=d.get('timestamp'),
 2458        )
 2459
 2460
 2461class AccountCreateResponse:
 2462    '''
 2463         AccountCreateResponse reports how the Accounts were created in the system.
 2464    '''
 2465    __slots__ = [
 2466        'access_key',
 2467        'account',
 2468        'meta',
 2469        'rate_limit',
 2470        'secret_key',
 2471        'token',
 2472    ]
 2473
 2474    def __init__(
 2475        self,
 2476        access_key=None,
 2477        account=None,
 2478        meta=None,
 2479        rate_limit=None,
 2480        secret_key=None,
 2481        token=None,
 2482    ):
 2483        self.access_key = access_key if access_key is not None else ''
 2484        '''
 2485         ID part of the API key.
 2486        '''
 2487        self.account = account if account is not None else None
 2488        '''
 2489         The created Account.
 2490        '''
 2491        self.meta = meta if meta is not None else None
 2492        '''
 2493         Reserved for future use.
 2494        '''
 2495        self.rate_limit = rate_limit if rate_limit is not None else None
 2496        '''
 2497         Rate limit information.
 2498        '''
 2499        self.secret_key = secret_key if secret_key is not None else ''
 2500        '''
 2501         Secret part of the API key.
 2502        '''
 2503        self.token = token if token is not None else ''
 2504        '''
 2505         The auth token generated for the Account. The Account will use this token to
 2506         authenticate with the strongDM API.
 2507        '''
 2508
 2509    def __repr__(self):
 2510        return '<sdm.AccountCreateResponse ' + \
 2511            'access_key: ' + repr(self.access_key) + ' ' +\
 2512            'account: ' + repr(self.account) + ' ' +\
 2513            'meta: ' + repr(self.meta) + ' ' +\
 2514            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2515            'secret_key: ' + repr(self.secret_key) + ' ' +\
 2516            'token: ' + repr(self.token) + ' ' +\
 2517            '>'
 2518
 2519    def to_dict(self):
 2520        return {
 2521            'access_key': self.access_key,
 2522            'account': self.account,
 2523            'meta': self.meta,
 2524            'rate_limit': self.rate_limit,
 2525            'secret_key': self.secret_key,
 2526            'token': self.token,
 2527        }
 2528
 2529    @classmethod
 2530    def from_dict(cls, d):
 2531        return cls(
 2532            access_key=d.get('access_key'),
 2533            account=d.get('account'),
 2534            meta=d.get('meta'),
 2535            rate_limit=d.get('rate_limit'),
 2536            secret_key=d.get('secret_key'),
 2537            token=d.get('token'),
 2538        )
 2539
 2540
 2541class AccountDeleteResponse:
 2542    '''
 2543         AccountDeleteResponse returns information about a Account that was deleted.
 2544    '''
 2545    __slots__ = [
 2546        'meta',
 2547        'rate_limit',
 2548    ]
 2549
 2550    def __init__(
 2551        self,
 2552        meta=None,
 2553        rate_limit=None,
 2554    ):
 2555        self.meta = meta if meta is not None else None
 2556        '''
 2557         Reserved for future use.
 2558        '''
 2559        self.rate_limit = rate_limit if rate_limit is not None else None
 2560        '''
 2561         Rate limit information.
 2562        '''
 2563
 2564    def __repr__(self):
 2565        return '<sdm.AccountDeleteResponse ' + \
 2566            'meta: ' + repr(self.meta) + ' ' +\
 2567            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2568            '>'
 2569
 2570    def to_dict(self):
 2571        return {
 2572            'meta': self.meta,
 2573            'rate_limit': self.rate_limit,
 2574        }
 2575
 2576    @classmethod
 2577    def from_dict(cls, d):
 2578        return cls(
 2579            meta=d.get('meta'),
 2580            rate_limit=d.get('rate_limit'),
 2581        )
 2582
 2583
 2584class AccountGetResponse:
 2585    '''
 2586         AccountGetResponse returns a requested Account.
 2587    '''
 2588    __slots__ = [
 2589        'account',
 2590        'meta',
 2591        'rate_limit',
 2592    ]
 2593
 2594    def __init__(
 2595        self,
 2596        account=None,
 2597        meta=None,
 2598        rate_limit=None,
 2599    ):
 2600        self.account = account if account is not None else None
 2601        '''
 2602         The requested Account.
 2603        '''
 2604        self.meta = meta if meta is not None else None
 2605        '''
 2606         Reserved for future use.
 2607        '''
 2608        self.rate_limit = rate_limit if rate_limit is not None else None
 2609        '''
 2610         Rate limit information.
 2611        '''
 2612
 2613    def __repr__(self):
 2614        return '<sdm.AccountGetResponse ' + \
 2615            'account: ' + repr(self.account) + ' ' +\
 2616            'meta: ' + repr(self.meta) + ' ' +\
 2617            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2618            '>'
 2619
 2620    def to_dict(self):
 2621        return {
 2622            'account': self.account,
 2623            'meta': self.meta,
 2624            'rate_limit': self.rate_limit,
 2625        }
 2626
 2627    @classmethod
 2628    def from_dict(cls, d):
 2629        return cls(
 2630            account=d.get('account'),
 2631            meta=d.get('meta'),
 2632            rate_limit=d.get('rate_limit'),
 2633        )
 2634
 2635
 2636class AccountGrant:
 2637    '''
 2638         AccountGrants connect a resource directly to an account, giving the account the permission to connect to that resource.
 2639    '''
 2640    __slots__ = [
 2641        'access_rule',
 2642        'account_id',
 2643        'id',
 2644        'resource_id',
 2645        'start_from',
 2646        'valid_until',
 2647    ]
 2648
 2649    def __init__(
 2650        self,
 2651        access_rule=None,
 2652        account_id=None,
 2653        id=None,
 2654        resource_id=None,
 2655        start_from=None,
 2656        valid_until=None,
 2657    ):
 2658        self.access_rule = access_rule if access_rule is not None else _porcelain_zero_value_access_rule(
 2659        )
 2660        '''
 2661         The access rule associated with this AccountGrant.
 2662        '''
 2663        self.account_id = account_id if account_id is not None else ''
 2664        '''
 2665         The account ID of this AccountGrant.
 2666        '''
 2667        self.id = id if id is not None else ''
 2668        '''
 2669         Unique identifier of the AccountGrant.
 2670        '''
 2671        self.resource_id = resource_id if resource_id is not None else ''
 2672        '''
 2673         The resource ID of this AccountGrant.
 2674        '''
 2675        self.start_from = start_from if start_from is not None else None
 2676        '''
 2677         The timestamp when the resource will be granted. When creating an AccountGrant, if this field is not specified, it will default to the current time.
 2678        '''
 2679        self.valid_until = valid_until if valid_until is not None else None
 2680        '''
 2681         The timestamp when the resource grant will expire.
 2682        '''
 2683
 2684    def __repr__(self):
 2685        return '<sdm.AccountGrant ' + \
 2686            'access_rule: ' + repr(self.access_rule) + ' ' +\
 2687            'account_id: ' + repr(self.account_id) + ' ' +\
 2688            'id: ' + repr(self.id) + ' ' +\
 2689            'resource_id: ' + repr(self.resource_id) + ' ' +\
 2690            'start_from: ' + repr(self.start_from) + ' ' +\
 2691            'valid_until: ' + repr(self.valid_until) + ' ' +\
 2692            '>'
 2693
 2694    def to_dict(self):
 2695        return {
 2696            'access_rule': self.access_rule,
 2697            'account_id': self.account_id,
 2698            'id': self.id,
 2699            'resource_id': self.resource_id,
 2700            'start_from': self.start_from,
 2701            'valid_until': self.valid_until,
 2702        }
 2703
 2704    @classmethod
 2705    def from_dict(cls, d):
 2706        return cls(
 2707            access_rule=d.get('access_rule'),
 2708            account_id=d.get('account_id'),
 2709            id=d.get('id'),
 2710            resource_id=d.get('resource_id'),
 2711            start_from=d.get('start_from'),
 2712            valid_until=d.get('valid_until'),
 2713        )
 2714
 2715
 2716class AccountGrantCreateResponse:
 2717    '''
 2718         AccountGrantCreateResponse reports how the AccountGrants were created in the system.
 2719    '''
 2720    __slots__ = [
 2721        'account_grant',
 2722        'meta',
 2723        'rate_limit',
 2724    ]
 2725
 2726    def __init__(
 2727        self,
 2728        account_grant=None,
 2729        meta=None,
 2730        rate_limit=None,
 2731    ):
 2732        self.account_grant = account_grant if account_grant is not None else None
 2733        '''
 2734         The created AccountGrant.
 2735        '''
 2736        self.meta = meta if meta is not None else None
 2737        '''
 2738         Reserved for future use.
 2739        '''
 2740        self.rate_limit = rate_limit if rate_limit is not None else None
 2741        '''
 2742         Rate limit information.
 2743        '''
 2744
 2745    def __repr__(self):
 2746        return '<sdm.AccountGrantCreateResponse ' + \
 2747            'account_grant: ' + repr(self.account_grant) + ' ' +\
 2748            'meta: ' + repr(self.meta) + ' ' +\
 2749            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2750            '>'
 2751
 2752    def to_dict(self):
 2753        return {
 2754            'account_grant': self.account_grant,
 2755            'meta': self.meta,
 2756            'rate_limit': self.rate_limit,
 2757        }
 2758
 2759    @classmethod
 2760    def from_dict(cls, d):
 2761        return cls(
 2762            account_grant=d.get('account_grant'),
 2763            meta=d.get('meta'),
 2764            rate_limit=d.get('rate_limit'),
 2765        )
 2766
 2767
 2768class AccountGrantDeleteResponse:
 2769    '''
 2770         AccountGrantDeleteResponse returns information about a AccountGrant that was deleted.
 2771    '''
 2772    __slots__ = [
 2773        'meta',
 2774        'rate_limit',
 2775    ]
 2776
 2777    def __init__(
 2778        self,
 2779        meta=None,
 2780        rate_limit=None,
 2781    ):
 2782        self.meta = meta if meta is not None else None
 2783        '''
 2784         Reserved for future use.
 2785        '''
 2786        self.rate_limit = rate_limit if rate_limit is not None else None
 2787        '''
 2788         Rate limit information.
 2789        '''
 2790
 2791    def __repr__(self):
 2792        return '<sdm.AccountGrantDeleteResponse ' + \
 2793            'meta: ' + repr(self.meta) + ' ' +\
 2794            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2795            '>'
 2796
 2797    def to_dict(self):
 2798        return {
 2799            'meta': self.meta,
 2800            'rate_limit': self.rate_limit,
 2801        }
 2802
 2803    @classmethod
 2804    def from_dict(cls, d):
 2805        return cls(
 2806            meta=d.get('meta'),
 2807            rate_limit=d.get('rate_limit'),
 2808        )
 2809
 2810
 2811class AccountGrantGetResponse:
 2812    '''
 2813         AccountGrantGetResponse returns a requested AccountGrant.
 2814    '''
 2815    __slots__ = [
 2816        'account_grant',
 2817        'meta',
 2818        'rate_limit',
 2819    ]
 2820
 2821    def __init__(
 2822        self,
 2823        account_grant=None,
 2824        meta=None,
 2825        rate_limit=None,
 2826    ):
 2827        self.account_grant = account_grant if account_grant is not None else None
 2828        '''
 2829         The requested AccountGrant.
 2830        '''
 2831        self.meta = meta if meta is not None else None
 2832        '''
 2833         Reserved for future use.
 2834        '''
 2835        self.rate_limit = rate_limit if rate_limit is not None else None
 2836        '''
 2837         Rate limit information.
 2838        '''
 2839
 2840    def __repr__(self):
 2841        return '<sdm.AccountGrantGetResponse ' + \
 2842            'account_grant: ' + repr(self.account_grant) + ' ' +\
 2843            'meta: ' + repr(self.meta) + ' ' +\
 2844            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2845            '>'
 2846
 2847    def to_dict(self):
 2848        return {
 2849            'account_grant': self.account_grant,
 2850            'meta': self.meta,
 2851            'rate_limit': self.rate_limit,
 2852        }
 2853
 2854    @classmethod
 2855    def from_dict(cls, d):
 2856        return cls(
 2857            account_grant=d.get('account_grant'),
 2858            meta=d.get('meta'),
 2859            rate_limit=d.get('rate_limit'),
 2860        )
 2861
 2862
 2863class AccountGrantHistory:
 2864    '''
 2865         AccountGrantHistory records the state of an AccountGrant at a given point in time,
 2866     where every change (create or delete) to an AccountGrant produces an
 2867     AccountGrantHistory record.
 2868    '''
 2869    __slots__ = [
 2870        'account_grant',
 2871        'activity_id',
 2872        'deleted_at',
 2873        'timestamp',
 2874    ]
 2875
 2876    def __init__(
 2877        self,
 2878        account_grant=None,
 2879        activity_id=None,
 2880        deleted_at=None,
 2881        timestamp=None,
 2882    ):
 2883        self.account_grant = account_grant if account_grant is not None else None
 2884        '''
 2885         The complete AccountGrant state at this time.
 2886        '''
 2887        self.activity_id = activity_id if activity_id is not None else ''
 2888        '''
 2889         The unique identifier of the Activity that produced this change to the AccountGrant.
 2890         May be empty for some system-initiated updates.
 2891        '''
 2892        self.deleted_at = deleted_at if deleted_at is not None else None
 2893        '''
 2894         If this AccountGrant was deleted, the time it was deleted.
 2895        '''
 2896        self.timestamp = timestamp if timestamp is not None else None
 2897        '''
 2898         The time at which the AccountGrant state was recorded.
 2899        '''
 2900
 2901    def __repr__(self):
 2902        return '<sdm.AccountGrantHistory ' + \
 2903            'account_grant: ' + repr(self.account_grant) + ' ' +\
 2904            'activity_id: ' + repr(self.activity_id) + ' ' +\
 2905            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 2906            'timestamp: ' + repr(self.timestamp) + ' ' +\
 2907            '>'
 2908
 2909    def to_dict(self):
 2910        return {
 2911            'account_grant': self.account_grant,
 2912            'activity_id': self.activity_id,
 2913            'deleted_at': self.deleted_at,
 2914            'timestamp': self.timestamp,
 2915        }
 2916
 2917    @classmethod
 2918    def from_dict(cls, d):
 2919        return cls(
 2920            account_grant=d.get('account_grant'),
 2921            activity_id=d.get('activity_id'),
 2922            deleted_at=d.get('deleted_at'),
 2923            timestamp=d.get('timestamp'),
 2924        )
 2925
 2926
 2927class AccountHistory:
 2928    '''
 2929         AccountHistory records the state of an Account at a given point in time,
 2930     where every change (create, update and delete) to an Account produces an
 2931     AccountHistory record.
 2932    '''
 2933    __slots__ = [
 2934        'account',
 2935        'activity_id',
 2936        'deleted_at',
 2937        'timestamp',
 2938    ]
 2939
 2940    def __init__(
 2941        self,
 2942        account=None,
 2943        activity_id=None,
 2944        deleted_at=None,
 2945        timestamp=None,
 2946    ):
 2947        self.account = account if account is not None else None
 2948        '''
 2949         The complete Account state at this time.
 2950        '''
 2951        self.activity_id = activity_id if activity_id is not None else ''
 2952        '''
 2953         The unique identifier of the Activity that produced this change to the Account.
 2954         May be empty for some system-initiated updates.
 2955        '''
 2956        self.deleted_at = deleted_at if deleted_at is not None else None
 2957        '''
 2958         If this Account was deleted, the time it was deleted.
 2959        '''
 2960        self.timestamp = timestamp if timestamp is not None else None
 2961        '''
 2962         The time at which the Account state was recorded.
 2963        '''
 2964
 2965    def __repr__(self):
 2966        return '<sdm.AccountHistory ' + \
 2967            'account: ' + repr(self.account) + ' ' +\
 2968            'activity_id: ' + repr(self.activity_id) + ' ' +\
 2969            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 2970            'timestamp: ' + repr(self.timestamp) + ' ' +\
 2971            '>'
 2972
 2973    def to_dict(self):
 2974        return {
 2975            'account': self.account,
 2976            'activity_id': self.activity_id,
 2977            'deleted_at': self.deleted_at,
 2978            'timestamp': self.timestamp,
 2979        }
 2980
 2981    @classmethod
 2982    def from_dict(cls, d):
 2983        return cls(
 2984            account=d.get('account'),
 2985            activity_id=d.get('activity_id'),
 2986            deleted_at=d.get('deleted_at'),
 2987            timestamp=d.get('timestamp'),
 2988        )
 2989
 2990
 2991class AccountPermission:
 2992    '''
 2993         AccountPermission represents an individual API action available to an account.
 2994    '''
 2995    __slots__ = [
 2996        'account_id',
 2997        'granted_at',
 2998        'permission',
 2999        'scope',
 3000        'scoped_id',
 3001    ]
 3002
 3003    def __init__(
 3004        self,
 3005        account_id=None,
 3006        granted_at=None,
 3007        permission=None,
 3008        scope=None,
 3009        scoped_id=None,
 3010    ):
 3011        self.account_id = account_id if account_id is not None else ''
 3012        '''
 3013         The unique identifier of the Account this permission belongs to.
 3014        '''
 3015        self.granted_at = granted_at if granted_at is not None else None
 3016        '''
 3017         The most recent time at which the permission was granted. If a permission was
 3018         granted, revoked, and granted again, this will reflect the later time.
 3019        '''
 3020        self.permission = permission if permission is not None else ''
 3021        '''
 3022         The value of this permission, split into vertical and action, one of the Permission constants.
 3023        '''
 3024        self.scope = scope if scope is not None else ''
 3025        '''
 3026         The scope of this permission. A global scope means this action can be taken
 3027         on any entity; otherwise the action can only be taken on or in the scope of
 3028         the scoped id.
 3029        '''
 3030        self.scoped_id = scoped_id if scoped_id is not None else ''
 3031        '''
 3032         The ID to which or in whose context this operation is permitted. e.g. The ID of a
 3033         role that a team leader has the abillity to remove and add accounts to, or the
 3034         ID of a resource that a user has the permission to connect to. If Scope is global,
 3035         scoped id is not populated.
 3036        '''
 3037
 3038    def __repr__(self):
 3039        return '<sdm.AccountPermission ' + \
 3040            'account_id: ' + repr(self.account_id) + ' ' +\
 3041            'granted_at: ' + repr(self.granted_at) + ' ' +\
 3042            'permission: ' + repr(self.permission) + ' ' +\
 3043            'scope: ' + repr(self.scope) + ' ' +\
 3044            'scoped_id: ' + repr(self.scoped_id) + ' ' +\
 3045            '>'
 3046
 3047    def to_dict(self):
 3048        return {
 3049            'account_id': self.account_id,
 3050            'granted_at': self.granted_at,
 3051            'permission': self.permission,
 3052            'scope': self.scope,
 3053            'scoped_id': self.scoped_id,
 3054        }
 3055
 3056    @classmethod
 3057    def from_dict(cls, d):
 3058        return cls(
 3059            account_id=d.get('account_id'),
 3060            granted_at=d.get('granted_at'),
 3061            permission=d.get('permission'),
 3062            scope=d.get('scope'),
 3063            scoped_id=d.get('scoped_id'),
 3064        )
 3065
 3066
 3067class AccountResource:
 3068    '''
 3069         AccountResource represents an individual access grant of a Account to a Resource.
 3070    '''
 3071    __slots__ = [
 3072        'account_grant_id',
 3073        'account_id',
 3074        'created_at',
 3075        'expires_at',
 3076        'granted_at',
 3077        'resource_id',
 3078        'role_id',
 3079    ]
 3080
 3081    def __init__(
 3082        self,
 3083        account_grant_id=None,
 3084        account_id=None,
 3085        created_at=None,
 3086        expires_at=None,
 3087        granted_at=None,
 3088        resource_id=None,
 3089        role_id=None,
 3090    ):
 3091        self.account_grant_id = account_grant_id if account_grant_id is not None else ''
 3092        '''
 3093         The unique identifier of the AccountGrant through which the Account was granted access to the Resource.
 3094         If empty, access was not granted through an AccountGrant.
 3095        '''
 3096        self.account_id = account_id if account_id is not None else ''
 3097        '''
 3098         The unique identifier of the Account to which access is granted.
 3099        '''
 3100        self.created_at = created_at if created_at is not None else None
 3101        '''
 3102         The time this grant was created, distinct from 'granted at' in the case where access is scheduled
 3103         for the future. If access was granted, revoked, and granted again, this will reflect the later creation time.
 3104        '''
 3105        self.expires_at = expires_at if expires_at is not None else None
 3106        '''
 3107         The time at which access will expire. If empty, this access has no expiration.
 3108        '''
 3109        self.granted_at = granted_at if granted_at is not None else None
 3110        '''
 3111         The most recent time at which access was granted. If access was granted,
 3112         revoked, and granted again, this will reflect the later time.
 3113        '''
 3114        self.resource_id = resource_id if resource_id is not None else ''
 3115        '''
 3116         The unique identifier of the Resource to which access is granted.
 3117        '''
 3118        self.role_id = role_id if role_id is not None else ''
 3119        '''
 3120         The unique identifier of the Role through which the Account was granted access to the Resource.
 3121         If empty, access was not granted through an AccountAttachment to a Role.
 3122        '''
 3123
 3124    def __repr__(self):
 3125        return '<sdm.AccountResource ' + \
 3126            'account_grant_id: ' + repr(self.account_grant_id) + ' ' +\
 3127            'account_id: ' + repr(self.account_id) + ' ' +\
 3128            'created_at: ' + repr(self.created_at) + ' ' +\
 3129            'expires_at: ' + repr(self.expires_at) + ' ' +\
 3130            'granted_at: ' + repr(self.granted_at) + ' ' +\
 3131            'resource_id: ' + repr(self.resource_id) + ' ' +\
 3132            'role_id: ' + repr(self.role_id) + ' ' +\
 3133            '>'
 3134
 3135    def to_dict(self):
 3136        return {
 3137            'account_grant_id': self.account_grant_id,
 3138            'account_id': self.account_id,
 3139            'created_at': self.created_at,
 3140            'expires_at': self.expires_at,
 3141            'granted_at': self.granted_at,
 3142            'resource_id': self.resource_id,
 3143            'role_id': self.role_id,
 3144        }
 3145
 3146    @classmethod
 3147    def from_dict(cls, d):
 3148        return cls(
 3149            account_grant_id=d.get('account_grant_id'),
 3150            account_id=d.get('account_id'),
 3151            created_at=d.get('created_at'),
 3152            expires_at=d.get('expires_at'),
 3153            granted_at=d.get('granted_at'),
 3154            resource_id=d.get('resource_id'),
 3155            role_id=d.get('role_id'),
 3156        )
 3157
 3158
 3159class AccountResourceHistory:
 3160    '''
 3161         AccountResourceHistory records the state of a AccountResource at a given point in time,
 3162     where every change (create or delete) to a AccountResource produces an
 3163     AccountResourceHistory record.
 3164    '''
 3165    __slots__ = [
 3166        'account_resource',
 3167        'activity_id',
 3168        'deleted_at',
 3169        'timestamp',
 3170    ]
 3171
 3172    def __init__(
 3173        self,
 3174        account_resource=None,
 3175        activity_id=None,
 3176        deleted_at=None,
 3177        timestamp=None,
 3178    ):
 3179        self.account_resource = account_resource if account_resource is not None else None
 3180        '''
 3181         The complete AccountResource state at this time.
 3182        '''
 3183        self.activity_id = activity_id if activity_id is not None else ''
 3184        '''
 3185         The unique identifier of the Activity that produced this change to the AccountResource.
 3186         May be empty for some system-initiated updates.
 3187        '''
 3188        self.deleted_at = deleted_at if deleted_at is not None else None
 3189        '''
 3190         If this AccountResource was deleted, the time it was deleted.
 3191        '''
 3192        self.timestamp = timestamp if timestamp is not None else None
 3193        '''
 3194         The time at which the AccountResource state was recorded.
 3195        '''
 3196
 3197    def __repr__(self):
 3198        return '<sdm.AccountResourceHistory ' + \
 3199            'account_resource: ' + repr(self.account_resource) + ' ' +\
 3200            'activity_id: ' + repr(self.activity_id) + ' ' +\
 3201            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 3202            'timestamp: ' + repr(self.timestamp) + ' ' +\
 3203            '>'
 3204
 3205    def to_dict(self):
 3206        return {
 3207            'account_resource': self.account_resource,
 3208            'activity_id': self.activity_id,
 3209            'deleted_at': self.deleted_at,
 3210            'timestamp': self.timestamp,
 3211        }
 3212
 3213    @classmethod
 3214    def from_dict(cls, d):
 3215        return cls(
 3216            account_resource=d.get('account_resource'),
 3217            activity_id=d.get('activity_id'),
 3218            deleted_at=d.get('deleted_at'),
 3219            timestamp=d.get('timestamp'),
 3220        )
 3221
 3222
 3223class AccountUpdateResponse:
 3224    '''
 3225         AccountUpdateResponse returns the fields of a Account after it has been updated by
 3226     a AccountUpdateRequest.
 3227    '''
 3228    __slots__ = [
 3229        'account',
 3230        'meta',
 3231        'rate_limit',
 3232    ]
 3233
 3234    def __init__(
 3235        self,
 3236        account=None,
 3237        meta=None,
 3238        rate_limit=None,
 3239    ):
 3240        self.account = account if account is not None else None
 3241        '''
 3242         The updated Account.
 3243        '''
 3244        self.meta = meta if meta is not None else None
 3245        '''
 3246         Reserved for future use.
 3247        '''
 3248        self.rate_limit = rate_limit if rate_limit is not None else None
 3249        '''
 3250         Rate limit information.
 3251        '''
 3252
 3253    def __repr__(self):
 3254        return '<sdm.AccountUpdateResponse ' + \
 3255            'account: ' + repr(self.account) + ' ' +\
 3256            'meta: ' + repr(self.meta) + ' ' +\
 3257            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 3258            '>'
 3259
 3260    def to_dict(self):
 3261        return {
 3262            'account': self.account,
 3263            'meta': self.meta,
 3264            'rate_limit': self.rate_limit,
 3265        }
 3266
 3267    @classmethod
 3268    def from_dict(cls, d):
 3269        return cls(
 3270            account=d.get('account'),
 3271            meta=d.get('meta'),
 3272            rate_limit=d.get('rate_limit'),
 3273        )
 3274
 3275
 3276class ActiveDirectoryEngine:
 3277    '''
 3278    ActiveDirectoryEngine is currently unstable, and its API may change, or it may be removed,
 3279    without a major version bump.
 3280    '''
 3281    __slots__ = [
 3282        'after_read_ttl',
 3283        'binddn',
 3284        'bindpass',
 3285        'certificate',
 3286        'connection_timeout',
 3287        'do_not_validate_timestamps',
 3288        'id',
 3289        'insecure_tls',
 3290        'key_rotation_interval_days',
 3291        'max_backoff_duration',
 3292        'name',
 3293        'policy',
 3294        'public_key',
 3295        'request_timeout',
 3296        'secret_store_id',
 3297        'secret_store_root_path',
 3298        'start_tls',
 3299        'tags',
 3300        'ttl',
 3301        'upndomain',
 3302        'url',
 3303        'userdn',
 3304    ]
 3305
 3306    def __init__(
 3307        self,
 3308        after_read_ttl=None,
 3309        binddn=None,
 3310        bindpass=None,
 3311        certificate=None,
 3312        connection_timeout=None,
 3313        do_not_validate_timestamps=None,
 3314        id=None,
 3315        insecure_tls=None,
 3316        key_rotation_interval_days=None,
 3317        max_backoff_duration=None,
 3318        name=None,
 3319        policy=None,
 3320        public_key=None,
 3321        request_timeout=None,
 3322        secret_store_id=None,
 3323        secret_store_root_path=None,
 3324        start_tls=None,
 3325        tags=None,
 3326        ttl=None,
 3327        upndomain=None,
 3328        url=None,
 3329        userdn=None,
 3330    ):
 3331        self.after_read_ttl = after_read_ttl if after_read_ttl is not None else None
 3332        '''
 3333         The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated.
 3334        '''
 3335        self.binddn = binddn if binddn is not None else ''
 3336        '''
 3337         Distinguished name of object to bind when performing user and group search. Example: cn=vault,ou=Users,dc=example,dc=com
 3338        '''
 3339        self.bindpass = bindpass if bindpass is not None else ''
 3340        '''
 3341         Password to use along with binddn when performing user search.
 3342        '''
 3343        self.certificate = certificate if certificate is not None else ''
 3344        '''
 3345         CA certificate to use when verifying LDAP server certificate, must be x509 PEM encoded.
 3346        '''
 3347        self.connection_timeout = connection_timeout if connection_timeout is not None else 0
 3348        '''
 3349         Timeout, in seconds, when attempting to connect to the LDAP server before trying the next URL in the configuration.
 3350        '''
 3351        self.do_not_validate_timestamps = do_not_validate_timestamps if do_not_validate_timestamps is not None else False
 3352        '''
 3353         If set to true this will prevent password change timestamp validation in Active Directory when validating credentials
 3354        '''
 3355        self.id = id if id is not None else ''
 3356        '''
 3357         Unique identifier of the Secret Engine.
 3358        '''
 3359        self.insecure_tls = insecure_tls if insecure_tls is not None else False
 3360        '''
 3361         If true, skips LDAP server SSL certificate verification - insecure, use with caution!
 3362        '''
 3363        self.key_rotation_interval_days = key_rotation_interval_days if key_rotation_interval_days is not None else 0
 3364        '''
 3365         An interval of public/private key rotation for secret engine in days
 3366        '''
 3367        self.max_backoff_duration = max_backoff_duration if max_backoff_duration is not None else None
 3368        '''
 3369         The maximum retry duration in case of automatic failure.
 3370         On failed ttl rotation attempt it will be retried in an increasing intervals until it reaches max_backoff_duration
 3371        '''
 3372        self.name = name if name is not None else ''
 3373        '''
 3374         Unique human-readable name of the Secret Engine.
 3375        '''
 3376        self.policy = policy if policy is not None else None
 3377        '''
 3378         Policy for password creation
 3379        '''
 3380        self.public_key = public_key if public_key is not None else b''
 3381        '''
 3382         Public key linked with a secret engine
 3383        '''
 3384        self.request_timeout = request_timeout if request_timeout is not None else 0
 3385        '''
 3386         Timeout, in seconds, for the connection when making requests against the server before returning back an error.
 3387        '''
 3388        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 3389        '''
 3390         Backing secret store identifier
 3391        '''
 3392        self.secret_store_root_path = secret_store_root_path if secret_store_root_path is not None else ''
 3393        '''
 3394         Backing Secret Store root path where managed secrets are going to be stored
 3395        '''
 3396        self.start_tls = start_tls if start_tls is not None else False
 3397        '''
 3398         If true, issues a StartTLS command after establishing an unencrypted connection.
 3399        '''
 3400        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 3401        '''
 3402         Tags is a map of key, value pairs.
 3403        '''
 3404        self.ttl = ttl if ttl is not None else None
 3405        '''
 3406         The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested.
 3407        '''
 3408        self.upndomain = upndomain if upndomain is not None else ''
 3409        '''
 3410         The domain (userPrincipalDomain) used to construct a UPN string for authentication.
 3411        '''
 3412        self.url = url if url is not None else ''
 3413        '''
 3414         The LDAP server to connect to.
 3415        '''
 3416        self.userdn = userdn if userdn is not None else ''
 3417        '''
 3418         Base DN under which to perform user search. Example: ou=Users,dc=example,dc=com
 3419        '''
 3420
 3421    def __repr__(self):
 3422        return '<sdm.ActiveDirectoryEngine ' + \
 3423            'after_read_ttl: ' + repr(self.after_read_ttl) + ' ' +\
 3424            'binddn: ' + repr(self.binddn) + ' ' +\
 3425            'bindpass: ' + repr(self.bindpass) + ' ' +\
 3426            'certificate: ' + repr(self.certificate) + ' ' +\
 3427            'connection_timeout: ' + repr(self.connection_timeout) + ' ' +\
 3428            'do_not_validate_timestamps: ' + repr(self.do_not_validate_timestamps) + ' ' +\
 3429            'id: ' + repr(self.id) + ' ' +\
 3430            'insecure_tls: ' + repr(self.insecure_tls) + ' ' +\
 3431            'key_rotation_interval_days: ' + repr(self.key_rotation_interval_days) + ' ' +\
 3432            'max_backoff_duration: ' + repr(self.max_backoff_duration) + ' ' +\
 3433            'name: ' + repr(self.name) + ' ' +\
 3434            'policy: ' + repr(self.policy) + ' ' +\
 3435            'public_key: ' + repr(self.public_key) + ' ' +\
 3436            'request_timeout: ' + repr(self.request_timeout) + ' ' +\
 3437            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 3438            'secret_store_root_path: ' + repr(self.secret_store_root_path) + ' ' +\
 3439            'start_tls: ' + repr(self.start_tls) + ' ' +\
 3440            'tags: ' + repr(self.tags) + ' ' +\
 3441            'ttl: ' + repr(self.ttl) + ' ' +\
 3442            'upndomain: ' + repr(self.upndomain) + ' ' +\
 3443            'url: ' + repr(self.url) + ' ' +\
 3444            'userdn: ' + repr(self.userdn) + ' ' +\
 3445            '>'
 3446
 3447    def to_dict(self):
 3448        return {
 3449            'after_read_ttl': self.after_read_ttl,
 3450            'binddn': self.binddn,
 3451            'bindpass': self.bindpass,
 3452            'certificate': self.certificate,
 3453            'connection_timeout': self.connection_timeout,
 3454            'do_not_validate_timestamps': self.do_not_validate_timestamps,
 3455            'id': self.id,
 3456            'insecure_tls': self.insecure_tls,
 3457            'key_rotation_interval_days': self.key_rotation_interval_days,
 3458            'max_backoff_duration': self.max_backoff_duration,
 3459            'name': self.name,
 3460            'policy': self.policy,
 3461            'public_key': self.public_key,
 3462            'request_timeout': self.request_timeout,
 3463            'secret_store_id': self.secret_store_id,
 3464            'secret_store_root_path': self.secret_store_root_path,
 3465            'start_tls': self.start_tls,
 3466            'tags': self.tags,
 3467            'ttl': self.ttl,
 3468            'upndomain': self.upndomain,
 3469            'url': self.url,
 3470            'userdn': self.userdn,
 3471        }
 3472
 3473    @classmethod
 3474    def from_dict(cls, d):
 3475        return cls(
 3476            after_read_ttl=d.get('after_read_ttl'),
 3477            binddn=d.get('binddn'),
 3478            bindpass=d.get('bindpass'),
 3479            certificate=d.get('certificate'),
 3480            connection_timeout=d.get('connection_timeout'),
 3481            do_not_validate_timestamps=d.get('do_not_validate_timestamps'),
 3482            id=d.get('id'),
 3483            insecure_tls=d.get('insecure_tls'),
 3484            key_rotation_interval_days=d.get('key_rotation_interval_days'),
 3485            max_backoff_duration=d.get('max_backoff_duration'),
 3486            name=d.get('name'),
 3487            policy=d.get('policy'),
 3488            public_key=d.get('public_key'),
 3489            request_timeout=d.get('request_timeout'),
 3490            secret_store_id=d.get('secret_store_id'),
 3491            secret_store_root_path=d.get('secret_store_root_path'),
 3492            start_tls=d.get('start_tls'),
 3493            tags=d.get('tags'),
 3494            ttl=d.get('ttl'),
 3495            upndomain=d.get('upndomain'),
 3496            url=d.get('url'),
 3497            userdn=d.get('userdn'),
 3498        )
 3499
 3500
 3501class ActiveDirectoryStore:
 3502    __slots__ = [
 3503        'id',
 3504        'name',
 3505        'server_address',
 3506        'tags',
 3507    ]
 3508
 3509    def __init__(
 3510        self,
 3511        id=None,
 3512        name=None,
 3513        server_address=None,
 3514        tags=None,
 3515    ):
 3516        self.id = id if id is not None else ''
 3517        '''
 3518         Unique identifier of the SecretStore.
 3519        '''
 3520        self.name = name if name is not None else ''
 3521        '''
 3522         Unique human-readable name of the SecretStore.
 3523        '''
 3524        self.server_address = server_address if server_address is not None else ''
 3525        '''
 3526         Hostname of server that is hosting NDES (Network Device Enrollment Services).
 3527         Often this is the same host as Active Directory Certificate Services
 3528        '''
 3529        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 3530        '''
 3531         Tags is a map of key, value pairs.
 3532        '''
 3533
 3534    def __repr__(self):
 3535        return '<sdm.ActiveDirectoryStore ' + \
 3536            'id: ' + repr(self.id) + ' ' +\
 3537            'name: ' + repr(self.name) + ' ' +\
 3538            'server_address: ' + repr(self.server_address) + ' ' +\
 3539            'tags: ' + repr(self.tags) + ' ' +\
 3540            '>'
 3541
 3542    def to_dict(self):
 3543        return {
 3544            'id': self.id,
 3545            'name': self.name,
 3546            'server_address': self.server_address,
 3547            'tags': self.tags,
 3548        }
 3549
 3550    @classmethod
 3551    def from_dict(cls, d):
 3552        return cls(
 3553            id=d.get('id'),
 3554            name=d.get('name'),
 3555            server_address=d.get('server_address'),
 3556            tags=d.get('tags'),
 3557        )
 3558
 3559
 3560class Activity:
 3561    '''
 3562         An Activity is a record of an action taken against a strongDM deployment, e.g.
 3563     a user creation, resource deletion, sso configuration change, etc.
 3564    '''
 3565    __slots__ = [
 3566        'actor',
 3567        'completed_at',
 3568        'description',
 3569        'entities',
 3570        'id',
 3571        'ip_address',
 3572        'user_agent',
 3573        'verb',
 3574    ]
 3575
 3576    def __init__(
 3577        self,
 3578        actor=None,
 3579        completed_at=None,
 3580        description=None,
 3581        entities=None,
 3582        id=None,
 3583        ip_address=None,
 3584        user_agent=None,
 3585        verb=None,
 3586    ):
 3587        self.actor = actor if actor is not None else None
 3588        '''
 3589         The account who executed this activity. If the actor later has a name or email change,
 3590         that change is not reflected here. Actor is a snapshot of the executing account at
 3591         the time an activity took place.
 3592        '''
 3593        self.completed_at = completed_at if completed_at is not None else None
 3594        '''
 3595         The time this activity took effect.
 3596        '''
 3597        self.description = description if description is not None else ''
 3598        '''
 3599         A humanized description of the activity.
 3600        '''
 3601        self.entities = entities if entities is not None else []
 3602        '''
 3603         The entities involved in this activity. These entities can be any first class
 3604         entity in the strongDM system, eg. a user, a role, a node, an account grant. Not
 3605         every activity affects explicit entities.
 3606        '''
 3607        self.id = id if id is not None else ''
 3608        '''
 3609         Unique identifier of the Activity.
 3610        '''
 3611        self.ip_address = ip_address if ip_address is not None else ''
 3612        '''
 3613         The IP from which this action was taken.
 3614        '''
 3615        self.user_agent = user_agent if user_agent is not None else ''
 3616        '''
 3617         The User Agent present when this request was executed. Generally a client type and version
 3618         like strongdm-cli/55.66.77
 3619        '''
 3620        self.verb = verb if verb is not None else ''
 3621        '''
 3622         The kind of activity which has taken place, one of the ActivityVerb constants.
 3623        '''
 3624
 3625    def __repr__(self):
 3626        return '<sdm.Activity ' + \
 3627            'actor: ' + repr(self.actor) + ' ' +\
 3628            'completed_at: ' + repr(self.completed_at) + ' ' +\
 3629            'description: ' + repr(self.description) + ' ' +\
 3630            'entities: ' + repr(self.entities) + ' ' +\
 3631            'id: ' + repr(self.id) + ' ' +\
 3632            'ip_address: ' + repr(self.ip_address) + ' ' +\
 3633            'user_agent: ' + repr(self.user_agent) + ' ' +\
 3634            'verb: ' + repr(self.verb) + ' ' +\
 3635            '>'
 3636
 3637    def to_dict(self):
 3638        return {
 3639            'actor': self.actor,
 3640            'completed_at': self.completed_at,
 3641            'description': self.description,
 3642            'entities': self.entities,
 3643            'id': self.id,
 3644            'ip_address': self.ip_address,
 3645            'user_agent': self.user_agent,
 3646            'verb': self.verb,
 3647        }
 3648
 3649    @classmethod
 3650    def from_dict(cls, d):
 3651        return cls(
 3652            actor=d.get('actor'),
 3653            completed_at=d.get('completed_at'),
 3654            description=d.get('description'),
 3655            entities=d.get('entities'),
 3656            id=d.get('id'),
 3657            ip_address=d.get('ip_address'),
 3658            user_agent=d.get('user_agent'),
 3659            verb=d.get('verb'),
 3660        )
 3661
 3662
 3663class ActivityActor:
 3664    __slots__ = [
 3665        'activity_external_id',
 3666        'email',
 3667        'first_name',
 3668        'id',
 3669        'last_name',
 3670    ]
 3671
 3672    def __init__(
 3673        self,
 3674        activity_external_id=None,
 3675        email=None,
 3676        first_name=None,
 3677        id=None,
 3678        last_name=None,
 3679    ):
 3680        self.activity_external_id = activity_external_id if activity_external_id is not None else ''
 3681        '''
 3682         The external ID of the actor at the time this activity occurred.
 3683        '''
 3684        self.email = email if email is not None else ''
 3685        '''
 3686         The email of the actor at the time this activity occurred.
 3687        '''
 3688        self.first_name = first_name if first_name is not None else ''
 3689        '''
 3690         The first name of the actor at the time this activity occurred.
 3691        '''
 3692        self.id = id if id is not None else ''
 3693        '''
 3694         Unique identifier of the actor. Immutable.
 3695        '''
 3696        self.last_name = last_name if last_name is not None else ''
 3697        '''
 3698         The last name of the actor at the time this activity occurred.
 3699        '''
 3700
 3701    def __repr__(self):
 3702        return '<sdm.ActivityActor ' + \
 3703            'activity_external_id: ' + repr(self.activity_external_id) + ' ' +\
 3704            'email: ' + repr(self.email) + ' ' +\
 3705            'first_name: ' + repr(self.first_name) + ' ' +\
 3706            'id: ' + repr(self.id) + ' ' +\
 3707            'last_name: ' + repr(self.last_name) + ' ' +\
 3708            '>'
 3709
 3710    def to_dict(self):
 3711        return {
 3712            'activity_external_id': self.activity_external_id,
 3713            'email': self.email,
 3714            'first_name': self.first_name,
 3715            'id': self.id,
 3716            'last_name': self.last_name,
 3717        }
 3718
 3719    @classmethod
 3720    def from_dict(cls, d):
 3721        return cls(
 3722            activity_external_id=d.get('activity_external_id'),
 3723            email=d.get('email'),
 3724            first_name=d.get('first_name'),
 3725            id=d.get('id'),
 3726            last_name=d.get('last_name'),
 3727        )
 3728
 3729
 3730class ActivityEntity:
 3731    __slots__ = [
 3732        'email',
 3733        'external_id',
 3734        'id',
 3735        'name',
 3736        'type',
 3737    ]
 3738
 3739    def __init__(
 3740        self,
 3741        email=None,
 3742        external_id=None,
 3743        id=None,
 3744        name=None,
 3745        type=None,
 3746    ):
 3747        self.email = email if email is not None else ''
 3748        '''
 3749         The email of the affected entity, if it has one (for example, if it is an account).
 3750        '''
 3751        self.external_id = external_id if external_id is not None else ''
 3752        '''
 3753         The external ID of the affected entity, if it has one (for example, if it is an account).
 3754        '''
 3755        self.id = id if id is not None else ''
 3756        '''
 3757         The unique identifier of the entity this activity affected.
 3758        '''
 3759        self.name = name if name is not None else ''
 3760        '''
 3761         A display name representing the affected entity.
 3762        '''
 3763        self.type = type if type is not None else ''
 3764        '''
 3765         The type of entity affected, one of the ActivityEntityType constants.
 3766        '''
 3767
 3768    def __repr__(self):
 3769        return '<sdm.ActivityEntity ' + \
 3770            'email: ' + repr(self.email) + ' ' +\
 3771            'external_id: ' + repr(self.external_id) + ' ' +\
 3772            'id: ' + repr(self.id) + ' ' +\
 3773            'name: ' + repr(self.name) + ' ' +\
 3774            'type: ' + repr(self.type) + ' ' +\
 3775            '>'
 3776
 3777    def to_dict(self):
 3778        return {
 3779            'email': self.email,
 3780            'external_id': self.external_id,
 3781            'id': self.id,
 3782            'name': self.name,
 3783            'type': self.type,
 3784        }
 3785
 3786    @classmethod
 3787    def from_dict(cls, d):
 3788        return cls(
 3789            email=d.get('email'),
 3790            external_id=d.get('external_id'),
 3791            id=d.get('id'),
 3792            name=d.get('name'),
 3793            type=d.get('type'),
 3794        )
 3795
 3796
 3797class ActivityGetResponse:
 3798    '''
 3799         ActivityGetResponse returns a requested Activity.
 3800    '''
 3801    __slots__ = [
 3802        'activity',
 3803        'meta',
 3804        'rate_limit',
 3805    ]
 3806
 3807    def __init__(
 3808        self,
 3809        activity=None,
 3810        meta=None,
 3811        rate_limit=None,
 3812    ):
 3813        self.activity = activity if activity is not None else None
 3814        '''
 3815         The requested Activity.
 3816        '''
 3817        self.meta = meta if meta is not None else None
 3818        '''
 3819         Reserved for future use.
 3820        '''
 3821        self.rate_limit = rate_limit if rate_limit is not None else None
 3822        '''
 3823         Rate limit information.
 3824        '''
 3825
 3826    def __repr__(self):
 3827        return '<sdm.ActivityGetResponse ' + \
 3828            'activity: ' + repr(self.activity) + ' ' +\
 3829            'meta: ' + repr(self.meta) + ' ' +\
 3830            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 3831            '>'
 3832
 3833    def to_dict(self):
 3834        return {
 3835            'activity': self.activity,
 3836            'meta': self.meta,
 3837            'rate_limit': self.rate_limit,
 3838        }
 3839
 3840    @classmethod
 3841    def from_dict(cls, d):
 3842        return cls(
 3843            activity=d.get('activity'),
 3844            meta=d.get('meta'),
 3845            rate_limit=d.get('rate_limit'),
 3846        )
 3847
 3848
 3849class Aerospike:
 3850    '''
 3851    Aerospike is currently unstable, and its API may change, or it may be removed,
 3852    without a major version bump.
 3853    '''
 3854    __slots__ = [
 3855        'bind_interface',
 3856        'egress_filter',
 3857        'healthy',
 3858        'hostname',
 3859        'id',
 3860        'name',
 3861        'password',
 3862        'port',
 3863        'port_override',
 3864        'proxy_cluster_id',
 3865        'secret_store_id',
 3866        'subdomain',
 3867        'tags',
 3868        'username',
 3869    ]
 3870
 3871    def __init__(
 3872        self,
 3873        bind_interface=None,
 3874        egress_filter=None,
 3875        healthy=None,
 3876        hostname=None,
 3877        id=None,
 3878        name=None,
 3879        password=None,
 3880        port=None,
 3881        port_override=None,
 3882        proxy_cluster_id=None,
 3883        secret_store_id=None,
 3884        subdomain=None,
 3885        tags=None,
 3886        username=None,
 3887    ):
 3888        self.bind_interface = bind_interface if bind_interface is not None else ''
 3889        '''
 3890         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 3891        '''
 3892        self.egress_filter = egress_filter if egress_filter is not None else ''
 3893        '''
 3894         A filter applied to the routing logic to pin datasource to nodes.
 3895        '''
 3896        self.healthy = healthy if healthy is not None else False
 3897        '''
 3898         True if the datasource is reachable and the credentials are valid.
 3899        '''
 3900        self.hostname = hostname if hostname is not None else ''
 3901        '''
 3902         The host to dial to initiate a connection from the egress node to this resource.
 3903        '''
 3904        self.id = id if id is not None else ''
 3905        '''
 3906         Unique identifier of the Resource.
 3907        '''
 3908        self.name = name if name is not None else ''
 3909        '''
 3910         Unique human-readable name of the Resource.
 3911        '''
 3912        self.password = password if password is not None else ''
 3913        '''
 3914         The password to authenticate with.
 3915        '''
 3916        self.port = port if port is not None else 0
 3917        '''
 3918         The port to dial to initiate a connection from the egress node to this resource.
 3919        '''
 3920        self.port_override = port_override if port_override is not None else 0
 3921        '''
 3922         The local port used by clients to connect to this resource.
 3923        '''
 3924        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 3925        '''
 3926         ID of the proxy cluster for this resource, if any.
 3927        '''
 3928        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 3929        '''
 3930         ID of the secret store containing credentials for this resource, if any.
 3931        '''
 3932        self.subdomain = subdomain if subdomain is not None else ''
 3933        '''
 3934         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 3935        '''
 3936        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 3937        '''
 3938         Tags is a map of key, value pairs.
 3939        '''
 3940        self.username = username if username is not None else ''
 3941        '''
 3942         The username to authenticate with.
 3943        '''
 3944
 3945    def __repr__(self):
 3946        return '<sdm.Aerospike ' + \
 3947            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 3948            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 3949            'healthy: ' + repr(self.healthy) + ' ' +\
 3950            'hostname: ' + repr(self.hostname) + ' ' +\
 3951            'id: ' + repr(self.id) + ' ' +\
 3952            'name: ' + repr(self.name) + ' ' +\
 3953            'password: ' + repr(self.password) + ' ' +\
 3954            'port: ' + repr(self.port) + ' ' +\
 3955            'port_override: ' + repr(self.port_override) + ' ' +\
 3956            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 3957            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 3958            'subdomain: ' + repr(self.subdomain) + ' ' +\
 3959            'tags: ' + repr(self.tags) + ' ' +\
 3960            'username: ' + repr(self.username) + ' ' +\
 3961            '>'
 3962
 3963    def to_dict(self):
 3964        return {
 3965            'bind_interface': self.bind_interface,
 3966            'egress_filter': self.egress_filter,
 3967            'healthy': self.healthy,
 3968            'hostname': self.hostname,
 3969            'id': self.id,
 3970            'name': self.name,
 3971            'password': self.password,
 3972            'port': self.port,
 3973            'port_override': self.port_override,
 3974            'proxy_cluster_id': self.proxy_cluster_id,
 3975            'secret_store_id': self.secret_store_id,
 3976            'subdomain': self.subdomain,
 3977            'tags': self.tags,
 3978            'username': self.username,
 3979        }
 3980
 3981    @classmethod
 3982    def from_dict(cls, d):
 3983        return cls(
 3984            bind_interface=d.get('bind_interface'),
 3985            egress_filter=d.get('egress_filter'),
 3986            healthy=d.get('healthy'),
 3987            hostname=d.get('hostname'),
 3988            id=d.get('id'),
 3989            name=d.get('name'),
 3990            password=d.get('password'),
 3991            port=d.get('port'),
 3992            port_override=d.get('port_override'),
 3993            proxy_cluster_id=d.get('proxy_cluster_id'),
 3994            secret_store_id=d.get('secret_store_id'),
 3995            subdomain=d.get('subdomain'),
 3996            tags=d.get('tags'),
 3997            username=d.get('username'),
 3998        )
 3999
 4000
 4001class AmazonEKS:
 4002    __slots__ = [
 4003        'access_key',
 4004        'allow_resource_role_bypass',
 4005        'bind_interface',
 4006        'certificate_authority',
 4007        'cluster_name',
 4008        'discovery_enabled',
 4009        'discovery_username',
 4010        'egress_filter',
 4011        'endpoint',
 4012        'healthcheck_namespace',
 4013        'healthy',
 4014        'id',
 4015        'identity_alias_healthcheck_username',
 4016        'identity_set_id',
 4017        'name',
 4018        'port_override',
 4019        'proxy_cluster_id',
 4020        'region',
 4021        'role_arn',
 4022        'role_external_id',
 4023        'secret_access_key',
 4024        'secret_store_id',
 4025        'subdomain',
 4026        'tags',
 4027    ]
 4028
 4029    def __init__(
 4030        self,
 4031        access_key=None,
 4032        allow_resource_role_bypass=None,
 4033        bind_interface=None,
 4034        certificate_authority=None,
 4035        cluster_name=None,
 4036        discovery_enabled=None,
 4037        discovery_username=None,
 4038        egress_filter=None,
 4039        endpoint=None,
 4040        healthcheck_namespace=None,
 4041        healthy=None,
 4042        id=None,
 4043        identity_alias_healthcheck_username=None,
 4044        identity_set_id=None,
 4045        name=None,
 4046        port_override=None,
 4047        proxy_cluster_id=None,
 4048        region=None,
 4049        role_arn=None,
 4050        role_external_id=None,
 4051        secret_access_key=None,
 4052        secret_store_id=None,
 4053        subdomain=None,
 4054        tags=None,
 4055    ):
 4056        self.access_key = access_key if access_key is not None else ''
 4057        '''
 4058         The Access Key ID to use to authenticate.
 4059        '''
 4060        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
 4061        '''
 4062         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
 4063         when a resource role is not provided.
 4064        '''
 4065        self.bind_interface = bind_interface if bind_interface is not None else ''
 4066        '''
 4067         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 4068        '''
 4069        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
 4070        '''
 4071         The CA to authenticate TLS connections with.
 4072        '''
 4073        self.cluster_name = cluster_name if cluster_name is not None else ''
 4074        '''
 4075         The name of the cluster to connect to.
 4076        '''
 4077        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
 4078        '''
 4079         If true, configures discovery of a cluster to be run from a node.
 4080        '''
 4081        self.discovery_username = discovery_username if discovery_username is not None else ''
 4082        '''
 4083         If a cluster is configured for user impersonation, this is the user to impersonate when
 4084         running discovery.
 4085        '''
 4086        self.egress_filter = egress_filter if egress_filter is not None else ''
 4087        '''
 4088         A filter applied to the routing logic to pin datasource to nodes.
 4089        '''
 4090        self.endpoint = endpoint if endpoint is not None else ''
 4091        '''
 4092         The endpoint to dial.
 4093        '''
 4094        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
 4095        '''
 4096         The path used to check the health of your connection.  Defaults to `default`.
 4097        '''
 4098        self.healthy = healthy if healthy is not None else False
 4099        '''
 4100         True if the datasource is reachable and the credentials are valid.
 4101        '''
 4102        self.id = id if id is not None else ''
 4103        '''
 4104         Unique identifier of the Resource.
 4105        '''
 4106        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
 4107        '''
 4108         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
 4109        '''
 4110        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
 4111        '''
 4112         The ID of the identity set to use for identity connections.
 4113        '''
 4114        self.name = name if name is not None else ''
 4115        '''
 4116         Unique human-readable name of the Resource.
 4117        '''
 4118        self.port_override = port_override if port_override is not None else 0
 4119        '''
 4120         The local port used by clients to connect to this resource.
 4121        '''
 4122        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 4123        '''
 4124         ID of the proxy cluster for this resource, if any.
 4125        '''
 4126        self.region = region if region is not None else ''
 4127        '''
 4128         The AWS region to connect to e.g. us-east-1.
 4129        '''
 4130        self.role_arn = role_arn if role_arn is not None else ''
 4131        '''
 4132         The role to assume after logging in.
 4133        '''
 4134        self.role_external_id = role_external_id if role_external_id is not None else ''
 4135        '''
 4136         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 4137        '''
 4138        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
 4139        '''
 4140         The Secret Access Key to use to authenticate.
 4141        '''
 4142        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 4143        '''
 4144         ID of the secret store containing credentials for this resource, if any.
 4145        '''
 4146        self.subdomain = subdomain if subdomain is not None else ''
 4147        '''
 4148         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 4149        '''
 4150        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 4151        '''
 4152         Tags is a map of key, value pairs.
 4153        '''
 4154
 4155    def __repr__(self):
 4156        return '<sdm.AmazonEKS ' + \
 4157            'access_key: ' + repr(self.access_key) + ' ' +\
 4158            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
 4159            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 4160            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
 4161            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
 4162            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
 4163            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
 4164            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 4165            'endpoint: ' + repr(self.endpoint) + ' ' +\
 4166            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
 4167            'healthy: ' + repr(self.healthy) + ' ' +\
 4168            'id: ' + repr(self.id) + ' ' +\
 4169            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
 4170            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
 4171            'name: ' + repr(self.name) + ' ' +\
 4172            'port_override: ' + repr(self.port_override) + ' ' +\
 4173            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 4174            'region: ' + repr(self.region) + ' ' +\
 4175            'role_arn: ' + repr(self.role_arn) + ' ' +\
 4176            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 4177            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
 4178            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 4179            'subdomain: ' + repr(self.subdomain) + ' ' +\
 4180            'tags: ' + repr(self.tags) + ' ' +\
 4181            '>'
 4182
 4183    def to_dict(self):
 4184        return {
 4185            'access_key': self.access_key,
 4186            'allow_resource_role_bypass': self.allow_resource_role_bypass,
 4187            'bind_interface': self.bind_interface,
 4188            'certificate_authority': self.certificate_authority,
 4189            'cluster_name': self.cluster_name,
 4190            'discovery_enabled': self.discovery_enabled,
 4191            'discovery_username': self.discovery_username,
 4192            'egress_filter': self.egress_filter,
 4193            'endpoint': self.endpoint,
 4194            'healthcheck_namespace': self.healthcheck_namespace,
 4195            'healthy': self.healthy,
 4196            'id': self.id,
 4197            'identity_alias_healthcheck_username':
 4198            self.identity_alias_healthcheck_username,
 4199            'identity_set_id': self.identity_set_id,
 4200            'name': self.name,
 4201            'port_override': self.port_override,
 4202            'proxy_cluster_id': self.proxy_cluster_id,
 4203            'region': self.region,
 4204            'role_arn': self.role_arn,
 4205            'role_external_id': self.role_external_id,
 4206            'secret_access_key': self.secret_access_key,
 4207            'secret_store_id': self.secret_store_id,
 4208            'subdomain': self.subdomain,
 4209            'tags': self.tags,
 4210        }
 4211
 4212    @classmethod
 4213    def from_dict(cls, d):
 4214        return cls(
 4215            access_key=d.get('access_key'),
 4216            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
 4217            bind_interface=d.get('bind_interface'),
 4218            certificate_authority=d.get('certificate_authority'),
 4219            cluster_name=d.get('cluster_name'),
 4220            discovery_enabled=d.get('discovery_enabled'),
 4221            discovery_username=d.get('discovery_username'),
 4222            egress_filter=d.get('egress_filter'),
 4223            endpoint=d.get('endpoint'),
 4224            healthcheck_namespace=d.get('healthcheck_namespace'),
 4225            healthy=d.get('healthy'),
 4226            id=d.get('id'),
 4227            identity_alias_healthcheck_username=d.get(
 4228                'identity_alias_healthcheck_username'),
 4229            identity_set_id=d.get('identity_set_id'),
 4230            name=d.get('name'),
 4231            port_override=d.get('port_override'),
 4232            proxy_cluster_id=d.get('proxy_cluster_id'),
 4233            region=d.get('region'),
 4234            role_arn=d.get('role_arn'),
 4235            role_external_id=d.get('role_external_id'),
 4236            secret_access_key=d.get('secret_access_key'),
 4237            secret_store_id=d.get('secret_store_id'),
 4238            subdomain=d.get('subdomain'),
 4239            tags=d.get('tags'),
 4240        )
 4241
 4242
 4243class AmazonEKSInstanceProfile:
 4244    __slots__ = [
 4245        'allow_resource_role_bypass',
 4246        'bind_interface',
 4247        'certificate_authority',
 4248        'cluster_name',
 4249        'discovery_enabled',
 4250        'discovery_username',
 4251        'egress_filter',
 4252        'endpoint',
 4253        'healthcheck_namespace',
 4254        'healthy',
 4255        'id',
 4256        'identity_alias_healthcheck_username',
 4257        'identity_set_id',
 4258        'name',
 4259        'port_override',
 4260        'proxy_cluster_id',
 4261        'region',
 4262        'role_arn',
 4263        'role_external_id',
 4264        'secret_store_id',
 4265        'subdomain',
 4266        'tags',
 4267    ]
 4268
 4269    def __init__(
 4270        self,
 4271        allow_resource_role_bypass=None,
 4272        bind_interface=None,
 4273        certificate_authority=None,
 4274        cluster_name=None,
 4275        discovery_enabled=None,
 4276        discovery_username=None,
 4277        egress_filter=None,
 4278        endpoint=None,
 4279        healthcheck_namespace=None,
 4280        healthy=None,
 4281        id=None,
 4282        identity_alias_healthcheck_username=None,
 4283        identity_set_id=None,
 4284        name=None,
 4285        port_override=None,
 4286        proxy_cluster_id=None,
 4287        region=None,
 4288        role_arn=None,
 4289        role_external_id=None,
 4290        secret_store_id=None,
 4291        subdomain=None,
 4292        tags=None,
 4293    ):
 4294        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
 4295        '''
 4296         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
 4297         when a resource role is not provided.
 4298        '''
 4299        self.bind_interface = bind_interface if bind_interface is not None else ''
 4300        '''
 4301         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 4302        '''
 4303        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
 4304        '''
 4305         The CA to authenticate TLS connections with.
 4306        '''
 4307        self.cluster_name = cluster_name if cluster_name is not None else ''
 4308        '''
 4309         The name of the cluster to connect to.
 4310        '''
 4311        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
 4312        '''
 4313         If true, configures discovery of a cluster to be run from a node.
 4314        '''
 4315        self.discovery_username = discovery_username if discovery_username is not None else ''
 4316        '''
 4317         If a cluster is configured for user impersonation, this is the user to impersonate when
 4318         running discovery.
 4319        '''
 4320        self.egress_filter = egress_filter if egress_filter is not None else ''
 4321        '''
 4322         A filter applied to the routing logic to pin datasource to nodes.
 4323        '''
 4324        self.endpoint = endpoint if endpoint is not None else ''
 4325        '''
 4326         The endpoint to dial.
 4327        '''
 4328        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
 4329        '''
 4330         The path used to check the health of your connection.  Defaults to `default`.
 4331        '''
 4332        self.healthy = healthy if healthy is not None else False
 4333        '''
 4334         True if the datasource is reachable and the credentials are valid.
 4335        '''
 4336        self.id = id if id is not None else ''
 4337        '''
 4338         Unique identifier of the Resource.
 4339        '''
 4340        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
 4341        '''
 4342         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
 4343        '''
 4344        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
 4345        '''
 4346         The ID of the identity set to use for identity connections.
 4347        '''
 4348        self.name = name if name is not None else ''
 4349        '''
 4350         Unique human-readable name of the Resource.
 4351        '''
 4352        self.port_override = port_override if port_override is not None else 0
 4353        '''
 4354         The local port used by clients to connect to this resource.
 4355        '''
 4356        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 4357        '''
 4358         ID of the proxy cluster for this resource, if any.
 4359        '''
 4360        self.region = region if region is not None else ''
 4361        '''
 4362         The AWS region to connect to e.g. us-east-1.
 4363        '''
 4364        self.role_arn = role_arn if role_arn is not None else ''
 4365        '''
 4366         The role to assume after logging in.
 4367        '''
 4368        self.role_external_id = role_external_id if role_external_id is not None else ''
 4369        '''
 4370         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 4371        '''
 4372        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 4373        '''
 4374         ID of the secret store containing credentials for this resource, if any.
 4375        '''
 4376        self.subdomain = subdomain if subdomain is not None else ''
 4377        '''
 4378         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 4379        '''
 4380        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 4381        '''
 4382         Tags is a map of key, value pairs.
 4383        '''
 4384
 4385    def __repr__(self):
 4386        return '<sdm.AmazonEKSInstanceProfile ' + \
 4387            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
 4388            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 4389            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
 4390            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
 4391            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
 4392            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
 4393            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 4394            'endpoint: ' + repr(self.endpoint) + ' ' +\
 4395            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
 4396            'healthy: ' + repr(self.healthy) + ' ' +\
 4397            'id: ' + repr(self.id) + ' ' +\
 4398            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
 4399            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
 4400            'name: ' + repr(self.name) + ' ' +\
 4401            'port_override: ' + repr(self.port_override) + ' ' +\
 4402            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 4403            'region: ' + repr(self.region) + ' ' +\
 4404            'role_arn: ' + repr(self.role_arn) + ' ' +\
 4405            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 4406            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 4407            'subdomain: ' + repr(self.subdomain) + ' ' +\
 4408            'tags: ' + repr(self.tags) + ' ' +\
 4409            '>'
 4410
 4411    def to_dict(self):
 4412        return {
 4413            'allow_resource_role_bypass': self.allow_resource_role_bypass,
 4414            'bind_interface': self.bind_interface,
 4415            'certificate_authority': self.certificate_authority,
 4416            'cluster_name': self.cluster_name,
 4417            'discovery_enabled': self.discovery_enabled,
 4418            'discovery_username': self.discovery_username,
 4419            'egress_filter': self.egress_filter,
 4420            'endpoint': self.endpoint,
 4421            'healthcheck_namespace': self.healthcheck_namespace,
 4422            'healthy': self.healthy,
 4423            'id': self.id,
 4424            'identity_alias_healthcheck_username':
 4425            self.identity_alias_healthcheck_username,
 4426            'identity_set_id': self.identity_set_id,
 4427            'name': self.name,
 4428            'port_override': self.port_override,
 4429            'proxy_cluster_id': self.proxy_cluster_id,
 4430            'region': self.region,
 4431            'role_arn': self.role_arn,
 4432            'role_external_id': self.role_external_id,
 4433            'secret_store_id': self.secret_store_id,
 4434            'subdomain': self.subdomain,
 4435            'tags': self.tags,
 4436        }
 4437
 4438    @classmethod
 4439    def from_dict(cls, d):
 4440        return cls(
 4441            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
 4442            bind_interface=d.get('bind_interface'),
 4443            certificate_authority=d.get('certificate_authority'),
 4444            cluster_name=d.get('cluster_name'),
 4445            discovery_enabled=d.get('discovery_enabled'),
 4446            discovery_username=d.get('discovery_username'),
 4447            egress_filter=d.get('egress_filter'),
 4448            endpoint=d.get('endpoint'),
 4449            healthcheck_namespace=d.get('healthcheck_namespace'),
 4450            healthy=d.get('healthy'),
 4451            id=d.get('id'),
 4452            identity_alias_healthcheck_username=d.get(
 4453                'identity_alias_healthcheck_username'),
 4454            identity_set_id=d.get('identity_set_id'),
 4455            name=d.get('name'),
 4456            port_override=d.get('port_override'),
 4457            proxy_cluster_id=d.get('proxy_cluster_id'),
 4458            region=d.get('region'),
 4459            role_arn=d.get('role_arn'),
 4460            role_external_id=d.get('role_external_id'),
 4461            secret_store_id=d.get('secret_store_id'),
 4462            subdomain=d.get('subdomain'),
 4463            tags=d.get('tags'),
 4464        )
 4465
 4466
 4467class AmazonEKSInstanceProfileUserImpersonation:
 4468    __slots__ = [
 4469        'bind_interface',
 4470        'certificate_authority',
 4471        'cluster_name',
 4472        'egress_filter',
 4473        'endpoint',
 4474        'healthcheck_namespace',
 4475        'healthy',
 4476        'id',
 4477        'name',
 4478        'port_override',
 4479        'proxy_cluster_id',
 4480        'region',
 4481        'role_arn',
 4482        'role_external_id',
 4483        'secret_store_id',
 4484        'subdomain',
 4485        'tags',
 4486    ]
 4487
 4488    def __init__(
 4489        self,
 4490        bind_interface=None,
 4491        certificate_authority=None,
 4492        cluster_name=None,
 4493        egress_filter=None,
 4494        endpoint=None,
 4495        healthcheck_namespace=None,
 4496        healthy=None,
 4497        id=None,
 4498        name=None,
 4499        port_override=None,
 4500        proxy_cluster_id=None,
 4501        region=None,
 4502        role_arn=None,
 4503        role_external_id=None,
 4504        secret_store_id=None,
 4505        subdomain=None,
 4506        tags=None,
 4507    ):
 4508        self.bind_interface = bind_interface if bind_interface is not None else ''
 4509        '''
 4510         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 4511        '''
 4512        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
 4513        '''
 4514         The CA to authenticate TLS connections with.
 4515        '''
 4516        self.cluster_name = cluster_name if cluster_name is not None else ''
 4517        '''
 4518         The name of the cluster to connect to.
 4519        '''
 4520        self.egress_filter = egress_filter if egress_filter is not None else ''
 4521        '''
 4522         A filter applied to the routing logic to pin datasource to nodes.
 4523        '''
 4524        self.endpoint = endpoint if endpoint is not None else ''
 4525        '''
 4526         The endpoint to dial.
 4527        '''
 4528        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
 4529        '''
 4530         The path used to check the health of your connection.  Defaults to `default`.
 4531        '''
 4532        self.healthy = healthy if healthy is not None else False
 4533        '''
 4534         True if the datasource is reachable and the credentials are valid.
 4535        '''
 4536        self.id = id if id is not None else ''
 4537        '''
 4538         Unique identifier of the Resource.
 4539        '''
 4540        self.name = name if name is not None else ''
 4541        '''
 4542         Unique human-readable name of the Resource.
 4543        '''
 4544        self.port_override = port_override if port_override is not None else 0
 4545        '''
 4546         The local port used by clients to connect to this resource.
 4547        '''
 4548        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 4549        '''
 4550         ID of the proxy cluster for this resource, if any.
 4551        '''
 4552        self.region = region if region is not None else ''
 4553        '''
 4554         The AWS region to connect to e.g. us-east-1.
 4555        '''
 4556        self.role_arn = role_arn if role_arn is not None else ''
 4557        '''
 4558         The role to assume after logging in.
 4559        '''
 4560        self.role_external_id = role_external_id if role_external_id is not None else ''
 4561        '''
 4562         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 4563        '''
 4564        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 4565        '''
 4566         ID of the secret store containing credentials for this resource, if any.
 4567        '''
 4568        self.subdomain = subdomain if subdomain is not None else ''
 4569        '''
 4570         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 4571        '''
 4572        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 4573        '''
 4574         Tags is a map of key, value pairs.
 4575        '''
 4576
 4577    def __repr__(self):
 4578        return '<sdm.AmazonEKSInstanceProfileUserImpersonation ' + \
 4579            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 4580            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
 4581            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
 4582            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 4583            'endpoint: ' + repr(self.endpoint) + ' ' +\
 4584            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
 4585            'healthy: ' + repr(self.healthy) + ' ' +\
 4586            'id: ' + repr(self.id) + ' ' +\
 4587            'name: ' + repr(self.name) + ' ' +\
 4588            'port_override: ' + repr(self.port_override) + ' ' +\
 4589            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 4590            'region: ' + repr(self.region) + ' ' +\
 4591            'role_arn: ' + repr(self.role_arn) + ' ' +\
 4592            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 4593            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 4594            'subdomain: ' + repr(self.subdomain) + ' ' +\
 4595            'tags: ' + repr(self.tags) + ' ' +\
 4596            '>'
 4597
 4598    def to_dict(self):
 4599        return {
 4600            'bind_interface': self.bind_interface,
 4601            'certificate_authority': self.certificate_authority,
 4602            'cluster_name': self.cluster_name,
 4603            'egress_filter': self.egress_filter,
 4604            'endpoint': self.endpoint,
 4605            'healthcheck_namespace': self.healthcheck_namespace,
 4606            'healthy': self.healthy,
 4607            'id': self.id,
 4608            'name': self.name,
 4609            'port_override': self.port_override,
 4610            'proxy_cluster_id': self.proxy_cluster_id,
 4611            'region': self.region,
 4612            'role_arn': self.role_arn,
 4613            'role_external_id': self.role_external_id,
 4614            'secret_store_id': self.secret_store_id,
 4615            'subdomain': self.subdomain,
 4616            'tags': self.tags,
 4617        }
 4618
 4619    @classmethod
 4620    def from_dict(cls, d):
 4621        return cls(
 4622            bind_interface=d.get('bind_interface'),
 4623            certificate_authority=d.get('certificate_authority'),
 4624            cluster_name=d.get('cluster_name'),
 4625            egress_filter=d.get('egress_filter'),
 4626            endpoint=d.get('endpoint'),
 4627            healthcheck_namespace=d.get('healthcheck_namespace'),
 4628            healthy=d.get('healthy'),
 4629            id=d.get('id'),
 4630            name=d.get('name'),
 4631            port_override=d.get('port_override'),
 4632            proxy_cluster_id=d.get('proxy_cluster_id'),
 4633            region=d.get('region'),
 4634            role_arn=d.get('role_arn'),
 4635            role_external_id=d.get('role_external_id'),
 4636            secret_store_id=d.get('secret_store_id'),
 4637            subdomain=d.get('subdomain'),
 4638            tags=d.get('tags'),
 4639        )
 4640
 4641
 4642class AmazonEKSUserImpersonation:
 4643    __slots__ = [
 4644        'access_key',
 4645        'bind_interface',
 4646        'certificate_authority',
 4647        'cluster_name',
 4648        'egress_filter',
 4649        'endpoint',
 4650        'healthcheck_namespace',
 4651        'healthy',
 4652        'id',
 4653        'name',
 4654        'port_override',
 4655        'proxy_cluster_id',
 4656        'region',
 4657        'role_arn',
 4658        'role_external_id',
 4659        'secret_access_key',
 4660        'secret_store_id',
 4661        'subdomain',
 4662        'tags',
 4663    ]
 4664
 4665    def __init__(
 4666        self,
 4667        access_key=None,
 4668        bind_interface=None,
 4669        certificate_authority=None,
 4670        cluster_name=None,
 4671        egress_filter=None,
 4672        endpoint=None,
 4673        healthcheck_namespace=None,
 4674        healthy=None,
 4675        id=None,
 4676        name=None,
 4677        port_override=None,
 4678        proxy_cluster_id=None,
 4679        region=None,
 4680        role_arn=None,
 4681        role_external_id=None,
 4682        secret_access_key=None,
 4683        secret_store_id=None,
 4684        subdomain=None,
 4685        tags=None,
 4686    ):
 4687        self.access_key = access_key if access_key is not None else ''
 4688        '''
 4689         The Access Key ID to use to authenticate.
 4690        '''
 4691        self.bind_interface = bind_interface if bind_interface is not None else ''
 4692        '''
 4693         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 4694        '''
 4695        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
 4696        '''
 4697         The CA to authenticate TLS connections with.
 4698        '''
 4699        self.cluster_name = cluster_name if cluster_name is not None else ''
 4700        '''
 4701         The name of the cluster to connect to.
 4702        '''
 4703        self.egress_filter = egress_filter if egress_filter is not None else ''
 4704        '''
 4705         A filter applied to the routing logic to pin datasource to nodes.
 4706        '''
 4707        self.endpoint = endpoint if endpoint is not None else ''
 4708        '''
 4709         The endpoint to dial.
 4710        '''
 4711        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
 4712        '''
 4713         The path used to check the health of your connection.  Defaults to `default`.
 4714        '''
 4715        self.healthy = healthy if healthy is not None else False
 4716        '''
 4717         True if the datasource is reachable and the credentials are valid.
 4718        '''
 4719        self.id = id if id is not None else ''
 4720        '''
 4721         Unique identifier of the Resource.
 4722        '''
 4723        self.name = name if name is not None else ''
 4724        '''
 4725         Unique human-readable name of the Resource.
 4726        '''
 4727        self.port_override = port_override if port_override is not None else 0
 4728        '''
 4729         The local port used by clients to connect to this resource.
 4730        '''
 4731        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 4732        '''
 4733         ID of the proxy cluster for this resource, if any.
 4734        '''
 4735        self.region = region if region is not None else ''
 4736        '''
 4737         The AWS region to connect to e.g. us-east-1.
 4738        '''
 4739        self.role_arn = role_arn if role_arn is not None else ''
 4740        '''
 4741         The role to assume after logging in.
 4742        '''
 4743        self.role_external_id = role_external_id if role_external_id is not None else ''
 4744        '''
 4745         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 4746        '''
 4747        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
 4748        '''
 4749         The Secret Access Key to use to authenticate.
 4750        '''
 4751        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 4752        '''
 4753         ID of the secret store containing credentials for this resource, if any.
 4754        '''
 4755        self.subdomain = subdomain if subdomain is not None else ''
 4756        '''
 4757         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 4758        '''
 4759        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 4760        '''
 4761         Tags is a map of key, value pairs.
 4762        '''
 4763
 4764    def __repr__(self):
 4765        return '<sdm.AmazonEKSUserImpersonation ' + \
 4766            'access_key: ' + repr(self.access_key) + ' ' +\
 4767            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 4768            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
 4769            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
 4770            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 4771            'endpoint: ' + repr(self.endpoint) + ' ' +\
 4772            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
 4773            'healthy: ' + repr(self.healthy) + ' ' +\
 4774            'id: ' + repr(self.id) + ' ' +\
 4775            'name: ' + repr(self.name) + ' ' +\
 4776            'port_override: ' + repr(self.port_override) + ' ' +\
 4777            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 4778            'region: ' + repr(self.region) + ' ' +\
 4779            'role_arn: ' + repr(self.role_arn) + ' ' +\
 4780            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 4781            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
 4782            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 4783            'subdomain: ' + repr(self.subdomain) + ' ' +\
 4784            'tags: ' + repr(self.tags) + ' ' +\
 4785            '>'
 4786
 4787    def to_dict(self):
 4788        return {
 4789            'access_key': self.access_key,
 4790            'bind_interface': self.bind_interface,
 4791            'certificate_authority': self.certificate_authority,
 4792            'cluster_name': self.cluster_name,
 4793            'egress_filter': self.egress_filter,
 4794            'endpoint': self.endpoint,
 4795            'healthcheck_namespace': self.healthcheck_namespace,
 4796            'healthy': self.healthy,
 4797            'id': self.id,
 4798            'name': self.name,
 4799            'port_override': self.port_override,
 4800            'proxy_cluster_id': self.proxy_cluster_id,
 4801            'region': self.region,
 4802            'role_arn': self.role_arn,
 4803            'role_external_id': self.role_external_id,
 4804            'secret_access_key': self.secret_access_key,
 4805            'secret_store_id': self.secret_store_id,
 4806            'subdomain': self.subdomain,
 4807            'tags': self.tags,
 4808        }
 4809
 4810    @classmethod
 4811    def from_dict(cls, d):
 4812        return cls(
 4813            access_key=d.get('access_key'),
 4814            bind_interface=d.get('bind_interface'),
 4815            certificate_authority=d.get('certificate_authority'),
 4816            cluster_name=d.get('cluster_name'),
 4817            egress_filter=d.get('egress_filter'),
 4818            endpoint=d.get('endpoint'),
 4819            healthcheck_namespace=d.get('healthcheck_namespace'),
 4820            healthy=d.get('healthy'),
 4821            id=d.get('id'),
 4822            name=d.get('name'),
 4823            port_override=d.get('port_override'),
 4824            proxy_cluster_id=d.get('proxy_cluster_id'),
 4825            region=d.get('region'),
 4826            role_arn=d.get('role_arn'),
 4827            role_external_id=d.get('role_external_id'),
 4828            secret_access_key=d.get('secret_access_key'),
 4829            secret_store_id=d.get('secret_store_id'),
 4830            subdomain=d.get('subdomain'),
 4831            tags=d.get('tags'),
 4832        )
 4833
 4834
 4835class AmazonES:
 4836    __slots__ = [
 4837        'access_key',
 4838        'bind_interface',
 4839        'egress_filter',
 4840        'endpoint',
 4841        'healthy',
 4842        'id',
 4843        'name',
 4844        'port_override',
 4845        'proxy_cluster_id',
 4846        'region',
 4847        'role_arn',
 4848        'role_external_id',
 4849        'secret_access_key',
 4850        'secret_store_id',
 4851        'subdomain',
 4852        'tags',
 4853    ]
 4854
 4855    def __init__(
 4856        self,
 4857        access_key=None,
 4858        bind_interface=None,
 4859        egress_filter=None,
 4860        endpoint=None,
 4861        healthy=None,
 4862        id=None,
 4863        name=None,
 4864        port_override=None,
 4865        proxy_cluster_id=None,
 4866        region=None,
 4867        role_arn=None,
 4868        role_external_id=None,
 4869        secret_access_key=None,
 4870        secret_store_id=None,
 4871        subdomain=None,
 4872        tags=None,
 4873    ):
 4874        self.access_key = access_key if access_key is not None else ''
 4875        '''
 4876         The Access Key ID to use to authenticate.
 4877        '''
 4878        self.bind_interface = bind_interface if bind_interface is not None else ''
 4879        '''
 4880         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 4881        '''
 4882        self.egress_filter = egress_filter if egress_filter is not None else ''
 4883        '''
 4884         A filter applied to the routing logic to pin datasource to nodes.
 4885        '''
 4886        self.endpoint = endpoint if endpoint is not None else ''
 4887        '''
 4888         The endpoint to dial e.g. search-?.region.es.amazonaws.com"
 4889        '''
 4890        self.healthy = healthy if healthy is not None else False
 4891        '''
 4892         True if the datasource is reachable and the credentials are valid.
 4893        '''
 4894        self.id = id if id is not None else ''
 4895        '''
 4896         Unique identifier of the Resource.
 4897        '''
 4898        self.name = name if name is not None else ''
 4899        '''
 4900         Unique human-readable name of the Resource.
 4901        '''
 4902        self.port_override = port_override if port_override is not None else 0
 4903        '''
 4904         The local port used by clients to connect to this resource.
 4905        '''
 4906        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 4907        '''
 4908         ID of the proxy cluster for this resource, if any.
 4909        '''
 4910        self.region = region if region is not None else ''
 4911        '''
 4912         The AWS region to connect to e.g. us-east-1.
 4913        '''
 4914        self.role_arn = role_arn if role_arn is not None else ''
 4915        '''
 4916         The role to assume after logging in.
 4917        '''
 4918        self.role_external_id = role_external_id if role_external_id is not None else ''
 4919        '''
 4920         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 4921        '''
 4922        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
 4923        '''
 4924         The Secret Access Key to use to authenticate.
 4925        '''
 4926        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 4927        '''
 4928         ID of the secret store containing credentials for this resource, if any.
 4929        '''
 4930        self.subdomain = subdomain if subdomain is not None else ''
 4931        '''
 4932         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 4933        '''
 4934        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 4935        '''
 4936         Tags is a map of key, value pairs.
 4937        '''
 4938
 4939    def __repr__(self):
 4940        return '<sdm.AmazonES ' + \
 4941            'access_key: ' + repr(self.access_key) + ' ' +\
 4942            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 4943            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 4944            'endpoint: ' + repr(self.endpoint) + ' ' +\
 4945            'healthy: ' + repr(self.healthy) + ' ' +\
 4946            'id: ' + repr(self.id) + ' ' +\
 4947            'name: ' + repr(self.name) + ' ' +\
 4948            'port_override: ' + repr(self.port_override) + ' ' +\
 4949            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 4950            'region: ' + repr(self.region) + ' ' +\
 4951            'role_arn: ' + repr(self.role_arn) + ' ' +\
 4952            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 4953            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
 4954            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 4955            'subdomain: ' + repr(self.subdomain) + ' ' +\
 4956            'tags: ' + repr(self.tags) + ' ' +\
 4957            '>'
 4958
 4959    def to_dict(self):
 4960        return {
 4961            'access_key': self.access_key,
 4962            'bind_interface': self.bind_interface,
 4963            'egress_filter': self.egress_filter,
 4964            'endpoint': self.endpoint,
 4965            'healthy': self.healthy,
 4966            'id': self.id,
 4967            'name': self.name,
 4968            'port_override': self.port_override,
 4969            'proxy_cluster_id': self.proxy_cluster_id,
 4970            'region': self.region,
 4971            'role_arn': self.role_arn,
 4972            'role_external_id': self.role_external_id,
 4973            'secret_access_key': self.secret_access_key,
 4974            'secret_store_id': self.secret_store_id,
 4975            'subdomain': self.subdomain,
 4976            'tags': self.tags,
 4977        }
 4978
 4979    @classmethod
 4980    def from_dict(cls, d):
 4981        return cls(
 4982            access_key=d.get('access_key'),
 4983            bind_interface=d.get('bind_interface'),
 4984            egress_filter=d.get('egress_filter'),
 4985            endpoint=d.get('endpoint'),
 4986            healthy=d.get('healthy'),
 4987            id=d.get('id'),
 4988            name=d.get('name'),
 4989            port_override=d.get('port_override'),
 4990            proxy_cluster_id=d.get('proxy_cluster_id'),
 4991            region=d.get('region'),
 4992            role_arn=d.get('role_arn'),
 4993            role_external_id=d.get('role_external_id'),
 4994            secret_access_key=d.get('secret_access_key'),
 4995            secret_store_id=d.get('secret_store_id'),
 4996            subdomain=d.get('subdomain'),
 4997            tags=d.get('tags'),
 4998        )
 4999
 5000
 5001class AmazonESIAM:
 5002    __slots__ = [
 5003        'bind_interface',
 5004        'egress_filter',
 5005        'endpoint',
 5006        'healthy',
 5007        'id',
 5008        'name',
 5009        'port_override',
 5010        'proxy_cluster_id',
 5011        'region',
 5012        'role_arn',
 5013        'role_external_id',
 5014        'secret_store_id',
 5015        'subdomain',
 5016        'tags',
 5017        'tlsrequired',
 5018    ]
 5019
 5020    def __init__(
 5021        self,
 5022        bind_interface=None,
 5023        egress_filter=None,
 5024        endpoint=None,
 5025        healthy=None,
 5026        id=None,
 5027        name=None,
 5028        port_override=None,
 5029        proxy_cluster_id=None,
 5030        region=None,
 5031        role_arn=None,
 5032        role_external_id=None,
 5033        secret_store_id=None,
 5034        subdomain=None,
 5035        tags=None,
 5036        tlsrequired=None,
 5037    ):
 5038        self.bind_interface = bind_interface if bind_interface is not None else ''
 5039        '''
 5040         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 5041        '''
 5042        self.egress_filter = egress_filter if egress_filter is not None else ''
 5043        '''
 5044         A filter applied to the routing logic to pin datasource to nodes.
 5045        '''
 5046        self.endpoint = endpoint if endpoint is not None else ''
 5047        '''
 5048         The endpoint to dial e.g. search-?.region.es.amazonaws.com"
 5049        '''
 5050        self.healthy = healthy if healthy is not None else False
 5051        '''
 5052         True if the datasource is reachable and the credentials are valid.
 5053        '''
 5054        self.id = id if id is not None else ''
 5055        '''
 5056         Unique identifier of the Resource.
 5057        '''
 5058        self.name = name if name is not None else ''
 5059        '''
 5060         Unique human-readable name of the Resource.
 5061        '''
 5062        self.port_override = port_override if port_override is not None else 0
 5063        '''
 5064         The local port used by clients to connect to this resource.
 5065        '''
 5066        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 5067        '''
 5068         ID of the proxy cluster for this resource, if any.
 5069        '''
 5070        self.region = region if region is not None else ''
 5071        '''
 5072         The AWS region to connect to.
 5073        '''
 5074        self.role_arn = role_arn if role_arn is not None else ''
 5075        '''
 5076         The role to assume after logging in.
 5077        '''
 5078        self.role_external_id = role_external_id if role_external_id is not None else ''
 5079        '''
 5080         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 5081        '''
 5082        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 5083        '''
 5084         ID of the secret store containing credentials for this resource, if any.
 5085        '''
 5086        self.subdomain = subdomain if subdomain is not None else ''
 5087        '''
 5088         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 5089        '''
 5090        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 5091        '''
 5092         Tags is a map of key, value pairs.
 5093        '''
 5094        self.tlsrequired = tlsrequired if tlsrequired is not None else False
 5095        '''
 5096         Use TLS to connect to the OpenSearch server
 5097        '''
 5098
 5099    def __repr__(self):
 5100        return '<sdm.AmazonESIAM ' + \
 5101            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 5102            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 5103            'endpoint: ' + repr(self.endpoint) + ' ' +\
 5104            'healthy: ' + repr(self.healthy) + ' ' +\
 5105            'id: ' + repr(self.id) + ' ' +\
 5106            'name: ' + repr(self.name) + ' ' +\
 5107            'port_override: ' + repr(self.port_override) + ' ' +\
 5108            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 5109            'region: ' + repr(self.region) + ' ' +\
 5110            'role_arn: ' + repr(self.role_arn) + ' ' +\
 5111            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 5112            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 5113            'subdomain: ' + repr(self.subdomain) + ' ' +\
 5114            'tags: ' + repr(self.tags) + ' ' +\
 5115            'tlsrequired: ' + repr(self.tlsrequired) + ' ' +\
 5116            '>'
 5117
 5118    def to_dict(self):
 5119        return {
 5120            'bind_interface': self.bind_interface,
 5121            'egress_filter': self.egress_filter,
 5122            'endpoint': self.endpoint,
 5123            'healthy': self.healthy,
 5124            'id': self.id,
 5125            'name': self.name,
 5126            'port_override': self.port_override,
 5127            'proxy_cluster_id': self.proxy_cluster_id,
 5128            'region': self.region,
 5129            'role_arn': self.role_arn,
 5130            'role_external_id': self.role_external_id,
 5131            'secret_store_id': self.secret_store_id,
 5132            'subdomain': self.subdomain,
 5133            'tags': self.tags,
 5134            'tlsrequired': self.tlsrequired,
 5135        }
 5136
 5137    @classmethod
 5138    def from_dict(cls, d):
 5139        return cls(
 5140            bind_interface=d.get('bind_interface'),
 5141            egress_filter=d.get('egress_filter'),
 5142            endpoint=d.get('endpoint'),
 5143            healthy=d.get('healthy'),
 5144            id=d.get('id'),
 5145            name=d.get('name'),
 5146            port_override=d.get('port_override'),
 5147            proxy_cluster_id=d.get('proxy_cluster_id'),
 5148            region=d.get('region'),
 5149            role_arn=d.get('role_arn'),
 5150            role_external_id=d.get('role_external_id'),
 5151            secret_store_id=d.get('secret_store_id'),
 5152            subdomain=d.get('subdomain'),
 5153            tags=d.get('tags'),
 5154            tlsrequired=d.get('tlsrequired'),
 5155        )
 5156
 5157
 5158class AmazonMQAMQP091:
 5159    __slots__ = [
 5160        'bind_interface',
 5161        'egress_filter',
 5162        'healthy',
 5163        'hostname',
 5164        'id',
 5165        'name',
 5166        'password',
 5167        'port',
 5168        'port_override',
 5169        'proxy_cluster_id',
 5170        'secret_store_id',
 5171        'subdomain',
 5172        'tags',
 5173        'tls_required',
 5174        'username',
 5175    ]
 5176
 5177    def __init__(
 5178        self,
 5179        bind_interface=None,
 5180        egress_filter=None,
 5181        healthy=None,
 5182        hostname=None,
 5183        id=None,
 5184        name=None,
 5185        password=None,
 5186        port=None,
 5187        port_override=None,
 5188        proxy_cluster_id=None,
 5189        secret_store_id=None,
 5190        subdomain=None,
 5191        tags=None,
 5192        tls_required=None,
 5193        username=None,
 5194    ):
 5195        self.bind_interface = bind_interface if bind_interface is not None else ''
 5196        '''
 5197         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 5198        '''
 5199        self.egress_filter = egress_filter if egress_filter is not None else ''
 5200        '''
 5201         A filter applied to the routing logic to pin datasource to nodes.
 5202        '''
 5203        self.healthy = healthy if healthy is not None else False
 5204        '''
 5205         True if the datasource is reachable and the credentials are valid.
 5206        '''
 5207        self.hostname = hostname if hostname is not None else ''
 5208        '''
 5209         The host to dial to initiate a connection from the egress node to this resource.
 5210        '''
 5211        self.id = id if id is not None else ''
 5212        '''
 5213         Unique identifier of the Resource.
 5214        '''
 5215        self.name = name if name is not None else ''
 5216        '''
 5217         Unique human-readable name of the Resource.
 5218        '''
 5219        self.password = password if password is not None else ''
 5220        '''
 5221         The password to authenticate with.
 5222        '''
 5223        self.port = port if port is not None else 0
 5224        '''
 5225         The port to dial to initiate a connection from the egress node to this resource.
 5226        '''
 5227        self.port_override = port_override if port_override is not None else 0
 5228        '''
 5229         The local port used by clients to connect to this resource.
 5230        '''
 5231        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 5232        '''
 5233         ID of the proxy cluster for this resource, if any.
 5234        '''
 5235        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 5236        '''
 5237         ID of the secret store containing credentials for this resource, if any.
 5238        '''
 5239        self.subdomain = subdomain if subdomain is not None else ''
 5240        '''
 5241         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 5242        '''
 5243        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 5244        '''
 5245         Tags is a map of key, value pairs.
 5246        '''
 5247        self.tls_required = tls_required if tls_required is not None else False
 5248        '''
 5249         If set, TLS must be used to connect to this resource.
 5250        '''
 5251        self.username = username if username is not None else ''
 5252        '''
 5253         The username to authenticate with.
 5254        '''
 5255
 5256    def __repr__(self):
 5257        return '<sdm.AmazonMQAMQP091 ' + \
 5258            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 5259            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 5260            'healthy: ' + repr(self.healthy) + ' ' +\
 5261            'hostname: ' + repr(self.hostname) + ' ' +\
 5262            'id: ' + repr(self.id) + ' ' +\
 5263            'name: ' + repr(self.name) + ' ' +\
 5264            'password: ' + repr(self.password) + ' ' +\
 5265            'port: ' + repr(self.port) + ' ' +\
 5266            'port_override: ' + repr(self.port_override) + ' ' +\
 5267            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 5268            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 5269            'subdomain: ' + repr(self.subdomain) + ' ' +\
 5270            'tags: ' + repr(self.tags) + ' ' +\
 5271            'tls_required: ' + repr(self.tls_required) + ' ' +\
 5272            'username: ' + repr(self.username) + ' ' +\
 5273            '>'
 5274
 5275    def to_dict(self):
 5276        return {
 5277            'bind_interface': self.bind_interface,
 5278            'egress_filter': self.egress_filter,
 5279            'healthy': self.healthy,
 5280            'hostname': self.hostname,
 5281            'id': self.id,
 5282            'name': self.name,
 5283            'password': self.password,
 5284            'port': self.port,
 5285            'port_override': self.port_override,
 5286            'proxy_cluster_id': self.proxy_cluster_id,
 5287            'secret_store_id': self.secret_store_id,
 5288            'subdomain': self.subdomain,
 5289            'tags': self.tags,
 5290            'tls_required': self.tls_required,
 5291            'username': self.username,
 5292        }
 5293
 5294    @classmethod
 5295    def from_dict(cls, d):
 5296        return cls(
 5297            bind_interface=d.get('bind_interface'),
 5298            egress_filter=d.get('egress_filter'),
 5299            healthy=d.get('healthy'),
 5300            hostname=d.get('hostname'),
 5301            id=d.get('id'),
 5302            name=d.get('name'),
 5303            password=d.get('password'),
 5304            port=d.get('port'),
 5305            port_override=d.get('port_override'),
 5306            proxy_cluster_id=d.get('proxy_cluster_id'),
 5307            secret_store_id=d.get('secret_store_id'),
 5308            subdomain=d.get('subdomain'),
 5309            tags=d.get('tags'),
 5310            tls_required=d.get('tls_required'),
 5311            username=d.get('username'),
 5312        )
 5313
 5314
 5315class ApprovalFlowApprover:
 5316    '''
 5317         An approver for an approval workflow step. Each approver can specify exactly one of: account_id, role_id, or reference
 5318    '''
 5319    __slots__ = [
 5320        'account_id',
 5321        'reference',
 5322        'role_id',
 5323    ]
 5324
 5325    def __init__(
 5326        self,
 5327        account_id=None,
 5328        reference=None,
 5329        role_id=None,
 5330    ):
 5331        self.account_id = account_id if account_id is not None else ''
 5332        '''
 5333         The approver account id.
 5334        '''
 5335        self.reference = reference if reference is not None else ''
 5336        '''
 5337         A reference to an approver. Must be one of ApproverReference constants.
 5338         If set, the account_id and role_id must be empty.
 5339        '''
 5340        self.role_id = role_id if role_id is not None else ''
 5341        '''
 5342         The approver role id
 5343        '''
 5344
 5345    def __repr__(self):
 5346        return '<sdm.ApprovalFlowApprover ' + \
 5347            'account_id: ' + repr(self.account_id) + ' ' +\
 5348            'reference: ' + repr(self.reference) + ' ' +\
 5349            'role_id: ' + repr(self.role_id) + ' ' +\
 5350            '>'
 5351
 5352    def to_dict(self):
 5353        return {
 5354            'account_id': self.account_id,
 5355            'reference': self.reference,
 5356            'role_id': self.role_id,
 5357        }
 5358
 5359    @classmethod
 5360    def from_dict(cls, d):
 5361        return cls(
 5362            account_id=d.get('account_id'),
 5363            reference=d.get('reference'),
 5364            role_id=d.get('role_id'),
 5365        )
 5366
 5367
 5368class ApprovalFlowStep:
 5369    '''
 5370         An approval step for an approval workflow. Specifies approvers and conditions for approval to be granted.
 5371    '''
 5372    __slots__ = [
 5373        'approvers',
 5374        'quantifier',
 5375        'skip_after',
 5376    ]
 5377
 5378    def __init__(
 5379        self,
 5380        approvers=None,
 5381        quantifier=None,
 5382        skip_after=None,
 5383    ):
 5384        self.approvers = approvers if approvers is not None else []
 5385        '''
 5386         The approvers for this approval step
 5387        '''
 5388        self.quantifier = quantifier if quantifier is not None else ''
 5389        '''
 5390         Whether "any" or "all" approvers must approve for this approval step to pass. Optional, defaults to "any".
 5391        '''
 5392        self.skip_after = skip_after if skip_after is not None else None
 5393        '''
 5394         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.
 5395        '''
 5396
 5397    def __repr__(self):
 5398        return '<sdm.ApprovalFlowStep ' + \
 5399            'approvers: ' + repr(self.approvers) + ' ' +\
 5400            'quantifier: ' + repr(self.quantifier) + ' ' +\
 5401            'skip_after: ' + repr(self.skip_after) + ' ' +\
 5402            '>'
 5403
 5404    def to_dict(self):
 5405        return {
 5406            'approvers': self.approvers,
 5407            'quantifier': self.quantifier,
 5408            'skip_after': self.skip_after,
 5409        }
 5410
 5411    @classmethod
 5412    def from_dict(cls, d):
 5413        return cls(
 5414            approvers=d.get('approvers'),
 5415            quantifier=d.get('quantifier'),
 5416            skip_after=d.get('skip_after'),
 5417        )
 5418
 5419
 5420class ApprovalWorkflow:
 5421    '''
 5422         ApprovalWorkflows are the mechanism by which requests for access can be viewed by authorized
 5423     approvers and be approved or denied.
 5424    '''
 5425    __slots__ = [
 5426        'approval_mode',
 5427        'approval_workflow_steps',
 5428        'description',
 5429        'id',
 5430        'name',
 5431    ]
 5432
 5433    def __init__(
 5434        self,
 5435        approval_mode=None,
 5436        approval_workflow_steps=None,
 5437        description=None,
 5438        id=None,
 5439        name=None,
 5440    ):
 5441        self.approval_mode = approval_mode if approval_mode is not None else ''
 5442        '''
 5443         Approval mode of the ApprovalWorkflow
 5444        '''
 5445        self.approval_workflow_steps = approval_workflow_steps if approval_workflow_steps is not None else []
 5446        '''
 5447         The approval steps of this approval workflow
 5448        '''
 5449        self.description = description if description is not None else ''
 5450        '''
 5451         Optional description of the ApprovalWorkflow.
 5452        '''
 5453        self.id = id if id is not None else ''
 5454        '''
 5455         Unique identifier of the ApprovalWorkflow.
 5456        '''
 5457        self.name = name if name is not None else ''
 5458        '''
 5459         Unique human-readable name of the ApprovalWorkflow.
 5460        '''
 5461
 5462    def __repr__(self):
 5463        return '<sdm.ApprovalWorkflow ' + \
 5464            'approval_mode: ' + repr(self.approval_mode) + ' ' +\
 5465            'approval_workflow_steps: ' + repr(self.approval_workflow_steps) + ' ' +\
 5466            'description: ' + repr(self.description) + ' ' +\
 5467            'id: ' + repr(self.id) + ' ' +\
 5468            'name: ' + repr(self.name) + ' ' +\
 5469            '>'
 5470
 5471    def to_dict(self):
 5472        return {
 5473            'approval_mode': self.approval_mode,
 5474            'approval_workflow_steps': self.approval_workflow_steps,
 5475            'description': self.description,
 5476            'id': self.id,
 5477            'name': self.name,
 5478        }
 5479
 5480    @classmethod
 5481    def from_dict(cls, d):
 5482        return cls(
 5483            approval_mode=d.get('approval_mode'),
 5484            approval_workflow_steps=d.get('approval_workflow_steps'),
 5485            description=d.get('description'),
 5486            id=d.get('id'),
 5487            name=d.get('name'),
 5488        )
 5489
 5490
 5491class ApprovalWorkflowApprover:
 5492    '''
 5493         ApprovalWorkflowApprover links an approval workflow approver to an ApprovalWorkflowStep
 5494    '''
 5495    __slots__ = [
 5496        'account_id',
 5497        'approval_flow_id',
 5498        'approval_step_id',
 5499        'id',
 5500        'reference',
 5501        'role_id',
 5502    ]
 5503
 5504    def __init__(
 5505        self,
 5506        account_id=None,
 5507        approval_flow_id=None,
 5508        approval_step_id=None,
 5509        id=None,
 5510        reference=None,
 5511        role_id=None,
 5512    ):
 5513        self.account_id = account_id if account_id is not None else ''
 5514        '''
 5515         The approver account id.
 5516        '''
 5517        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
 5518        '''
 5519         The approval flow id specified the approval workflow that this approver belongs to
 5520        '''
 5521        self.approval_step_id = approval_step_id if approval_step_id is not None else ''
 5522        '''
 5523         The approval step id specified the approval flow step that this approver belongs to
 5524        '''
 5525        self.id = id if id is not None else ''
 5526        '''
 5527         Unique identifier of the ApprovalWorkflowApprover.
 5528        '''
 5529        self.reference = reference if reference is not None else ''
 5530        '''
 5531         A reference to an approver. Will be one of ApproverReference constants.
 5532         This field is only populated when reading historical Approval Workflow Approvers data through the Approval Workflows History API.
 5533         For the deprecated Approval Workflow Approvers API no value is returned for this field and it is non-settable.
 5534        '''
 5535        self.role_id = role_id if role_id is not None else ''
 5536        '''
 5537         The approver role id
 5538        '''
 5539
 5540    def __repr__(self):
 5541        return '<sdm.ApprovalWorkflowApprover ' + \
 5542            'account_id: ' + repr(self.account_id) + ' ' +\
 5543            'approval_flow_id: ' + repr(self.approval_flow_id) + ' ' +\
 5544            'approval_step_id: ' + repr(self.approval_step_id) + ' ' +\
 5545            'id: ' + repr(self.id) + ' ' +\
 5546            'reference: ' + repr(self.reference) + ' ' +\
 5547            'role_id: ' + repr(self.role_id) + ' ' +\
 5548            '>'
 5549
 5550    def to_dict(self):
 5551        return {
 5552            'account_id': self.account_id,
 5553            'approval_flow_id': self.approval_flow_id,
 5554            'approval_step_id': self.approval_step_id,
 5555            'id': self.id,
 5556            'reference': self.reference,
 5557            'role_id': self.role_id,
 5558        }
 5559
 5560    @classmethod
 5561    def from_dict(cls, d):
 5562        return cls(
 5563            account_id=d.get('account_id'),
 5564            approval_flow_id=d.get('approval_flow_id'),
 5565            approval_step_id=d.get('approval_step_id'),
 5566            id=d.get('id'),
 5567            reference=d.get('reference'),
 5568            role_id=d.get('role_id'),
 5569        )
 5570
 5571
 5572class ApprovalWorkflowApproverCreateResponse:
 5573    '''
 5574         ApprovalWorkflowApproverCreateResponse reports how the ApprovalWorkflowApprover was created in the system.
 5575    '''
 5576    __slots__ = [
 5577        'approval_workflow_approver',
 5578        'rate_limit',
 5579    ]
 5580
 5581    def __init__(
 5582        self,
 5583        approval_workflow_approver=None,
 5584        rate_limit=None,
 5585    ):
 5586        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
 5587        '''
 5588         The created approval workflow approver.
 5589        '''
 5590        self.rate_limit = rate_limit if rate_limit is not None else None
 5591        '''
 5592         Rate limit information.
 5593        '''
 5594
 5595    def __repr__(self):
 5596        return '<sdm.ApprovalWorkflowApproverCreateResponse ' + \
 5597            'approval_workflow_approver: ' + repr(self.approval_workflow_approver) + ' ' +\
 5598            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5599            '>'
 5600
 5601    def to_dict(self):
 5602        return {
 5603            'approval_workflow_approver': self.approval_workflow_approver,
 5604            'rate_limit': self.rate_limit,
 5605        }
 5606
 5607    @classmethod
 5608    def from_dict(cls, d):
 5609        return cls(
 5610            approval_workflow_approver=d.get('approval_workflow_approver'),
 5611            rate_limit=d.get('rate_limit'),
 5612        )
 5613
 5614
 5615class ApprovalWorkflowApproverDeleteResponse:
 5616    '''
 5617         ApprovalWorkflowApproverDeleteResponse returns information about an ApprovalWorkflowApprover that was deleted.
 5618    '''
 5619    __slots__ = [
 5620        'id',
 5621        'rate_limit',
 5622    ]
 5623
 5624    def __init__(
 5625        self,
 5626        id=None,
 5627        rate_limit=None,
 5628    ):
 5629        self.id = id if id is not None else ''
 5630        '''
 5631         The deleted approval workflow approver id.
 5632        '''
 5633        self.rate_limit = rate_limit if rate_limit is not None else None
 5634        '''
 5635         Rate limit information.
 5636        '''
 5637
 5638    def __repr__(self):
 5639        return '<sdm.ApprovalWorkflowApproverDeleteResponse ' + \
 5640            'id: ' + repr(self.id) + ' ' +\
 5641            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5642            '>'
 5643
 5644    def to_dict(self):
 5645        return {
 5646            'id': self.id,
 5647            'rate_limit': self.rate_limit,
 5648        }
 5649
 5650    @classmethod
 5651    def from_dict(cls, d):
 5652        return cls(
 5653            id=d.get('id'),
 5654            rate_limit=d.get('rate_limit'),
 5655        )
 5656
 5657
 5658class ApprovalWorkflowApproverGetResponse:
 5659    '''
 5660         ApprovalWorkflowApproverGetResponse returns a requested ApprovalWorkflowApprover.
 5661    '''
 5662    __slots__ = [
 5663        'approval_workflow_approver',
 5664        'meta',
 5665        'rate_limit',
 5666    ]
 5667
 5668    def __init__(
 5669        self,
 5670        approval_workflow_approver=None,
 5671        meta=None,
 5672        rate_limit=None,
 5673    ):
 5674        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
 5675        '''
 5676         The requested ApprovalWorkflowApprover.
 5677        '''
 5678        self.meta = meta if meta is not None else None
 5679        '''
 5680         Reserved for future use.
 5681        '''
 5682        self.rate_limit = rate_limit if rate_limit is not None else None
 5683        '''
 5684         Rate limit information.
 5685        '''
 5686
 5687    def __repr__(self):
 5688        return '<sdm.ApprovalWorkflowApproverGetResponse ' + \
 5689            'approval_workflow_approver: ' + repr(self.approval_workflow_approver) + ' ' +\
 5690            'meta: ' + repr(self.meta) + ' ' +\
 5691            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5692            '>'
 5693
 5694    def to_dict(self):
 5695        return {
 5696            'approval_workflow_approver': self.approval_workflow_approver,
 5697            'meta': self.meta,
 5698            'rate_limit': self.rate_limit,
 5699        }
 5700
 5701    @classmethod
 5702    def from_dict(cls, d):
 5703        return cls(
 5704            approval_workflow_approver=d.get('approval_workflow_approver'),
 5705            meta=d.get('meta'),
 5706            rate_limit=d.get('rate_limit'),
 5707        )
 5708
 5709
 5710class ApprovalWorkflowApproverHistory:
 5711    '''
 5712         ApprovalWorkflowApproverHistory records the state of an ApprovalWorkflowApprover at a given point in time,
 5713     where every change (create or delete) to an ApprovalWorkflowApprover produces an
 5714     ApprovalWorkflowApproverHistory record.
 5715    '''
 5716    __slots__ = [
 5717        'activity_id',
 5718        'approval_workflow_approver',
 5719        'deleted_at',
 5720        'timestamp',
 5721    ]
 5722
 5723    def __init__(
 5724        self,
 5725        activity_id=None,
 5726        approval_workflow_approver=None,
 5727        deleted_at=None,
 5728        timestamp=None,
 5729    ):
 5730        self.activity_id = activity_id if activity_id is not None else ''
 5731        '''
 5732         The unique identifier of the Activity that produced this change to the ApprovalWorkflowApprover.
 5733         May be empty for some system-initiated updates.
 5734        '''
 5735        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
 5736        '''
 5737         The complete ApprovalWorkflowApprover state at this time.
 5738        '''
 5739        self.deleted_at = deleted_at if deleted_at is not None else None
 5740        '''
 5741         If this ApprovalWorkflowApprover was deleted, the time it was deleted.
 5742        '''
 5743        self.timestamp = timestamp if timestamp is not None else None
 5744        '''
 5745         The time at which the ApprovalWorkflowApprover state was recorded.
 5746        '''
 5747
 5748    def __repr__(self):
 5749        return '<sdm.ApprovalWorkflowApproverHistory ' + \
 5750            'activity_id: ' + repr(self.activity_id) + ' ' +\
 5751            'approval_workflow_approver: ' + repr(self.approval_workflow_approver) + ' ' +\
 5752            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 5753            'timestamp: ' + repr(self.timestamp) + ' ' +\
 5754            '>'
 5755
 5756    def to_dict(self):
 5757        return {
 5758            'activity_id': self.activity_id,
 5759            'approval_workflow_approver': self.approval_workflow_approver,
 5760            'deleted_at': self.deleted_at,
 5761            'timestamp': self.timestamp,
 5762        }
 5763
 5764    @classmethod
 5765    def from_dict(cls, d):
 5766        return cls(
 5767            activity_id=d.get('activity_id'),
 5768            approval_workflow_approver=d.get('approval_workflow_approver'),
 5769            deleted_at=d.get('deleted_at'),
 5770            timestamp=d.get('timestamp'),
 5771        )
 5772
 5773
 5774class ApprovalWorkflowApproverListResponse:
 5775    '''
 5776         ApprovalWorkflowApproverListResponse returns a list of ApprovalWorkflowApprover records that meet
 5777     the criteria of an ApprovalWorkflowApproverListRequest.
 5778    '''
 5779    __slots__ = [
 5780        'rate_limit',
 5781    ]
 5782
 5783    def __init__(
 5784        self,
 5785        rate_limit=None,
 5786    ):
 5787        self.rate_limit = rate_limit if rate_limit is not None else None
 5788        '''
 5789         Rate limit information.
 5790        '''
 5791
 5792    def __repr__(self):
 5793        return '<sdm.ApprovalWorkflowApproverListResponse ' + \
 5794            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5795            '>'
 5796
 5797    def to_dict(self):
 5798        return {
 5799            'rate_limit': self.rate_limit,
 5800        }
 5801
 5802    @classmethod
 5803    def from_dict(cls, d):
 5804        return cls(rate_limit=d.get('rate_limit'), )
 5805
 5806
 5807class ApprovalWorkflowCreateResponse:
 5808    '''
 5809         ApprovalWorkflowCreateResponse reports how the ApprovalWorkflow was created in the system.
 5810    '''
 5811    __slots__ = [
 5812        'approval_workflow',
 5813        'rate_limit',
 5814    ]
 5815
 5816    def __init__(
 5817        self,
 5818        approval_workflow=None,
 5819        rate_limit=None,
 5820    ):
 5821        self.approval_workflow = approval_workflow if approval_workflow is not None else None
 5822        '''
 5823         The created approval workflow.
 5824        '''
 5825        self.rate_limit = rate_limit if rate_limit is not None else None
 5826        '''
 5827         Rate limit information.
 5828        '''
 5829
 5830    def __repr__(self):
 5831        return '<sdm.ApprovalWorkflowCreateResponse ' + \
 5832            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
 5833            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5834            '>'
 5835
 5836    def to_dict(self):
 5837        return {
 5838            'approval_workflow': self.approval_workflow,
 5839            'rate_limit': self.rate_limit,
 5840        }
 5841
 5842    @classmethod
 5843    def from_dict(cls, d):
 5844        return cls(
 5845            approval_workflow=d.get('approval_workflow'),
 5846            rate_limit=d.get('rate_limit'),
 5847        )
 5848
 5849
 5850class ApprovalWorkflowDeleteResponse:
 5851    '''
 5852         ApprovalWorkflowDeleteResponse returns information about an ApprovalWorkflow that was deleted.
 5853    '''
 5854    __slots__ = [
 5855        'id',
 5856        'rate_limit',
 5857    ]
 5858
 5859    def __init__(
 5860        self,
 5861        id=None,
 5862        rate_limit=None,
 5863    ):
 5864        self.id = id if id is not None else ''
 5865        '''
 5866         The deleted approval workflow id.
 5867        '''
 5868        self.rate_limit = rate_limit if rate_limit is not None else None
 5869        '''
 5870         Rate limit information.
 5871        '''
 5872
 5873    def __repr__(self):
 5874        return '<sdm.ApprovalWorkflowDeleteResponse ' + \
 5875            'id: ' + repr(self.id) + ' ' +\
 5876            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5877            '>'
 5878
 5879    def to_dict(self):
 5880        return {
 5881            'id': self.id,
 5882            'rate_limit': self.rate_limit,
 5883        }
 5884
 5885    @classmethod
 5886    def from_dict(cls, d):
 5887        return cls(
 5888            id=d.get('id'),
 5889            rate_limit=d.get('rate_limit'),
 5890        )
 5891
 5892
 5893class ApprovalWorkflowGetResponse:
 5894    '''
 5895         ApprovalWorkflowGetResponse returns a requested ApprovalWorkflow.
 5896    '''
 5897    __slots__ = [
 5898        'approval_workflow',
 5899        'meta',
 5900        'rate_limit',
 5901    ]
 5902
 5903    def __init__(
 5904        self,
 5905        approval_workflow=None,
 5906        meta=None,
 5907        rate_limit=None,
 5908    ):
 5909        self.approval_workflow = approval_workflow if approval_workflow is not None else None
 5910        '''
 5911         The requested ApprovalWorkflow.
 5912        '''
 5913        self.meta = meta if meta is not None else None
 5914        '''
 5915         Reserved for future use.
 5916        '''
 5917        self.rate_limit = rate_limit if rate_limit is not None else None
 5918        '''
 5919         Rate limit information.
 5920        '''
 5921
 5922    def __repr__(self):
 5923        return '<sdm.ApprovalWorkflowGetResponse ' + \
 5924            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
 5925            'meta: ' + repr(self.meta) + ' ' +\
 5926            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5927            '>'
 5928
 5929    def to_dict(self):
 5930        return {
 5931            'approval_workflow': self.approval_workflow,
 5932            'meta': self.meta,
 5933            'rate_limit': self.rate_limit,
 5934        }
 5935
 5936    @classmethod
 5937    def from_dict(cls, d):
 5938        return cls(
 5939            approval_workflow=d.get('approval_workflow'),
 5940            meta=d.get('meta'),
 5941            rate_limit=d.get('rate_limit'),
 5942        )
 5943
 5944
 5945class ApprovalWorkflowHistory:
 5946    '''
 5947         ApprovalWorkflowHistory records the state of an ApprovalWorkflow at a given point in time,
 5948     where every change (create, update and delete) to an ApprovalWorkflow produces an
 5949     ApprovalWorkflowHistory record.
 5950    '''
 5951    __slots__ = [
 5952        'activity_id',
 5953        'approval_workflow',
 5954        'deleted_at',
 5955        'timestamp',
 5956    ]
 5957
 5958    def __init__(
 5959        self,
 5960        activity_id=None,
 5961        approval_workflow=None,
 5962        deleted_at=None,
 5963        timestamp=None,
 5964    ):
 5965        self.activity_id = activity_id if activity_id is not None else ''
 5966        '''
 5967         The unique identifier of the Activity that produced this change to the ApprovalWorkflow.
 5968         May be empty for some system-initiated updates.
 5969        '''
 5970        self.approval_workflow = approval_workflow if approval_workflow is not None else None
 5971        '''
 5972         The complete ApprovalWorkflow state at this time.
 5973        '''
 5974        self.deleted_at = deleted_at if deleted_at is not None else None
 5975        '''
 5976         If this ApprovalWorkflow was deleted, the time it was deleted.
 5977        '''
 5978        self.timestamp = timestamp if timestamp is not None else None
 5979        '''
 5980         The time at which the ApprovalWorkflow state was recorded.
 5981        '''
 5982
 5983    def __repr__(self):
 5984        return '<sdm.ApprovalWorkflowHistory ' + \
 5985            'activity_id: ' + repr(self.activity_id) + ' ' +\
 5986            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
 5987            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 5988            'timestamp: ' + repr(self.timestamp) + ' ' +\
 5989            '>'
 5990
 5991    def to_dict(self):
 5992        return {
 5993            'activity_id': self.activity_id,
 5994            'approval_workflow': self.approval_workflow,
 5995            'deleted_at': self.deleted_at,
 5996            'timestamp': self.timestamp,
 5997        }
 5998
 5999    @classmethod
 6000    def from_dict(cls, d):
 6001        return cls(
 6002            activity_id=d.get('activity_id'),
 6003            approval_workflow=d.get('approval_workflow'),
 6004            deleted_at=d.get('deleted_at'),
 6005            timestamp=d.get('timestamp'),
 6006        )
 6007
 6008
 6009class ApprovalWorkflowListResponse:
 6010    '''
 6011         ApprovalWorkflowListResponse returns a list of ApprovalWorkflow records that meet
 6012     the criteria of an ApprovalWorkflowListRequest.
 6013    '''
 6014    __slots__ = [
 6015        'rate_limit',
 6016    ]
 6017
 6018    def __init__(
 6019        self,
 6020        rate_limit=None,
 6021    ):
 6022        self.rate_limit = rate_limit if rate_limit is not None else None
 6023        '''
 6024         Rate limit information.
 6025        '''
 6026
 6027    def __repr__(self):
 6028        return '<sdm.ApprovalWorkflowListResponse ' + \
 6029            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 6030            '>'
 6031
 6032    def to_dict(self):
 6033        return {
 6034            'rate_limit': self.rate_limit,
 6035        }
 6036
 6037    @classmethod
 6038    def from_dict(cls, d):
 6039        return cls(rate_limit=d.get('rate_limit'), )
 6040
 6041
 6042class ApprovalWorkflowStep:
 6043    '''
 6044         ApprovalWorkflowStep links an approval workflow step to an ApprovalWorkflow
 6045    '''
 6046    __slots__ = [
 6047        'approval_flow_id',
 6048        'id',
 6049        'quantifier',
 6050        'skip_after',
 6051        'step_order',
 6052    ]
 6053
 6054    def __init__(
 6055        self,
 6056        approval_flow_id=None,
 6057        id=None,
 6058        quantifier=None,
 6059        skip_after=None,
 6060        step_order=None,
 6061    ):
 6062        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
 6063        '''
 6064         The approval flow id specified the approval workflow that this step belongs to
 6065        '''
 6066        self.id = id if id is not None else ''
 6067        '''
 6068         Unique identifier of the ApprovalWorkflowStep.
 6069        '''
 6070        self.quantifier = quantifier if quantifier is not None else ''
 6071        '''
 6072         Whether "any" or "all" approvers must approve for this approval step to pass. Read only field for history commands.
 6073        '''
 6074        self.skip_after = skip_after if skip_after is not None else None
 6075        '''
 6076         Duration after which this approval step will be skipped if no approval is given. Read only field for history commands.
 6077        '''
 6078        self.step_order = step_order if step_order is not None else 0
 6079        '''
 6080         The position of the approval step in a sequence of approval steps for an approval workflow. Read only field for history commands.
 6081        '''
 6082
 6083    def __repr__(self):
 6084        return '<sdm.ApprovalWorkflowStep ' + \
 6085            'approval_flow_id: ' + repr(self.approval_flow_id) + ' ' +\
 6086            'id: ' + repr(self.id) + ' ' +\
 6087            'quantifier: ' + repr(self.quantifier) + ' ' +\
 6088            'skip_after: ' + repr(self.skip_after) + ' ' +\
 6089            'step_order: ' + repr(self.step_order) + ' ' +\
 6090            '>'
 6091
 6092    def to_dict(self):
 6093        return {
 6094            'approval_flow_id': self.approval_flow_id,
 6095            'id': self.id,
 6096            'quantifier': self.quantifier,
 6097            'skip_after': self.skip_after,
 6098            'step_order': self.step_order,
 6099        }
 6100
 6101    @classmethod
 6102    def from_dict(cls, d):
 6103        return cls(
 6104            approval_flow_id=d.get('approval_flow_id'),
 6105            id=d.get('id'),
 6106            quantifier=d.get('quantifier'),
 6107            skip_after=d.get('skip_after'),
 6108            step_order=d.get('step_order'),
 6109        )
 6110
 6111
 6112class ApprovalWorkflowStepCreateResponse:
 6113    '''
 6114         ApprovalWorkflowStepCreateResponse reports how the ApprovalWorkflowStep was created in the system.
 6115    '''
 6116    __slots__ = [
 6117        'approval_workflow_step',
 6118        'rate_limit',
 6119    ]
 6120
 6121    def __init__(
 6122        self,
 6123        approval_workflow_step=None,
 6124        rate_limit=None,
 6125    ):
 6126        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
 6127        '''
 6128         The created approval workflow step.
 6129        '''
 6130        self.rate_limit = rate_limit if rate_limit is not None else None
 6131        '''
 6132         Rate limit information.
 6133        '''
 6134
 6135    def __repr__(self):
 6136        return '<sdm.ApprovalWorkflowStepCreateResponse ' + \
 6137            'approval_workflow_step: ' + repr(self.approval_workflow_step) + ' ' +\
 6138            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 6139            '>'
 6140
 6141    def to_dict(self):
 6142        return {
 6143            'approval_workflow_step': self.approval_workflow_step,
 6144            'rate_limit': self.rate_limit,
 6145        }
 6146
 6147    @classmethod
 6148    def from_dict(cls, d):
 6149        return cls(
 6150            approval_workflow_step=d.get('approval_workflow_step'),
 6151            rate_limit=d.get('rate_limit'),
 6152        )
 6153
 6154
 6155class ApprovalWorkflowStepDeleteResponse:
 6156    '''
 6157         ApprovalWorkflowStepDeleteResponse returns information about an ApprovalWorkflowStep that was deleted.
 6158    '''
 6159    __slots__ = [
 6160        'id',
 6161        'rate_limit',
 6162    ]
 6163
 6164    def __init__(
 6165        self,
 6166        id=None,
 6167        rate_limit=None,
 6168    ):
 6169        self.id = id if id is not None else ''
 6170        '''
 6171         The deleted approval workflow step id.
 6172        '''
 6173        self.rate_limit = rate_limit if rate_limit is not None else None
 6174        '''
 6175         Rate limit information.
 6176        '''
 6177
 6178    def __repr__(self):
 6179        return '<sdm.ApprovalWorkflowStepDeleteResponse ' + \
 6180            'id: ' + repr(self.id) + ' ' +\
 6181            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 6182            '>'
 6183
 6184    def to_dict(self):
 6185        return {
 6186            'id': self.id,
 6187            'rate_limit': self.rate_limit,
 6188        }
 6189
 6190    @classmethod
 6191    def from_dict(cls, d):
 6192        return cls(
 6193            id=d.get('id'),
 6194            rate_limit=d.get('rate_limit'),
 6195        )
 6196
 6197
 6198class ApprovalWorkflowStepGetResponse:
 6199    '''
 6200         ApprovalWorkflowStepGetResponse returns a requested ApprovalWorkflowStep.
 6201    '''
 6202    __slots__ = [
 6203        'approval_workflow_step',
 6204        'meta',
 6205        'rate_limit',
 6206    ]
 6207
 6208    def __init__(
 6209        self,
 6210        approval_workflow_step=None,
 6211        meta=None,
 6212        rate_limit=None,
 6213    ):
 6214        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
 6215        '''
 6216         The requested ApprovalWorkflowStep.
 6217        '''
 6218        self.meta = meta if meta is not None else None
 6219        '''
 6220         Reserved for future use.
 6221        '''
 6222        self.rate_limit = rate_limit if rate_limit is not None else None
 6223        '''
 6224         Rate limit information.
 6225        '''
 6226
 6227    def __repr__(self):
 6228        return '<sdm.ApprovalWorkflowStepGetResponse ' + \
 6229            'approval_workflow_step: ' + repr(self.approval_workflow_step) + ' ' +\
 6230            'meta: ' + repr(self.meta) + ' ' +\
 6231            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 6232            '>'
 6233
 6234    def to_dict(self):
 6235        return {
 6236            'approval_workflow_step': self.approval_workflow_step,
 6237            'meta': self.meta,
 6238            'rate_limit': self.rate_limit,
 6239        }
 6240
 6241    @classmethod
 6242    def from_dict(cls, d):
 6243        return cls(
 6244            approval_workflow_step=d.get('approval_workflow_step'),
 6245            meta=d.get('meta'),
 6246            rate_limit=d.get('rate_limit'),
 6247        )
 6248
 6249
 6250class ApprovalWorkflowStepHistory:
 6251    '''
 6252         ApprovalWorkflowStepHistory records the state of an ApprovalWorkflowStep at a given point in time,
 6253     where every change (create or delete) to an ApprovalWorkflowStep produces an
 6254     ApprovalWorkflowStepHistory record.
 6255    '''
 6256    __slots__ = [
 6257        'activity_id',
 6258        'approval_workflow_step',
 6259        'deleted_at',
 6260        'timestamp',
 6261    ]
 6262
 6263    def __init__(
 6264        self,
 6265        activity_id=None,
 6266        approval_workflow_step=None,
 6267        deleted_at=None,
 6268        timestamp=None,
 6269    ):
 6270        self.activity_id = activity_id if activity_id is not None else ''
 6271        '''
 6272         The unique identifier of the Activity that produced this change to the ApprovalWorkflowStep.
 6273         May be empty for some system-initiated updates.
 6274        '''
 6275        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
 6276        '''
 6277         The complete ApprovalWorkflowStep state at this time.
 6278        '''
 6279        self.deleted_at = deleted_at if deleted_at is not None else None
 6280        '''
 6281         If this ApprovalWorkflowStep was deleted, the time it was deleted.
 6282        '''
 6283        self.timestamp = timestamp if timestamp is not None else None
 6284        '''
 6285         The time at which the ApprovalWorkflowStep state was recorded.
 6286        '''
 6287
 6288    def __repr__(self):
 6289        return '<sdm.ApprovalWorkflowStepHistory ' + \
 6290            'activity_id: ' + repr(self.activity_id) + ' ' +\
 6291            'approval_workflow_step: ' + repr(self.approval_workflow_step) + ' ' +\
 6292            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 6293            'timestamp: ' + repr(self.timestamp) + ' ' +\
 6294            '>'
 6295
 6296    def to_dict(self):
 6297        return {
 6298            'activity_id': self.activity_id,
 6299            'approval_workflow_step': self.approval_workflow_step,
 6300            'deleted_at': self.deleted_at,
 6301            'timestamp': self.timestamp,
 6302        }
 6303
 6304    @classmethod
 6305    def from_dict(cls, d):
 6306        return cls(
 6307            activity_id=d.get('activity_id'),
 6308            approval_workflow_step=d.get('approval_workflow_step'),
 6309            deleted_at=d.get('deleted_at'),
 6310            timestamp=d.get('timestamp'),
 6311        )
 6312
 6313
 6314class ApprovalWorkflowStepListResponse:
 6315    '''
 6316         ApprovalWorkflowStepListResponse returns a list of ApprovalWorkflowStep records that meet
 6317     the criteria of an ApprovalWorkflowStepListRequest.
 6318    '''
 6319    __slots__ = [
 6320        'rate_limit',
 6321    ]
 6322
 6323    def __init__(
 6324        self,
 6325        rate_limit=None,
 6326    ):
 6327        self.rate_limit = rate_limit if rate_limit is not None else None
 6328        '''
 6329         Rate limit information.
 6330        '''
 6331
 6332    def __repr__(self):
 6333        return '<sdm.ApprovalWorkflowStepListResponse ' + \
 6334            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 6335            '>'
 6336
 6337    def to_dict(self):
 6338        return {
 6339            'rate_limit': self.rate_limit,
 6340        }
 6341
 6342    @classmethod
 6343    def from_dict(cls, d):
 6344        return cls(rate_limit=d.get('rate_limit'), )
 6345
 6346
 6347class ApprovalWorkflowUpdateResponse:
 6348    '''
 6349         ApprovalWorkflowUpdateResponse returns the fields of an ApprovalWorkflow after it has been updated by
 6350     an ApprovalWorkflowUpdateRequest.
 6351    '''
 6352    __slots__ = [
 6353        'approval_workflow',
 6354        'rate_limit',
 6355    ]
 6356
 6357    def __init__(
 6358        self,
 6359        approval_workflow=None,
 6360        rate_limit=None,
 6361    ):
 6362        self.approval_workflow = approval_workflow if approval_workflow is not None else None
 6363        '''
 6364         The updated approval workflow.
 6365        '''
 6366        self.rate_limit = rate_limit if rate_limit is not None else None
 6367        '''
 6368         Rate limit information.
 6369        '''
 6370
 6371    def __repr__(self):
 6372        return '<sdm.ApprovalWorkflowUpdateResponse ' + \
 6373            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
 6374            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 6375            '>'
 6376
 6377    def to_dict(self):
 6378        return {
 6379            'approval_workflow': self.approval_workflow,
 6380            'rate_limit': self.rate_limit,
 6381        }
 6382
 6383    @classmethod
 6384    def from_dict(cls, d):
 6385        return cls(
 6386            approval_workflow=d.get('approval_workflow'),
 6387            rate_limit=d.get('rate_limit'),
 6388        )
 6389
 6390
 6391class Athena:
 6392    __slots__ = [
 6393        'access_key',
 6394        'bind_interface',
 6395        'egress_filter',
 6396        'healthy',
 6397        'id',
 6398        'name',
 6399        'output',
 6400        'port_override',
 6401        'proxy_cluster_id',
 6402        'region',
 6403        'role_arn',
 6404        'role_external_id',
 6405        'secret_access_key',
 6406        'secret_store_id',
 6407        'subdomain',
 6408        'tags',
 6409    ]
 6410
 6411    def __init__(
 6412        self,
 6413        access_key=None,
 6414        bind_interface=None,
 6415        egress_filter=None,
 6416        healthy=None,
 6417        id=None,
 6418        name=None,
 6419        output=None,
 6420        port_override=None,
 6421        proxy_cluster_id=None,
 6422        region=None,
 6423        role_arn=None,
 6424        role_external_id=None,
 6425        secret_access_key=None,
 6426        secret_store_id=None,
 6427        subdomain=None,
 6428        tags=None,
 6429    ):
 6430        self.access_key = access_key if access_key is not None else ''
 6431        '''
 6432         The Access Key ID to use to authenticate.
 6433        '''
 6434        self.bind_interface = bind_interface if bind_interface is not None else ''
 6435        '''
 6436         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 6437        '''
 6438        self.egress_filter = egress_filter if egress_filter is not None else ''
 6439        '''
 6440         A filter applied to the routing logic to pin datasource to nodes.
 6441        '''
 6442        self.healthy = healthy if healthy is not None else False
 6443        '''
 6444         True if the datasource is reachable and the credentials are valid.
 6445        '''
 6446        self.id = id if id is not None else ''
 6447        '''
 6448         Unique identifier of the Resource.
 6449        '''
 6450        self.name = name if name is not None else ''
 6451        '''
 6452         Unique human-readable name of the Resource.
 6453        '''
 6454        self.output = output if output is not None else ''
 6455        '''
 6456         The AWS S3 output location.
 6457        '''
 6458        self.port_override = port_override if port_override is not None else 0
 6459        '''
 6460         The local port used by clients to connect to this resource.
 6461        '''
 6462        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 6463        '''
 6464         ID of the proxy cluster for this resource, if any.
 6465        '''
 6466        self.region = region if region is not None else ''
 6467        '''
 6468         The AWS region to connect to e.g. us-east-1.
 6469        '''
 6470        self.role_arn = role_arn if role_arn is not None else ''
 6471        '''
 6472         The role to assume after logging in.
 6473        '''
 6474        self.role_external_id = role_external_id if role_external_id is not None else ''
 6475        '''
 6476         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 6477        '''
 6478        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
 6479        '''
 6480         The Secret Access Key to use to authenticate.
 6481        '''
 6482        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 6483        '''
 6484         ID of the secret store containing credentials for this resource, if any.
 6485        '''
 6486        self.subdomain = subdomain if subdomain is not None else ''
 6487        '''
 6488         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 6489        '''
 6490        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 6491        '''
 6492         Tags is a map of key, value pairs.
 6493        '''
 6494
 6495    def __repr__(self):
 6496        return '<sdm.Athena ' + \
 6497            'access_key: ' + repr(self.access_key) + ' ' +\
 6498            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 6499            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 6500            'healthy: ' + repr(self.healthy) + ' ' +\
 6501            'id: ' + repr(self.id) + ' ' +\
 6502            'name: ' + repr(self.name) + ' ' +\
 6503            'output: ' + repr(self.output) + ' ' +\
 6504            'port_override: ' + repr(self.port_override) + ' ' +\
 6505            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 6506            'region: ' + repr(self.region) + ' ' +\
 6507            'role_arn: ' + repr(self.role_arn) + ' ' +\
 6508            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 6509            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
 6510            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 6511            'subdomain: ' + repr(self.subdomain) + ' ' +\
 6512            'tags: ' + repr(self.tags) + ' ' +\
 6513            '>'
 6514
 6515    def to_dict(self):
 6516        return {
 6517            'access_key': self.access_key,
 6518            'bind_interface': self.bind_interface,
 6519            'egress_filter': self.egress_filter,
 6520            'healthy': self.healthy,
 6521            'id': self.id,
 6522            'name': self.name,
 6523            'output': self.output,
 6524            'port_override': self.port_override,
 6525            'proxy_cluster_id': self.proxy_cluster_id,
 6526            'region': self.region,
 6527            'role_arn': self.role_arn,
 6528            'role_external_id': self.role_external_id,
 6529            'secret_access_key': self.secret_access_key,
 6530            'secret_store_id': self.secret_store_id,
 6531            'subdomain': self.subdomain,
 6532            'tags': self.tags,
 6533        }
 6534
 6535    @classmethod
 6536    def from_dict(cls, d):
 6537        return cls(
 6538            access_key=d.get('access_key'),
 6539            bind_interface=d.get('bind_interface'),
 6540            egress_filter=d.get('egress_filter'),
 6541            healthy=d.get('healthy'),
 6542            id=d.get('id'),
 6543            name=d.get('name'),
 6544            output=d.get('output'),
 6545            port_override=d.get('port_override'),
 6546            proxy_cluster_id=d.get('proxy_cluster_id'),
 6547            region=d.get('region'),
 6548            role_arn=d.get('role_arn'),
 6549            role_external_id=d.get('role_external_id'),
 6550            secret_access_key=d.get('secret_access_key'),
 6551            secret_store_id=d.get('secret_store_id'),
 6552            subdomain=d.get('subdomain'),
 6553            tags=d.get('tags'),
 6554        )
 6555
 6556
 6557class AthenaIAM:
 6558    __slots__ = [
 6559        'bind_interface',
 6560        'egress_filter',
 6561        'healthy',
 6562        'id',
 6563        'name',
 6564        'output',
 6565        'port_override',
 6566        'proxy_cluster_id',
 6567        'region',
 6568        'role_arn',
 6569        'role_external_id',
 6570        'secret_store_id',
 6571        'subdomain',
 6572        'tags',
 6573    ]
 6574
 6575    def __init__(
 6576        self,
 6577        bind_interface=None,
 6578        egress_filter=None,
 6579        healthy=None,
 6580        id=None,
 6581        name=None,
 6582        output=None,
 6583        port_override=None,
 6584        proxy_cluster_id=None,
 6585        region=None,
 6586        role_arn=None,
 6587        role_external_id=None,
 6588        secret_store_id=None,
 6589        subdomain=None,
 6590        tags=None,
 6591    ):
 6592        self.bind_interface = bind_interface if bind_interface is not None else ''
 6593        '''
 6594         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 6595        '''
 6596        self.egress_filter = egress_filter if egress_filter is not None else ''
 6597        '''
 6598         A filter applied to the routing logic to pin datasource to nodes.
 6599        '''
 6600        self.healthy = healthy if healthy is not None else False
 6601        '''
 6602         True if the datasource is reachable and the credentials are valid.
 6603        '''
 6604        self.id = id if id is not None else ''
 6605        '''
 6606         Unique identifier of the Resource.
 6607        '''
 6608        self.name = name if name is not None else ''
 6609        '''
 6610         Unique human-readable name of the Resource.
 6611        '''
 6612        self.output = output if output is not None else ''
 6613        '''
 6614         The AWS S3 output location.
 6615        '''
 6616        self.port_override = port_override if port_override is not None else 0
 6617        '''
 6618         The local port used by clients to connect to this resource.
 6619        '''
 6620        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 6621        '''
 6622         ID of the proxy cluster for this resource, if any.
 6623        '''
 6624        self.region = region if region is not None else ''
 6625        '''
 6626         The AWS region to connect to e.g. us-east-1.
 6627        '''
 6628        self.role_arn = role_arn if role_arn is not None else ''
 6629        '''
 6630         The role to assume after logging in.
 6631        '''
 6632        self.role_external_id = role_external_id if role_external_id is not None else ''
 6633        '''
 6634         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 6635        '''
 6636        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 6637        '''
 6638         ID of the secret store containing credentials for this resource, if any.
 6639        '''
 6640        self.subdomain = subdomain if subdomain is not None else ''
 6641        '''
 6642         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 6643        '''
 6644        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 6645        '''
 6646         Tags is a map of key, value pairs.
 6647        '''
 6648
 6649    def __repr__(self):
 6650        return '<sdm.AthenaIAM ' + \
 6651            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 6652            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 6653            'healthy: ' + repr(self.healthy) + ' ' +\
 6654            'id: ' + repr(self.id) + ' ' +\
 6655            'name: ' + repr(self.name) + ' ' +\
 6656            'output: ' + repr(self.output) + ' ' +\
 6657            'port_override: ' + repr(self.port_override) + ' ' +\
 6658            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 6659            'region: ' + repr(self.region) + ' ' +\
 6660            'role_arn: ' + repr(self.role_arn) + ' ' +\
 6661            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 6662            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 6663            'subdomain: ' + repr(self.subdomain) + ' ' +\
 6664            'tags: ' + repr(self.tags) + ' ' +\
 6665            '>'
 6666
 6667    def to_dict(self):
 6668        return {
 6669            'bind_interface': self.bind_interface,
 6670            'egress_filter': self.egress_filter,
 6671            'healthy': self.healthy,
 6672            'id': self.id,
 6673            'name': self.name,
 6674            'output': self.output,
 6675            'port_override': self.port_override,
 6676            'proxy_cluster_id': self.proxy_cluster_id,
 6677            'region': self.region,
 6678            'role_arn': self.role_arn,
 6679            'role_external_id': self.role_external_id,
 6680            'secret_store_id': self.secret_store_id,
 6681            'subdomain': self.subdomain,
 6682            'tags': self.tags,
 6683        }
 6684
 6685    @classmethod
 6686    def from_dict(cls, d):
 6687        return cls(
 6688            bind_interface=d.get('bind_interface'),
 6689            egress_filter=d.get('egress_filter'),
 6690            healthy=d.get('healthy'),
 6691            id=d.get('id'),
 6692            name=d.get('name'),
 6693            output=d.get('output'),
 6694            port_override=d.get('port_override'),
 6695            proxy_cluster_id=d.get('proxy_cluster_id'),
 6696            region=d.get('region'),
 6697            role_arn=d.get('role_arn'),
 6698            role_external_id=d.get('role_external_id'),
 6699            secret_store_id=d.get('secret_store_id'),
 6700            subdomain=d.get('subdomain'),
 6701            tags=d.get('tags'),
 6702        )
 6703
 6704
 6705class AuroraMysql:
 6706    __slots__ = [
 6707        'bind_interface',
 6708        'database',
 6709        'egress_filter',
 6710        'healthy',
 6711        'hostname',
 6712        'id',
 6713        'name',
 6714        'password',
 6715        'port',
 6716        'port_override',
 6717        'proxy_cluster_id',
 6718        'require_native_auth',
 6719        'secret_store_id',
 6720        'subdomain',
 6721        'tags',
 6722        'use_azure_single_server_usernames',
 6723        'username',
 6724    ]
 6725
 6726    def __init__(
 6727        self,
 6728        bind_interface=None,
 6729        database=None,
 6730        egress_filter=None,
 6731        healthy=None,
 6732        hostname=None,
 6733        id=None,
 6734        name=None,
 6735        password=None,
 6736        port=None,
 6737        port_override=None,
 6738        proxy_cluster_id=None,
 6739        require_native_auth=None,
 6740        secret_store_id=None,
 6741        subdomain=None,
 6742        tags=None,
 6743        use_azure_single_server_usernames=None,
 6744        username=None,
 6745    ):
 6746        self.bind_interface = bind_interface if bind_interface is not None else ''
 6747        '''
 6748         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 6749        '''
 6750        self.database = database if database is not None else ''
 6751        '''
 6752         The database for healthchecks. Does not affect client requests
 6753        '''
 6754        self.egress_filter = egress_filter if egress_filter is not None else ''
 6755        '''
 6756         A filter applied to the routing logic to pin datasource to nodes.
 6757        '''
 6758        self.healthy = healthy if healthy is not None else False
 6759        '''
 6760         True if the datasource is reachable and the credentials are valid.
 6761        '''
 6762        self.hostname = hostname if hostname is not None else ''
 6763        '''
 6764         The host to dial to initiate a connection from the egress node to this resource.
 6765        '''
 6766        self.id = id if id is not None else ''
 6767        '''
 6768         Unique identifier of the Resource.
 6769        '''
 6770        self.name = name if name is not None else ''
 6771        '''
 6772         Unique human-readable name of the Resource.
 6773        '''
 6774        self.password = password if password is not None else ''
 6775        '''
 6776         The password to authenticate with.
 6777        '''
 6778        self.port = port if port is not None else 0
 6779        '''
 6780         The port to dial to initiate a connection from the egress node to this resource.
 6781        '''
 6782        self.port_override = port_override if port_override is not None else 0
 6783        '''
 6784         The local port used by clients to connect to this resource.
 6785        '''
 6786        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 6787        '''
 6788         ID of the proxy cluster for this resource, if any.
 6789        '''
 6790        self.require_native_auth = require_native_auth if require_native_auth is not None else False
 6791        '''
 6792         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
 6793        '''
 6794        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 6795        '''
 6796         ID of the secret store containing credentials for this resource, if any.
 6797        '''
 6798        self.subdomain = subdomain if subdomain is not None else ''
 6799        '''
 6800         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 6801        '''
 6802        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 6803        '''
 6804         Tags is a map of key, value pairs.
 6805        '''
 6806        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
 6807        '''
 6808         If true, appends the hostname to the username when hitting a database.azure.com address
 6809        '''
 6810        self.username = username if username is not None else ''
 6811        '''
 6812         The username to authenticate with.
 6813        '''
 6814
 6815    def __repr__(self):
 6816        return '<sdm.AuroraMysql ' + \
 6817            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 6818            'database: ' + repr(self.database) + ' ' +\
 6819            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 6820            'healthy: ' + repr(self.healthy) + ' ' +\
 6821            'hostname: ' + repr(self.hostname) + ' ' +\
 6822            'id: ' + repr(self.id) + ' ' +\
 6823            'name: ' + repr(self.name) + ' ' +\
 6824            'password: ' + repr(self.password) + ' ' +\
 6825            'port: ' + repr(self.port) + ' ' +\
 6826            'port_override: ' + repr(self.port_override) + ' ' +\
 6827            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 6828            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
 6829            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 6830            'subdomain: ' + repr(self.subdomain) + ' ' +\
 6831            'tags: ' + repr(self.tags) + ' ' +\
 6832            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
 6833            'username: ' + repr(self.username) + ' ' +\
 6834            '>'
 6835
 6836    def to_dict(self):
 6837        return {
 6838            'bind_interface': self.bind_interface,
 6839            'database': self.database,
 6840            'egress_filter': self.egress_filter,
 6841            'healthy': self.healthy,
 6842            'hostname': self.hostname,
 6843            'id': self.id,
 6844            'name': self.name,
 6845            'password': self.password,
 6846            'port': self.port,
 6847            'port_override': self.port_override,
 6848            'proxy_cluster_id': self.proxy_cluster_id,
 6849            'require_native_auth': self.require_native_auth,
 6850            'secret_store_id': self.secret_store_id,
 6851            'subdomain': self.subdomain,
 6852            'tags': self.tags,
 6853            'use_azure_single_server_usernames':
 6854            self.use_azure_single_server_usernames,
 6855            'username': self.username,
 6856        }
 6857
 6858    @classmethod
 6859    def from_dict(cls, d):
 6860        return cls(
 6861            bind_interface=d.get('bind_interface'),
 6862            database=d.get('database'),
 6863            egress_filter=d.get('egress_filter'),
 6864            healthy=d.get('healthy'),
 6865            hostname=d.get('hostname'),
 6866            id=d.get('id'),
 6867            name=d.get('name'),
 6868            password=d.get('password'),
 6869            port=d.get('port'),
 6870            port_override=d.get('port_override'),
 6871            proxy_cluster_id=d.get('proxy_cluster_id'),
 6872            require_native_auth=d.get('require_native_auth'),
 6873            secret_store_id=d.get('secret_store_id'),
 6874            subdomain=d.get('subdomain'),
 6875            tags=d.get('tags'),
 6876            use_azure_single_server_usernames=d.get(
 6877                'use_azure_single_server_usernames'),
 6878            username=d.get('username'),
 6879        )
 6880
 6881
 6882class AuroraMysqlIAM:
 6883    __slots__ = [
 6884        'bind_interface',
 6885        'database',
 6886        'egress_filter',
 6887        'healthy',
 6888        'hostname',
 6889        'id',
 6890        'name',
 6891        'port',
 6892        'port_override',
 6893        'proxy_cluster_id',
 6894        'region',
 6895        'role_assumption_arn',
 6896        'secret_store_id',
 6897        'subdomain',
 6898        'tags',
 6899        'username',
 6900    ]
 6901
 6902    def __init__(
 6903        self,
 6904        bind_interface=None,
 6905        database=None,
 6906        egress_filter=None,
 6907        healthy=None,
 6908        hostname=None,
 6909        id=None,
 6910        name=None,
 6911        port=None,
 6912        port_override=None,
 6913        proxy_cluster_id=None,
 6914        region=None,
 6915        role_assumption_arn=None,
 6916        secret_store_id=None,
 6917        subdomain=None,
 6918        tags=None,
 6919        username=None,
 6920    ):
 6921        self.bind_interface = bind_interface if bind_interface is not None else ''
 6922        '''
 6923         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 6924        '''
 6925        self.database = database if database is not None else ''
 6926        '''
 6927         The database for healthchecks. Does not affect client requests
 6928        '''
 6929        self.egress_filter = egress_filter if egress_filter is not None else ''
 6930        '''
 6931         A filter applied to the routing logic to pin datasource to nodes.
 6932        '''
 6933        self.healthy = healthy if healthy is not None else False
 6934        '''
 6935         True if the datasource is reachable and the credentials are valid.
 6936        '''
 6937        self.hostname = hostname if hostname is not None else ''
 6938        '''
 6939         The host to dial to initiate a connection from the egress node to this resource.
 6940        '''
 6941        self.id = id if id is not None else ''
 6942        '''
 6943         Unique identifier of the Resource.
 6944        '''
 6945        self.name = name if name is not None else ''
 6946        '''
 6947         Unique human-readable name of the Resource.
 6948        '''
 6949        self.port = port if port is not None else 0
 6950        '''
 6951         The port to dial to initiate a connection from the egress node to this resource.
 6952        '''
 6953        self.port_override = port_override if port_override is not None else 0
 6954        '''
 6955         The local port used by clients to connect to this resource.
 6956        '''
 6957        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 6958        '''
 6959         ID of the proxy cluster for this resource, if any.
 6960        '''
 6961        self.region = region if region is not None else ''
 6962        '''
 6963         The AWS region to connect to.
 6964        '''
 6965        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
 6966        '''
 6967         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
 6968        '''
 6969        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 6970        '''
 6971         ID of the secret store containing credentials for this resource, if any.
 6972        '''
 6973        self.subdomain = subdomain if subdomain is not None else ''
 6974        '''
 6975         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 6976        '''
 6977        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 6978        '''
 6979         Tags is a map of key, value pairs.
 6980        '''
 6981        self.username = username if username is not None else ''
 6982        '''
 6983         The username to authenticate with.
 6984        '''
 6985
 6986    def __repr__(self):
 6987        return '<sdm.AuroraMysqlIAM ' + \
 6988            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 6989            'database: ' + repr(self.database) + ' ' +\
 6990            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 6991            'healthy: ' + repr(self.healthy) + ' ' +\
 6992            'hostname: ' + repr(self.hostname) + ' ' +\
 6993            'id: ' + repr(self.id) + ' ' +\
 6994            'name: ' + repr(self.name) + ' ' +\
 6995            'port: ' + repr(self.port) + ' ' +\
 6996            'port_override: ' + repr(self.port_override) + ' ' +\
 6997            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 6998            'region: ' + repr(self.region) + ' ' +\
 6999            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
 7000            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7001            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7002            'tags: ' + repr(self.tags) + ' ' +\
 7003            'username: ' + repr(self.username) + ' ' +\
 7004            '>'
 7005
 7006    def to_dict(self):
 7007        return {
 7008            'bind_interface': self.bind_interface,
 7009            'database': self.database,
 7010            'egress_filter': self.egress_filter,
 7011            'healthy': self.healthy,
 7012            'hostname': self.hostname,
 7013            'id': self.id,
 7014            'name': self.name,
 7015            'port': self.port,
 7016            'port_override': self.port_override,
 7017            'proxy_cluster_id': self.proxy_cluster_id,
 7018            'region': self.region,
 7019            'role_assumption_arn': self.role_assumption_arn,
 7020            'secret_store_id': self.secret_store_id,
 7021            'subdomain': self.subdomain,
 7022            'tags': self.tags,
 7023            'username': self.username,
 7024        }
 7025
 7026    @classmethod
 7027    def from_dict(cls, d):
 7028        return cls(
 7029            bind_interface=d.get('bind_interface'),
 7030            database=d.get('database'),
 7031            egress_filter=d.get('egress_filter'),
 7032            healthy=d.get('healthy'),
 7033            hostname=d.get('hostname'),
 7034            id=d.get('id'),
 7035            name=d.get('name'),
 7036            port=d.get('port'),
 7037            port_override=d.get('port_override'),
 7038            proxy_cluster_id=d.get('proxy_cluster_id'),
 7039            region=d.get('region'),
 7040            role_assumption_arn=d.get('role_assumption_arn'),
 7041            secret_store_id=d.get('secret_store_id'),
 7042            subdomain=d.get('subdomain'),
 7043            tags=d.get('tags'),
 7044            username=d.get('username'),
 7045        )
 7046
 7047
 7048class AuroraPostgres:
 7049    __slots__ = [
 7050        'bind_interface',
 7051        'database',
 7052        'egress_filter',
 7053        'healthy',
 7054        'hostname',
 7055        'id',
 7056        'name',
 7057        'override_database',
 7058        'password',
 7059        'port',
 7060        'port_override',
 7061        'proxy_cluster_id',
 7062        'secret_store_id',
 7063        'subdomain',
 7064        'tags',
 7065        'username',
 7066    ]
 7067
 7068    def __init__(
 7069        self,
 7070        bind_interface=None,
 7071        database=None,
 7072        egress_filter=None,
 7073        healthy=None,
 7074        hostname=None,
 7075        id=None,
 7076        name=None,
 7077        override_database=None,
 7078        password=None,
 7079        port=None,
 7080        port_override=None,
 7081        proxy_cluster_id=None,
 7082        secret_store_id=None,
 7083        subdomain=None,
 7084        tags=None,
 7085        username=None,
 7086    ):
 7087        self.bind_interface = bind_interface if bind_interface is not None else ''
 7088        '''
 7089         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 7090        '''
 7091        self.database = database if database is not None else ''
 7092        '''
 7093         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 7094        '''
 7095        self.egress_filter = egress_filter if egress_filter is not None else ''
 7096        '''
 7097         A filter applied to the routing logic to pin datasource to nodes.
 7098        '''
 7099        self.healthy = healthy if healthy is not None else False
 7100        '''
 7101         True if the datasource is reachable and the credentials are valid.
 7102        '''
 7103        self.hostname = hostname if hostname is not None else ''
 7104        '''
 7105         The host to dial to initiate a connection from the egress node to this resource.
 7106        '''
 7107        self.id = id if id is not None else ''
 7108        '''
 7109         Unique identifier of the Resource.
 7110        '''
 7111        self.name = name if name is not None else ''
 7112        '''
 7113         Unique human-readable name of the Resource.
 7114        '''
 7115        self.override_database = override_database if override_database is not None else False
 7116        '''
 7117         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
 7118        '''
 7119        self.password = password if password is not None else ''
 7120        '''
 7121         The password to authenticate with.
 7122        '''
 7123        self.port = port if port is not None else 0
 7124        '''
 7125         The port to dial to initiate a connection from the egress node to this resource.
 7126        '''
 7127        self.port_override = port_override if port_override is not None else 0
 7128        '''
 7129         The local port used by clients to connect to this resource.
 7130        '''
 7131        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 7132        '''
 7133         ID of the proxy cluster for this resource, if any.
 7134        '''
 7135        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 7136        '''
 7137         ID of the secret store containing credentials for this resource, if any.
 7138        '''
 7139        self.subdomain = subdomain if subdomain is not None else ''
 7140        '''
 7141         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 7142        '''
 7143        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7144        '''
 7145         Tags is a map of key, value pairs.
 7146        '''
 7147        self.username = username if username is not None else ''
 7148        '''
 7149         The username to authenticate with.
 7150        '''
 7151
 7152    def __repr__(self):
 7153        return '<sdm.AuroraPostgres ' + \
 7154            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7155            'database: ' + repr(self.database) + ' ' +\
 7156            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7157            'healthy: ' + repr(self.healthy) + ' ' +\
 7158            'hostname: ' + repr(self.hostname) + ' ' +\
 7159            'id: ' + repr(self.id) + ' ' +\
 7160            'name: ' + repr(self.name) + ' ' +\
 7161            'override_database: ' + repr(self.override_database) + ' ' +\
 7162            'password: ' + repr(self.password) + ' ' +\
 7163            'port: ' + repr(self.port) + ' ' +\
 7164            'port_override: ' + repr(self.port_override) + ' ' +\
 7165            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7166            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7167            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7168            'tags: ' + repr(self.tags) + ' ' +\
 7169            'username: ' + repr(self.username) + ' ' +\
 7170            '>'
 7171
 7172    def to_dict(self):
 7173        return {
 7174            'bind_interface': self.bind_interface,
 7175            'database': self.database,
 7176            'egress_filter': self.egress_filter,
 7177            'healthy': self.healthy,
 7178            'hostname': self.hostname,
 7179            'id': self.id,
 7180            'name': self.name,
 7181            'override_database': self.override_database,
 7182            'password': self.password,
 7183            'port': self.port,
 7184            'port_override': self.port_override,
 7185            'proxy_cluster_id': self.proxy_cluster_id,
 7186            'secret_store_id': self.secret_store_id,
 7187            'subdomain': self.subdomain,
 7188            'tags': self.tags,
 7189            'username': self.username,
 7190        }
 7191
 7192    @classmethod
 7193    def from_dict(cls, d):
 7194        return cls(
 7195            bind_interface=d.get('bind_interface'),
 7196            database=d.get('database'),
 7197            egress_filter=d.get('egress_filter'),
 7198            healthy=d.get('healthy'),
 7199            hostname=d.get('hostname'),
 7200            id=d.get('id'),
 7201            name=d.get('name'),
 7202            override_database=d.get('override_database'),
 7203            password=d.get('password'),
 7204            port=d.get('port'),
 7205            port_override=d.get('port_override'),
 7206            proxy_cluster_id=d.get('proxy_cluster_id'),
 7207            secret_store_id=d.get('secret_store_id'),
 7208            subdomain=d.get('subdomain'),
 7209            tags=d.get('tags'),
 7210            username=d.get('username'),
 7211        )
 7212
 7213
 7214class AuroraPostgresIAM:
 7215    __slots__ = [
 7216        'bind_interface',
 7217        'database',
 7218        'egress_filter',
 7219        'healthy',
 7220        'hostname',
 7221        'id',
 7222        'name',
 7223        'override_database',
 7224        'port',
 7225        'port_override',
 7226        'proxy_cluster_id',
 7227        'region',
 7228        'role_assumption_arn',
 7229        'secret_store_id',
 7230        'subdomain',
 7231        'tags',
 7232        'username',
 7233    ]
 7234
 7235    def __init__(
 7236        self,
 7237        bind_interface=None,
 7238        database=None,
 7239        egress_filter=None,
 7240        healthy=None,
 7241        hostname=None,
 7242        id=None,
 7243        name=None,
 7244        override_database=None,
 7245        port=None,
 7246        port_override=None,
 7247        proxy_cluster_id=None,
 7248        region=None,
 7249        role_assumption_arn=None,
 7250        secret_store_id=None,
 7251        subdomain=None,
 7252        tags=None,
 7253        username=None,
 7254    ):
 7255        self.bind_interface = bind_interface if bind_interface is not None else ''
 7256        '''
 7257         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 7258        '''
 7259        self.database = database if database is not None else ''
 7260        '''
 7261         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 7262        '''
 7263        self.egress_filter = egress_filter if egress_filter is not None else ''
 7264        '''
 7265         A filter applied to the routing logic to pin datasource to nodes.
 7266        '''
 7267        self.healthy = healthy if healthy is not None else False
 7268        '''
 7269         True if the datasource is reachable and the credentials are valid.
 7270        '''
 7271        self.hostname = hostname if hostname is not None else ''
 7272        '''
 7273         The host to dial to initiate a connection from the egress node to this resource.
 7274        '''
 7275        self.id = id if id is not None else ''
 7276        '''
 7277         Unique identifier of the Resource.
 7278        '''
 7279        self.name = name if name is not None else ''
 7280        '''
 7281         Unique human-readable name of the Resource.
 7282        '''
 7283        self.override_database = override_database if override_database is not None else False
 7284        '''
 7285         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
 7286        '''
 7287        self.port = port if port is not None else 0
 7288        '''
 7289         The port to dial to initiate a connection from the egress node to this resource.
 7290        '''
 7291        self.port_override = port_override if port_override is not None else 0
 7292        '''
 7293         The local port used by clients to connect to this resource.
 7294        '''
 7295        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 7296        '''
 7297         ID of the proxy cluster for this resource, if any.
 7298        '''
 7299        self.region = region if region is not None else ''
 7300        '''
 7301         The AWS region to connect to.
 7302        '''
 7303        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
 7304        '''
 7305         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
 7306        '''
 7307        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 7308        '''
 7309         ID of the secret store containing credentials for this resource, if any.
 7310        '''
 7311        self.subdomain = subdomain if subdomain is not None else ''
 7312        '''
 7313         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 7314        '''
 7315        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7316        '''
 7317         Tags is a map of key, value pairs.
 7318        '''
 7319        self.username = username if username is not None else ''
 7320        '''
 7321         The username to authenticate with.
 7322        '''
 7323
 7324    def __repr__(self):
 7325        return '<sdm.AuroraPostgresIAM ' + \
 7326            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7327            'database: ' + repr(self.database) + ' ' +\
 7328            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7329            'healthy: ' + repr(self.healthy) + ' ' +\
 7330            'hostname: ' + repr(self.hostname) + ' ' +\
 7331            'id: ' + repr(self.id) + ' ' +\
 7332            'name: ' + repr(self.name) + ' ' +\
 7333            'override_database: ' + repr(self.override_database) + ' ' +\
 7334            'port: ' + repr(self.port) + ' ' +\
 7335            'port_override: ' + repr(self.port_override) + ' ' +\
 7336            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7337            'region: ' + repr(self.region) + ' ' +\
 7338            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
 7339            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7340            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7341            'tags: ' + repr(self.tags) + ' ' +\
 7342            'username: ' + repr(self.username) + ' ' +\
 7343            '>'
 7344
 7345    def to_dict(self):
 7346        return {
 7347            'bind_interface': self.bind_interface,
 7348            'database': self.database,
 7349            'egress_filter': self.egress_filter,
 7350            'healthy': self.healthy,
 7351            'hostname': self.hostname,
 7352            'id': self.id,
 7353            'name': self.name,
 7354            'override_database': self.override_database,
 7355            'port': self.port,
 7356            'port_override': self.port_override,
 7357            'proxy_cluster_id': self.proxy_cluster_id,
 7358            'region': self.region,
 7359            'role_assumption_arn': self.role_assumption_arn,
 7360            'secret_store_id': self.secret_store_id,
 7361            'subdomain': self.subdomain,
 7362            'tags': self.tags,
 7363            'username': self.username,
 7364        }
 7365
 7366    @classmethod
 7367    def from_dict(cls, d):
 7368        return cls(
 7369            bind_interface=d.get('bind_interface'),
 7370            database=d.get('database'),
 7371            egress_filter=d.get('egress_filter'),
 7372            healthy=d.get('healthy'),
 7373            hostname=d.get('hostname'),
 7374            id=d.get('id'),
 7375            name=d.get('name'),
 7376            override_database=d.get('override_database'),
 7377            port=d.get('port'),
 7378            port_override=d.get('port_override'),
 7379            proxy_cluster_id=d.get('proxy_cluster_id'),
 7380            region=d.get('region'),
 7381            role_assumption_arn=d.get('role_assumption_arn'),
 7382            secret_store_id=d.get('secret_store_id'),
 7383            subdomain=d.get('subdomain'),
 7384            tags=d.get('tags'),
 7385            username=d.get('username'),
 7386        )
 7387
 7388
 7389class Azure:
 7390    __slots__ = [
 7391        'app_id',
 7392        'bind_interface',
 7393        'egress_filter',
 7394        'healthy',
 7395        'id',
 7396        'name',
 7397        'password',
 7398        'port_override',
 7399        'proxy_cluster_id',
 7400        'secret_store_id',
 7401        'subdomain',
 7402        'tags',
 7403        'tenant_id',
 7404    ]
 7405
 7406    def __init__(
 7407        self,
 7408        app_id=None,
 7409        bind_interface=None,
 7410        egress_filter=None,
 7411        healthy=None,
 7412        id=None,
 7413        name=None,
 7414        password=None,
 7415        port_override=None,
 7416        proxy_cluster_id=None,
 7417        secret_store_id=None,
 7418        subdomain=None,
 7419        tags=None,
 7420        tenant_id=None,
 7421    ):
 7422        self.app_id = app_id if app_id is not None else ''
 7423        '''
 7424         The application ID to authenticate with.
 7425        '''
 7426        self.bind_interface = bind_interface if bind_interface is not None else ''
 7427        '''
 7428         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 7429        '''
 7430        self.egress_filter = egress_filter if egress_filter is not None else ''
 7431        '''
 7432         A filter applied to the routing logic to pin datasource to nodes.
 7433        '''
 7434        self.healthy = healthy if healthy is not None else False
 7435        '''
 7436         True if the datasource is reachable and the credentials are valid.
 7437        '''
 7438        self.id = id if id is not None else ''
 7439        '''
 7440         Unique identifier of the Resource.
 7441        '''
 7442        self.name = name if name is not None else ''
 7443        '''
 7444         Unique human-readable name of the Resource.
 7445        '''
 7446        self.password = password if password is not None else ''
 7447        '''
 7448         The password to authenticate with.
 7449        '''
 7450        self.port_override = port_override if port_override is not None else 0
 7451        '''
 7452         The local port used by clients to connect to this resource.
 7453        '''
 7454        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 7455        '''
 7456         ID of the proxy cluster for this resource, if any.
 7457        '''
 7458        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 7459        '''
 7460         ID of the secret store containing credentials for this resource, if any.
 7461        '''
 7462        self.subdomain = subdomain if subdomain is not None else ''
 7463        '''
 7464         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 7465        '''
 7466        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7467        '''
 7468         Tags is a map of key, value pairs.
 7469        '''
 7470        self.tenant_id = tenant_id if tenant_id is not None else ''
 7471        '''
 7472         The tenant ID to authenticate to.
 7473        '''
 7474
 7475    def __repr__(self):
 7476        return '<sdm.Azure ' + \
 7477            'app_id: ' + repr(self.app_id) + ' ' +\
 7478            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7479            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7480            'healthy: ' + repr(self.healthy) + ' ' +\
 7481            'id: ' + repr(self.id) + ' ' +\
 7482            'name: ' + repr(self.name) + ' ' +\
 7483            'password: ' + repr(self.password) + ' ' +\
 7484            'port_override: ' + repr(self.port_override) + ' ' +\
 7485            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7486            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7487            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7488            'tags: ' + repr(self.tags) + ' ' +\
 7489            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
 7490            '>'
 7491
 7492    def to_dict(self):
 7493        return {
 7494            'app_id': self.app_id,
 7495            'bind_interface': self.bind_interface,
 7496            'egress_filter': self.egress_filter,
 7497            'healthy': self.healthy,
 7498            'id': self.id,
 7499            'name': self.name,
 7500            'password': self.password,
 7501            'port_override': self.port_override,
 7502            'proxy_cluster_id': self.proxy_cluster_id,
 7503            'secret_store_id': self.secret_store_id,
 7504            'subdomain': self.subdomain,
 7505            'tags': self.tags,
 7506            'tenant_id': self.tenant_id,
 7507        }
 7508
 7509    @classmethod
 7510    def from_dict(cls, d):
 7511        return cls(
 7512            app_id=d.get('app_id'),
 7513            bind_interface=d.get('bind_interface'),
 7514            egress_filter=d.get('egress_filter'),
 7515            healthy=d.get('healthy'),
 7516            id=d.get('id'),
 7517            name=d.get('name'),
 7518            password=d.get('password'),
 7519            port_override=d.get('port_override'),
 7520            proxy_cluster_id=d.get('proxy_cluster_id'),
 7521            secret_store_id=d.get('secret_store_id'),
 7522            subdomain=d.get('subdomain'),
 7523            tags=d.get('tags'),
 7524            tenant_id=d.get('tenant_id'),
 7525        )
 7526
 7527
 7528class AzureCertificate:
 7529    __slots__ = [
 7530        'app_id',
 7531        'bind_interface',
 7532        'client_certificate',
 7533        'egress_filter',
 7534        'healthy',
 7535        'id',
 7536        'name',
 7537        'port_override',
 7538        'proxy_cluster_id',
 7539        'secret_store_id',
 7540        'subdomain',
 7541        'tags',
 7542        'tenant_id',
 7543    ]
 7544
 7545    def __init__(
 7546        self,
 7547        app_id=None,
 7548        bind_interface=None,
 7549        client_certificate=None,
 7550        egress_filter=None,
 7551        healthy=None,
 7552        id=None,
 7553        name=None,
 7554        port_override=None,
 7555        proxy_cluster_id=None,
 7556        secret_store_id=None,
 7557        subdomain=None,
 7558        tags=None,
 7559        tenant_id=None,
 7560    ):
 7561        self.app_id = app_id if app_id is not None else ''
 7562        '''
 7563         The application ID to authenticate with.
 7564        '''
 7565        self.bind_interface = bind_interface if bind_interface is not None else ''
 7566        '''
 7567         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 7568        '''
 7569        self.client_certificate = client_certificate if client_certificate is not None else ''
 7570        '''
 7571         The service Principal certificate file, both private and public key included.
 7572        '''
 7573        self.egress_filter = egress_filter if egress_filter is not None else ''
 7574        '''
 7575         A filter applied to the routing logic to pin datasource to nodes.
 7576        '''
 7577        self.healthy = healthy if healthy is not None else False
 7578        '''
 7579         True if the datasource is reachable and the credentials are valid.
 7580        '''
 7581        self.id = id if id is not None else ''
 7582        '''
 7583         Unique identifier of the Resource.
 7584        '''
 7585        self.name = name if name is not None else ''
 7586        '''
 7587         Unique human-readable name of the Resource.
 7588        '''
 7589        self.port_override = port_override if port_override is not None else 0
 7590        '''
 7591         The local port used by clients to connect to this resource.
 7592        '''
 7593        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 7594        '''
 7595         ID of the proxy cluster for this resource, if any.
 7596        '''
 7597        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 7598        '''
 7599         ID of the secret store containing credentials for this resource, if any.
 7600        '''
 7601        self.subdomain = subdomain if subdomain is not None else ''
 7602        '''
 7603         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 7604        '''
 7605        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7606        '''
 7607         Tags is a map of key, value pairs.
 7608        '''
 7609        self.tenant_id = tenant_id if tenant_id is not None else ''
 7610        '''
 7611         The tenant ID to authenticate to.
 7612        '''
 7613
 7614    def __repr__(self):
 7615        return '<sdm.AzureCertificate ' + \
 7616            'app_id: ' + repr(self.app_id) + ' ' +\
 7617            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7618            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
 7619            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7620            'healthy: ' + repr(self.healthy) + ' ' +\
 7621            'id: ' + repr(self.id) + ' ' +\
 7622            'name: ' + repr(self.name) + ' ' +\
 7623            'port_override: ' + repr(self.port_override) + ' ' +\
 7624            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7625            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7626            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7627            'tags: ' + repr(self.tags) + ' ' +\
 7628            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
 7629            '>'
 7630
 7631    def to_dict(self):
 7632        return {
 7633            'app_id': self.app_id,
 7634            'bind_interface': self.bind_interface,
 7635            'client_certificate': self.client_certificate,
 7636            'egress_filter': self.egress_filter,
 7637            'healthy': self.healthy,
 7638            'id': self.id,
 7639            'name': self.name,
 7640            'port_override': self.port_override,
 7641            'proxy_cluster_id': self.proxy_cluster_id,
 7642            'secret_store_id': self.secret_store_id,
 7643            'subdomain': self.subdomain,
 7644            'tags': self.tags,
 7645            'tenant_id': self.tenant_id,
 7646        }
 7647
 7648    @classmethod
 7649    def from_dict(cls, d):
 7650        return cls(
 7651            app_id=d.get('app_id'),
 7652            bind_interface=d.get('bind_interface'),
 7653            client_certificate=d.get('client_certificate'),
 7654            egress_filter=d.get('egress_filter'),
 7655            healthy=d.get('healthy'),
 7656            id=d.get('id'),
 7657            name=d.get('name'),
 7658            port_override=d.get('port_override'),
 7659            proxy_cluster_id=d.get('proxy_cluster_id'),
 7660            secret_store_id=d.get('secret_store_id'),
 7661            subdomain=d.get('subdomain'),
 7662            tags=d.get('tags'),
 7663            tenant_id=d.get('tenant_id'),
 7664        )
 7665
 7666
 7667class AzureMysql:
 7668    __slots__ = [
 7669        'bind_interface',
 7670        'database',
 7671        'egress_filter',
 7672        'healthy',
 7673        'hostname',
 7674        'id',
 7675        'name',
 7676        'password',
 7677        'port',
 7678        'port_override',
 7679        'proxy_cluster_id',
 7680        'require_native_auth',
 7681        'secret_store_id',
 7682        'subdomain',
 7683        'tags',
 7684        'use_azure_single_server_usernames',
 7685        'username',
 7686    ]
 7687
 7688    def __init__(
 7689        self,
 7690        bind_interface=None,
 7691        database=None,
 7692        egress_filter=None,
 7693        healthy=None,
 7694        hostname=None,
 7695        id=None,
 7696        name=None,
 7697        password=None,
 7698        port=None,
 7699        port_override=None,
 7700        proxy_cluster_id=None,
 7701        require_native_auth=None,
 7702        secret_store_id=None,
 7703        subdomain=None,
 7704        tags=None,
 7705        use_azure_single_server_usernames=None,
 7706        username=None,
 7707    ):
 7708        self.bind_interface = bind_interface if bind_interface is not None else ''
 7709        '''
 7710         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 7711        '''
 7712        self.database = database if database is not None else ''
 7713        '''
 7714         The database for healthchecks. Does not affect client requests.
 7715        '''
 7716        self.egress_filter = egress_filter if egress_filter is not None else ''
 7717        '''
 7718         A filter applied to the routing logic to pin datasource to nodes.
 7719        '''
 7720        self.healthy = healthy if healthy is not None else False
 7721        '''
 7722         True if the datasource is reachable and the credentials are valid.
 7723        '''
 7724        self.hostname = hostname if hostname is not None else ''
 7725        '''
 7726         The host to dial to initiate a connection from the egress node to this resource.
 7727        '''
 7728        self.id = id if id is not None else ''
 7729        '''
 7730         Unique identifier of the Resource.
 7731        '''
 7732        self.name = name if name is not None else ''
 7733        '''
 7734         Unique human-readable name of the Resource.
 7735        '''
 7736        self.password = password if password is not None else ''
 7737        '''
 7738         The password to authenticate with.
 7739        '''
 7740        self.port = port if port is not None else 0
 7741        '''
 7742         The port to dial to initiate a connection from the egress node to this resource.
 7743        '''
 7744        self.port_override = port_override if port_override is not None else 0
 7745        '''
 7746         The local port used by clients to connect to this resource.
 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.require_native_auth = require_native_auth if require_native_auth is not None else False
 7753        '''
 7754         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
 7755        '''
 7756        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 7757        '''
 7758         ID of the secret store containing credentials for this resource, if any.
 7759        '''
 7760        self.subdomain = subdomain if subdomain is not None else ''
 7761        '''
 7762         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 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        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
 7769        '''
 7770         If true, appends the hostname to the username when hitting a database.azure.com address
 7771        '''
 7772        self.username = username if username is not None else ''
 7773        '''
 7774         The username to authenticate with.
 7775        '''
 7776
 7777    def __repr__(self):
 7778        return '<sdm.AzureMysql ' + \
 7779            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7780            'database: ' + repr(self.database) + ' ' +\
 7781            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7782            'healthy: ' + repr(self.healthy) + ' ' +\
 7783            'hostname: ' + repr(self.hostname) + ' ' +\
 7784            'id: ' + repr(self.id) + ' ' +\
 7785            'name: ' + repr(self.name) + ' ' +\
 7786            'password: ' + repr(self.password) + ' ' +\
 7787            'port: ' + repr(self.port) + ' ' +\
 7788            'port_override: ' + repr(self.port_override) + ' ' +\
 7789            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7790            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
 7791            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7792            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7793            'tags: ' + repr(self.tags) + ' ' +\
 7794            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
 7795            'username: ' + repr(self.username) + ' ' +\
 7796            '>'
 7797
 7798    def to_dict(self):
 7799        return {
 7800            'bind_interface': self.bind_interface,
 7801            'database': self.database,
 7802            'egress_filter': self.egress_filter,
 7803            'healthy': self.healthy,
 7804            'hostname': self.hostname,
 7805            'id': self.id,
 7806            'name': self.name,
 7807            'password': self.password,
 7808            'port': self.port,
 7809            'port_override': self.port_override,
 7810            'proxy_cluster_id': self.proxy_cluster_id,
 7811            'require_native_auth': self.require_native_auth,
 7812            'secret_store_id': self.secret_store_id,
 7813            'subdomain': self.subdomain,
 7814            'tags': self.tags,
 7815            'use_azure_single_server_usernames':
 7816            self.use_azure_single_server_usernames,
 7817            'username': self.username,
 7818        }
 7819
 7820    @classmethod
 7821    def from_dict(cls, d):
 7822        return cls(
 7823            bind_interface=d.get('bind_interface'),
 7824            database=d.get('database'),
 7825            egress_filter=d.get('egress_filter'),
 7826            healthy=d.get('healthy'),
 7827            hostname=d.get('hostname'),
 7828            id=d.get('id'),
 7829            name=d.get('name'),
 7830            password=d.get('password'),
 7831            port=d.get('port'),
 7832            port_override=d.get('port_override'),
 7833            proxy_cluster_id=d.get('proxy_cluster_id'),
 7834            require_native_auth=d.get('require_native_auth'),
 7835            secret_store_id=d.get('secret_store_id'),
 7836            subdomain=d.get('subdomain'),
 7837            tags=d.get('tags'),
 7838            use_azure_single_server_usernames=d.get(
 7839                'use_azure_single_server_usernames'),
 7840            username=d.get('username'),
 7841        )
 7842
 7843
 7844class AzurePostgres:
 7845    __slots__ = [
 7846        'bind_interface',
 7847        'database',
 7848        'egress_filter',
 7849        'healthy',
 7850        'hostname',
 7851        'id',
 7852        'name',
 7853        'override_database',
 7854        'password',
 7855        'port',
 7856        'port_override',
 7857        'proxy_cluster_id',
 7858        'secret_store_id',
 7859        'subdomain',
 7860        'tags',
 7861        'username',
 7862    ]
 7863
 7864    def __init__(
 7865        self,
 7866        bind_interface=None,
 7867        database=None,
 7868        egress_filter=None,
 7869        healthy=None,
 7870        hostname=None,
 7871        id=None,
 7872        name=None,
 7873        override_database=None,
 7874        password=None,
 7875        port=None,
 7876        port_override=None,
 7877        proxy_cluster_id=None,
 7878        secret_store_id=None,
 7879        subdomain=None,
 7880        tags=None,
 7881        username=None,
 7882    ):
 7883        self.bind_interface = bind_interface if bind_interface is not None else ''
 7884        '''
 7885         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 7886        '''
 7887        self.database = database if database is not None else ''
 7888        '''
 7889         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 7890        '''
 7891        self.egress_filter = egress_filter if egress_filter is not None else ''
 7892        '''
 7893         A filter applied to the routing logic to pin datasource to nodes.
 7894        '''
 7895        self.healthy = healthy if healthy is not None else False
 7896        '''
 7897         True if the datasource is reachable and the credentials are valid.
 7898        '''
 7899        self.hostname = hostname if hostname is not None else ''
 7900        '''
 7901         The host to dial to initiate a connection from the egress node to this resource.
 7902        '''
 7903        self.id = id if id is not None else ''
 7904        '''
 7905         Unique identifier of the Resource.
 7906        '''
 7907        self.name = name if name is not None else ''
 7908        '''
 7909         Unique human-readable name of the Resource.
 7910        '''
 7911        self.override_database = override_database if override_database is not None else False
 7912        '''
 7913         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
 7914        '''
 7915        self.password = password if password is not None else ''
 7916        '''
 7917         The password to authenticate with.
 7918        '''
 7919        self.port = port if port is not None else 0
 7920        '''
 7921         The port to dial to initiate a connection from the egress node to this resource.
 7922        '''
 7923        self.port_override = port_override if port_override is not None else 0
 7924        '''
 7925         The local port used by clients to connect to this resource.
 7926        '''
 7927        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 7928        '''
 7929         ID of the proxy cluster for this resource, if any.
 7930        '''
 7931        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 7932        '''
 7933         ID of the secret store containing credentials for this resource, if any.
 7934        '''
 7935        self.subdomain = subdomain if subdomain is not None else ''
 7936        '''
 7937         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 7938        '''
 7939        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7940        '''
 7941         Tags is a map of key, value pairs.
 7942        '''
 7943        self.username = username if username is not None else ''
 7944        '''
 7945         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.
 7946        '''
 7947
 7948    def __repr__(self):
 7949        return '<sdm.AzurePostgres ' + \
 7950            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7951            'database: ' + repr(self.database) + ' ' +\
 7952            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7953            'healthy: ' + repr(self.healthy) + ' ' +\
 7954            'hostname: ' + repr(self.hostname) + ' ' +\
 7955            'id: ' + repr(self.id) + ' ' +\
 7956            'name: ' + repr(self.name) + ' ' +\
 7957            'override_database: ' + repr(self.override_database) + ' ' +\
 7958            'password: ' + repr(self.password) + ' ' +\
 7959            'port: ' + repr(self.port) + ' ' +\
 7960            'port_override: ' + repr(self.port_override) + ' ' +\
 7961            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7962            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7963            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7964            'tags: ' + repr(self.tags) + ' ' +\
 7965            'username: ' + repr(self.username) + ' ' +\
 7966            '>'
 7967
 7968    def to_dict(self):
 7969        return {
 7970            'bind_interface': self.bind_interface,
 7971            'database': self.database,
 7972            'egress_filter': self.egress_filter,
 7973            'healthy': self.healthy,
 7974            'hostname': self.hostname,
 7975            'id': self.id,
 7976            'name': self.name,
 7977            'override_database': self.override_database,
 7978            'password': self.password,
 7979            'port': self.port,
 7980            'port_override': self.port_override,
 7981            'proxy_cluster_id': self.proxy_cluster_id,
 7982            'secret_store_id': self.secret_store_id,
 7983            'subdomain': self.subdomain,
 7984            'tags': self.tags,
 7985            'username': self.username,
 7986        }
 7987
 7988    @classmethod
 7989    def from_dict(cls, d):
 7990        return cls(
 7991            bind_interface=d.get('bind_interface'),
 7992            database=d.get('database'),
 7993            egress_filter=d.get('egress_filter'),
 7994            healthy=d.get('healthy'),
 7995            hostname=d.get('hostname'),
 7996            id=d.get('id'),
 7997            name=d.get('name'),
 7998            override_database=d.get('override_database'),
 7999            password=d.get('password'),
 8000            port=d.get('port'),
 8001            port_override=d.get('port_override'),
 8002            proxy_cluster_id=d.get('proxy_cluster_id'),
 8003            secret_store_id=d.get('secret_store_id'),
 8004            subdomain=d.get('subdomain'),
 8005            tags=d.get('tags'),
 8006            username=d.get('username'),
 8007        )
 8008
 8009
 8010class AzurePostgresManagedIdentity:
 8011    __slots__ = [
 8012        'bind_interface',
 8013        'database',
 8014        'egress_filter',
 8015        'healthy',
 8016        'hostname',
 8017        'id',
 8018        'name',
 8019        'override_database',
 8020        'password',
 8021        'port',
 8022        'port_override',
 8023        'proxy_cluster_id',
 8024        'secret_store_id',
 8025        'subdomain',
 8026        'tags',
 8027        'use_azure_single_server_usernames',
 8028        'username',
 8029    ]
 8030
 8031    def __init__(
 8032        self,
 8033        bind_interface=None,
 8034        database=None,
 8035        egress_filter=None,
 8036        healthy=None,
 8037        hostname=None,
 8038        id=None,
 8039        name=None,
 8040        override_database=None,
 8041        password=None,
 8042        port=None,
 8043        port_override=None,
 8044        proxy_cluster_id=None,
 8045        secret_store_id=None,
 8046        subdomain=None,
 8047        tags=None,
 8048        use_azure_single_server_usernames=None,
 8049        username=None,
 8050    ):
 8051        self.bind_interface = bind_interface if bind_interface is not None else ''
 8052        '''
 8053         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 8054        '''
 8055        self.database = database if database is not None else ''
 8056        '''
 8057         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 8058        '''
 8059        self.egress_filter = egress_filter if egress_filter is not None else ''
 8060        '''
 8061         A filter applied to the routing logic to pin datasource to nodes.
 8062        '''
 8063        self.healthy = healthy if healthy is not None else False
 8064        '''
 8065         True if the datasource is reachable and the credentials are valid.
 8066        '''
 8067        self.hostname = hostname if hostname is not None else ''
 8068        '''
 8069         The host to dial to initiate a connection from the egress node to this resource.
 8070        '''
 8071        self.id = id if id is not None else ''
 8072        '''
 8073         Unique identifier of the Resource.
 8074        '''
 8075        self.name = name if name is not None else ''
 8076        '''
 8077         Unique human-readable name of the Resource.
 8078        '''
 8079        self.override_database = override_database if override_database is not None else False
 8080        '''
 8081         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
 8082        '''
 8083        self.password = password if password is not None else ''
 8084        '''
 8085         The password to authenticate with.
 8086        '''
 8087        self.port = port if port is not None else 0
 8088        '''
 8089         The port to dial to initiate a connection from the egress node to this resource.
 8090        '''
 8091        self.port_override = port_override if port_override is not None else 0
 8092        '''
 8093         The local port used by clients to connect to this resource.
 8094        '''
 8095        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8096        '''
 8097         ID of the proxy cluster for this resource, if any.
 8098        '''
 8099        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 8100        '''
 8101         ID of the secret store containing credentials for this resource, if any.
 8102        '''
 8103        self.subdomain = subdomain if subdomain is not None else ''
 8104        '''
 8105         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 8106        '''
 8107        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8108        '''
 8109         Tags is a map of key, value pairs.
 8110        '''
 8111        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
 8112        '''
 8113         If true, appends the hostname to the username when hitting a database.azure.com address
 8114        '''
 8115        self.username = username if username is not None else ''
 8116        '''
 8117         The username to authenticate with.
 8118        '''
 8119
 8120    def __repr__(self):
 8121        return '<sdm.AzurePostgresManagedIdentity ' + \
 8122            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 8123            'database: ' + repr(self.database) + ' ' +\
 8124            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 8125            'healthy: ' + repr(self.healthy) + ' ' +\
 8126            'hostname: ' + repr(self.hostname) + ' ' +\
 8127            'id: ' + repr(self.id) + ' ' +\
 8128            'name: ' + repr(self.name) + ' ' +\
 8129            'override_database: ' + repr(self.override_database) + ' ' +\
 8130            'password: ' + repr(self.password) + ' ' +\
 8131            'port: ' + repr(self.port) + ' ' +\
 8132            'port_override: ' + repr(self.port_override) + ' ' +\
 8133            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8134            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8135            'subdomain: ' + repr(self.subdomain) + ' ' +\
 8136            'tags: ' + repr(self.tags) + ' ' +\
 8137            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
 8138            'username: ' + repr(self.username) + ' ' +\
 8139            '>'
 8140
 8141    def to_dict(self):
 8142        return {
 8143            'bind_interface': self.bind_interface,
 8144            'database': self.database,
 8145            'egress_filter': self.egress_filter,
 8146            'healthy': self.healthy,
 8147            'hostname': self.hostname,
 8148            'id': self.id,
 8149            'name': self.name,
 8150            'override_database': self.override_database,
 8151            'password': self.password,
 8152            'port': self.port,
 8153            'port_override': self.port_override,
 8154            'proxy_cluster_id': self.proxy_cluster_id,
 8155            'secret_store_id': self.secret_store_id,
 8156            'subdomain': self.subdomain,
 8157            'tags': self.tags,
 8158            'use_azure_single_server_usernames':
 8159            self.use_azure_single_server_usernames,
 8160            'username': self.username,
 8161        }
 8162
 8163    @classmethod
 8164    def from_dict(cls, d):
 8165        return cls(
 8166            bind_interface=d.get('bind_interface'),
 8167            database=d.get('database'),
 8168            egress_filter=d.get('egress_filter'),
 8169            healthy=d.get('healthy'),
 8170            hostname=d.get('hostname'),
 8171            id=d.get('id'),
 8172            name=d.get('name'),
 8173            override_database=d.get('override_database'),
 8174            password=d.get('password'),
 8175            port=d.get('port'),
 8176            port_override=d.get('port_override'),
 8177            proxy_cluster_id=d.get('proxy_cluster_id'),
 8178            secret_store_id=d.get('secret_store_id'),
 8179            subdomain=d.get('subdomain'),
 8180            tags=d.get('tags'),
 8181            use_azure_single_server_usernames=d.get(
 8182                'use_azure_single_server_usernames'),
 8183            username=d.get('username'),
 8184        )
 8185
 8186
 8187class AzureStore:
 8188    __slots__ = [
 8189        'id',
 8190        'name',
 8191        'tags',
 8192        'vault_uri',
 8193    ]
 8194
 8195    def __init__(
 8196        self,
 8197        id=None,
 8198        name=None,
 8199        tags=None,
 8200        vault_uri=None,
 8201    ):
 8202        self.id = id if id is not None else ''
 8203        '''
 8204         Unique identifier of the SecretStore.
 8205        '''
 8206        self.name = name if name is not None else ''
 8207        '''
 8208         Unique human-readable name of the SecretStore.
 8209        '''
 8210        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8211        '''
 8212         Tags is a map of key, value pairs.
 8213        '''
 8214        self.vault_uri = vault_uri if vault_uri is not None else ''
 8215        '''
 8216         The URI of the key vault to target e.g. https://myvault.vault.azure.net
 8217        '''
 8218
 8219    def __repr__(self):
 8220        return '<sdm.AzureStore ' + \
 8221            'id: ' + repr(self.id) + ' ' +\
 8222            'name: ' + repr(self.name) + ' ' +\
 8223            'tags: ' + repr(self.tags) + ' ' +\
 8224            'vault_uri: ' + repr(self.vault_uri) + ' ' +\
 8225            '>'
 8226
 8227    def to_dict(self):
 8228        return {
 8229            'id': self.id,
 8230            'name': self.name,
 8231            'tags': self.tags,
 8232            'vault_uri': self.vault_uri,
 8233        }
 8234
 8235    @classmethod
 8236    def from_dict(cls, d):
 8237        return cls(
 8238            id=d.get('id'),
 8239            name=d.get('name'),
 8240            tags=d.get('tags'),
 8241            vault_uri=d.get('vault_uri'),
 8242        )
 8243
 8244
 8245class BigQuery:
 8246    __slots__ = [
 8247        'bind_interface',
 8248        'egress_filter',
 8249        'endpoint',
 8250        'healthy',
 8251        'id',
 8252        'name',
 8253        'port_override',
 8254        'private_key',
 8255        'project',
 8256        'proxy_cluster_id',
 8257        'secret_store_id',
 8258        'subdomain',
 8259        'tags',
 8260        'username',
 8261    ]
 8262
 8263    def __init__(
 8264        self,
 8265        bind_interface=None,
 8266        egress_filter=None,
 8267        endpoint=None,
 8268        healthy=None,
 8269        id=None,
 8270        name=None,
 8271        port_override=None,
 8272        private_key=None,
 8273        project=None,
 8274        proxy_cluster_id=None,
 8275        secret_store_id=None,
 8276        subdomain=None,
 8277        tags=None,
 8278        username=None,
 8279    ):
 8280        self.bind_interface = bind_interface if bind_interface is not None else ''
 8281        '''
 8282         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 8283        '''
 8284        self.egress_filter = egress_filter if egress_filter is not None else ''
 8285        '''
 8286         A filter applied to the routing logic to pin datasource to nodes.
 8287        '''
 8288        self.endpoint = endpoint if endpoint is not None else ''
 8289        '''
 8290         The endpoint to dial.
 8291        '''
 8292        self.healthy = healthy if healthy is not None else False
 8293        '''
 8294         True if the datasource is reachable and the credentials are valid.
 8295        '''
 8296        self.id = id if id is not None else ''
 8297        '''
 8298         Unique identifier of the Resource.
 8299        '''
 8300        self.name = name if name is not None else ''
 8301        '''
 8302         Unique human-readable name of the Resource.
 8303        '''
 8304        self.port_override = port_override if port_override is not None else 0
 8305        '''
 8306         The local port used by clients to connect to this resource.
 8307        '''
 8308        self.private_key = private_key if private_key is not None else ''
 8309        '''
 8310         The JSON Private key to authenticate with.
 8311        '''
 8312        self.project = project if project is not None else ''
 8313        '''
 8314         The project to connect to.
 8315        '''
 8316        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8317        '''
 8318         ID of the proxy cluster for this resource, if any.
 8319        '''
 8320        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 8321        '''
 8322         ID of the secret store containing credentials for this resource, if any.
 8323        '''
 8324        self.subdomain = subdomain if subdomain is not None else ''
 8325        '''
 8326         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 8327        '''
 8328        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8329        '''
 8330         Tags is a map of key, value pairs.
 8331        '''
 8332        self.username = username if username is not None else ''
 8333        '''
 8334         The username to authenticate with.
 8335        '''
 8336
 8337    def __repr__(self):
 8338        return '<sdm.BigQuery ' + \
 8339            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 8340            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 8341            'endpoint: ' + repr(self.endpoint) + ' ' +\
 8342            'healthy: ' + repr(self.healthy) + ' ' +\
 8343            'id: ' + repr(self.id) + ' ' +\
 8344            'name: ' + repr(self.name) + ' ' +\
 8345            'port_override: ' + repr(self.port_override) + ' ' +\
 8346            'private_key: ' + repr(self.private_key) + ' ' +\
 8347            'project: ' + repr(self.project) + ' ' +\
 8348            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8349            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8350            'subdomain: ' + repr(self.subdomain) + ' ' +\
 8351            'tags: ' + repr(self.tags) + ' ' +\
 8352            'username: ' + repr(self.username) + ' ' +\
 8353            '>'
 8354
 8355    def to_dict(self):
 8356        return {
 8357            'bind_interface': self.bind_interface,
 8358            'egress_filter': self.egress_filter,
 8359            'endpoint': self.endpoint,
 8360            'healthy': self.healthy,
 8361            'id': self.id,
 8362            'name': self.name,
 8363            'port_override': self.port_override,
 8364            'private_key': self.private_key,
 8365            'project': self.project,
 8366            'proxy_cluster_id': self.proxy_cluster_id,
 8367            'secret_store_id': self.secret_store_id,
 8368            'subdomain': self.subdomain,
 8369            'tags': self.tags,
 8370            'username': self.username,
 8371        }
 8372
 8373    @classmethod
 8374    def from_dict(cls, d):
 8375        return cls(
 8376            bind_interface=d.get('bind_interface'),
 8377            egress_filter=d.get('egress_filter'),
 8378            endpoint=d.get('endpoint'),
 8379            healthy=d.get('healthy'),
 8380            id=d.get('id'),
 8381            name=d.get('name'),
 8382            port_override=d.get('port_override'),
 8383            private_key=d.get('private_key'),
 8384            project=d.get('project'),
 8385            proxy_cluster_id=d.get('proxy_cluster_id'),
 8386            secret_store_id=d.get('secret_store_id'),
 8387            subdomain=d.get('subdomain'),
 8388            tags=d.get('tags'),
 8389            username=d.get('username'),
 8390        )
 8391
 8392
 8393class Cassandra:
 8394    __slots__ = [
 8395        'bind_interface',
 8396        'egress_filter',
 8397        'healthy',
 8398        'hostname',
 8399        'id',
 8400        'name',
 8401        'password',
 8402        'port',
 8403        'port_override',
 8404        'proxy_cluster_id',
 8405        'secret_store_id',
 8406        'subdomain',
 8407        'tags',
 8408        'tls_required',
 8409        'username',
 8410    ]
 8411
 8412    def __init__(
 8413        self,
 8414        bind_interface=None,
 8415        egress_filter=None,
 8416        healthy=None,
 8417        hostname=None,
 8418        id=None,
 8419        name=None,
 8420        password=None,
 8421        port=None,
 8422        port_override=None,
 8423        proxy_cluster_id=None,
 8424        secret_store_id=None,
 8425        subdomain=None,
 8426        tags=None,
 8427        tls_required=None,
 8428        username=None,
 8429    ):
 8430        self.bind_interface = bind_interface if bind_interface is not None else ''
 8431        '''
 8432         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 8433        '''
 8434        self.egress_filter = egress_filter if egress_filter is not None else ''
 8435        '''
 8436         A filter applied to the routing logic to pin datasource to nodes.
 8437        '''
 8438        self.healthy = healthy if healthy is not None else False
 8439        '''
 8440         True if the datasource is reachable and the credentials are valid.
 8441        '''
 8442        self.hostname = hostname if hostname is not None else ''
 8443        '''
 8444         The host to dial to initiate a connection from the egress node to this resource.
 8445        '''
 8446        self.id = id if id is not None else ''
 8447        '''
 8448         Unique identifier of the Resource.
 8449        '''
 8450        self.name = name if name is not None else ''
 8451        '''
 8452         Unique human-readable name of the Resource.
 8453        '''
 8454        self.password = password if password is not None else ''
 8455        '''
 8456         The password to authenticate with.
 8457        '''
 8458        self.port = port if port is not None else 0
 8459        '''
 8460         The port to dial to initiate a connection from the egress node to this 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.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8467        '''
 8468         ID of the proxy cluster for this resource, if any.
 8469        '''
 8470        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 8471        '''
 8472         ID of the secret store containing credentials for this resource, if any.
 8473        '''
 8474        self.subdomain = subdomain if subdomain is not None else ''
 8475        '''
 8476         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 8477        '''
 8478        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8479        '''
 8480         Tags is a map of key, value pairs.
 8481        '''
 8482        self.tls_required = tls_required if tls_required is not None else False
 8483        '''
 8484         If set, TLS must be used to connect to this resource.
 8485        '''
 8486        self.username = username if username is not None else ''
 8487        '''
 8488         The username to authenticate with.
 8489        '''
 8490
 8491    def __repr__(self):
 8492        return '<sdm.Cassandra ' + \
 8493            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 8494            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 8495            'healthy: ' + repr(self.healthy) + ' ' +\
 8496            'hostname: ' + repr(self.hostname) + ' ' +\
 8497            'id: ' + repr(self.id) + ' ' +\
 8498            'name: ' + repr(self.name) + ' ' +\
 8499            'password: ' + repr(self.password) + ' ' +\
 8500            'port: ' + repr(self.port) + ' ' +\
 8501            'port_override: ' + repr(self.port_override) + ' ' +\
 8502            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8503            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8504            'subdomain: ' + repr(self.subdomain) + ' ' +\
 8505            'tags: ' + repr(self.tags) + ' ' +\
 8506            'tls_required: ' + repr(self.tls_required) + ' ' +\
 8507            'username: ' + repr(self.username) + ' ' +\
 8508            '>'
 8509
 8510    def to_dict(self):
 8511        return {
 8512            'bind_interface': self.bind_interface,
 8513            'egress_filter': self.egress_filter,
 8514            'healthy': self.healthy,
 8515            'hostname': self.hostname,
 8516            'id': self.id,
 8517            'name': self.name,
 8518            'password': self.password,
 8519            'port': self.port,
 8520            'port_override': self.port_override,
 8521            'proxy_cluster_id': self.proxy_cluster_id,
 8522            'secret_store_id': self.secret_store_id,
 8523            'subdomain': self.subdomain,
 8524            'tags': self.tags,
 8525            'tls_required': self.tls_required,
 8526            'username': self.username,
 8527        }
 8528
 8529    @classmethod
 8530    def from_dict(cls, d):
 8531        return cls(
 8532            bind_interface=d.get('bind_interface'),
 8533            egress_filter=d.get('egress_filter'),
 8534            healthy=d.get('healthy'),
 8535            hostname=d.get('hostname'),
 8536            id=d.get('id'),
 8537            name=d.get('name'),
 8538            password=d.get('password'),
 8539            port=d.get('port'),
 8540            port_override=d.get('port_override'),
 8541            proxy_cluster_id=d.get('proxy_cluster_id'),
 8542            secret_store_id=d.get('secret_store_id'),
 8543            subdomain=d.get('subdomain'),
 8544            tags=d.get('tags'),
 8545            tls_required=d.get('tls_required'),
 8546            username=d.get('username'),
 8547        )
 8548
 8549
 8550class Citus:
 8551    __slots__ = [
 8552        'bind_interface',
 8553        'database',
 8554        'egress_filter',
 8555        'healthy',
 8556        'hostname',
 8557        'id',
 8558        'name',
 8559        'override_database',
 8560        'password',
 8561        'port',
 8562        'port_override',
 8563        'proxy_cluster_id',
 8564        'secret_store_id',
 8565        'subdomain',
 8566        'tags',
 8567        'username',
 8568    ]
 8569
 8570    def __init__(
 8571        self,
 8572        bind_interface=None,
 8573        database=None,
 8574        egress_filter=None,
 8575        healthy=None,
 8576        hostname=None,
 8577        id=None,
 8578        name=None,
 8579        override_database=None,
 8580        password=None,
 8581        port=None,
 8582        port_override=None,
 8583        proxy_cluster_id=None,
 8584        secret_store_id=None,
 8585        subdomain=None,
 8586        tags=None,
 8587        username=None,
 8588    ):
 8589        self.bind_interface = bind_interface if bind_interface is not None else ''
 8590        '''
 8591         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 8592        '''
 8593        self.database = database if database is not None else ''
 8594        '''
 8595         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 8596        '''
 8597        self.egress_filter = egress_filter if egress_filter is not None else ''
 8598        '''
 8599         A filter applied to the routing logic to pin datasource to nodes.
 8600        '''
 8601        self.healthy = healthy if healthy is not None else False
 8602        '''
 8603         True if the datasource is reachable and the credentials are valid.
 8604        '''
 8605        self.hostname = hostname if hostname is not None else ''
 8606        '''
 8607         The host to dial to initiate a connection from the egress node to this resource.
 8608        '''
 8609        self.id = id if id is not None else ''
 8610        '''
 8611         Unique identifier of the Resource.
 8612        '''
 8613        self.name = name if name is not None else ''
 8614        '''
 8615         Unique human-readable name of the Resource.
 8616        '''
 8617        self.override_database = override_database if override_database is not None else False
 8618        '''
 8619         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
 8620        '''
 8621        self.password = password if password is not None else ''
 8622        '''
 8623         The password to authenticate with.
 8624        '''
 8625        self.port = port if port is not None else 0
 8626        '''
 8627         The port to dial to initiate a connection from the egress node to this resource.
 8628        '''
 8629        self.port_override = port_override if port_override is not None else 0
 8630        '''
 8631         The local port used by clients to connect to this resource.
 8632        '''
 8633        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8634        '''
 8635         ID of the proxy cluster for this resource, if any.
 8636        '''
 8637        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 8638        '''
 8639         ID of the secret store containing credentials for this resource, if any.
 8640        '''
 8641        self.subdomain = subdomain if subdomain is not None else ''
 8642        '''
 8643         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 8644        '''
 8645        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8646        '''
 8647         Tags is a map of key, value pairs.
 8648        '''
 8649        self.username = username if username is not None else ''
 8650        '''
 8651         The username to authenticate with.
 8652        '''
 8653
 8654    def __repr__(self):
 8655        return '<sdm.Citus ' + \
 8656            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 8657            'database: ' + repr(self.database) + ' ' +\
 8658            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 8659            'healthy: ' + repr(self.healthy) + ' ' +\
 8660            'hostname: ' + repr(self.hostname) + ' ' +\
 8661            'id: ' + repr(self.id) + ' ' +\
 8662            'name: ' + repr(self.name) + ' ' +\
 8663            'override_database: ' + repr(self.override_database) + ' ' +\
 8664            'password: ' + repr(self.password) + ' ' +\
 8665            'port: ' + repr(self.port) + ' ' +\
 8666            'port_override: ' + repr(self.port_override) + ' ' +\
 8667            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8668            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8669            'subdomain: ' + repr(self.subdomain) + ' ' +\
 8670            'tags: ' + repr(self.tags) + ' ' +\
 8671            'username: ' + repr(self.username) + ' ' +\
 8672            '>'
 8673
 8674    def to_dict(self):
 8675        return {
 8676            'bind_interface': self.bind_interface,
 8677            'database': self.database,
 8678            'egress_filter': self.egress_filter,
 8679            'healthy': self.healthy,
 8680            'hostname': self.hostname,
 8681            'id': self.id,
 8682            'name': self.name,
 8683            'override_database': self.override_database,
 8684            'password': self.password,
 8685            'port': self.port,
 8686            'port_override': self.port_override,
 8687            'proxy_cluster_id': self.proxy_cluster_id,
 8688            'secret_store_id': self.secret_store_id,
 8689            'subdomain': self.subdomain,
 8690            'tags': self.tags,
 8691            'username': self.username,
 8692        }
 8693
 8694    @classmethod
 8695    def from_dict(cls, d):
 8696        return cls(
 8697            bind_interface=d.get('bind_interface'),
 8698            database=d.get('database'),
 8699            egress_filter=d.get('egress_filter'),
 8700            healthy=d.get('healthy'),
 8701            hostname=d.get('hostname'),
 8702            id=d.get('id'),
 8703            name=d.get('name'),
 8704            override_database=d.get('override_database'),
 8705            password=d.get('password'),
 8706            port=d.get('port'),
 8707            port_override=d.get('port_override'),
 8708            proxy_cluster_id=d.get('proxy_cluster_id'),
 8709            secret_store_id=d.get('secret_store_id'),
 8710            subdomain=d.get('subdomain'),
 8711            tags=d.get('tags'),
 8712            username=d.get('username'),
 8713        )
 8714
 8715
 8716class ClickHouseHTTP:
 8717    __slots__ = [
 8718        'bind_interface',
 8719        'database',
 8720        'egress_filter',
 8721        'healthy',
 8722        'id',
 8723        'name',
 8724        'password',
 8725        'port_override',
 8726        'proxy_cluster_id',
 8727        'secret_store_id',
 8728        'tags',
 8729        'url',
 8730        'username',
 8731    ]
 8732
 8733    def __init__(
 8734        self,
 8735        bind_interface=None,
 8736        database=None,
 8737        egress_filter=None,
 8738        healthy=None,
 8739        id=None,
 8740        name=None,
 8741        password=None,
 8742        port_override=None,
 8743        proxy_cluster_id=None,
 8744        secret_store_id=None,
 8745        tags=None,
 8746        url=None,
 8747        username=None,
 8748    ):
 8749        self.bind_interface = bind_interface if bind_interface is not None else ''
 8750        '''
 8751         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 8752        '''
 8753        self.database = database if database is not None else ''
 8754        '''
 8755         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 8756        '''
 8757        self.egress_filter = egress_filter if egress_filter is not None else ''
 8758        '''
 8759         A filter applied to the routing logic to pin datasource to nodes.
 8760        '''
 8761        self.healthy = healthy if healthy is not None else False
 8762        '''
 8763         True if the datasource is reachable and the credentials are valid.
 8764        '''
 8765        self.id = id if id is not None else ''
 8766        '''
 8767         Unique identifier of the Resource.
 8768        '''
 8769        self.name = name if name is not None else ''
 8770        '''
 8771         Unique human-readable name of the Resource.
 8772        '''
 8773        self.password = password if password is not None else ''
 8774        '''
 8775         The password to authenticate with.
 8776        '''
 8777        self.port_override = port_override if port_override is not None else 0
 8778        '''
 8779         The local port used by clients to connect to this resource.
 8780        '''
 8781        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8782        '''
 8783         ID of the proxy cluster for this resource, if any.
 8784        '''
 8785        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 8786        '''
 8787         ID of the secret store containing credentials for this resource, if any.
 8788        '''
 8789        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8790        '''
 8791         Tags is a map of key, value pairs.
 8792        '''
 8793        self.url = url if url is not None else ''
 8794        '''
 8795         The URL to dial to initiate a connection from the egress node to this resource.
 8796        '''
 8797        self.username = username if username is not None else ''
 8798        '''
 8799         The username to authenticate with.
 8800        '''
 8801
 8802    def __repr__(self):
 8803        return '<sdm.ClickHouseHTTP ' + \
 8804            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 8805            'database: ' + repr(self.database) + ' ' +\
 8806            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 8807            'healthy: ' + repr(self.healthy) + ' ' +\
 8808            'id: ' + repr(self.id) + ' ' +\
 8809            'name: ' + repr(self.name) + ' ' +\
 8810            'password: ' + repr(self.password) + ' ' +\
 8811            'port_override: ' + repr(self.port_override) + ' ' +\
 8812            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8813            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8814            'tags: ' + repr(self.tags) + ' ' +\
 8815            'url: ' + repr(self.url) + ' ' +\
 8816            'username: ' + repr(self.username) + ' ' +\
 8817            '>'
 8818
 8819    def to_dict(self):
 8820        return {
 8821            'bind_interface': self.bind_interface,
 8822            'database': self.database,
 8823            'egress_filter': self.egress_filter,
 8824            'healthy': self.healthy,
 8825            'id': self.id,
 8826            'name': self.name,
 8827            'password': self.password,
 8828            'port_override': self.port_override,
 8829            'proxy_cluster_id': self.proxy_cluster_id,
 8830            'secret_store_id': self.secret_store_id,
 8831            'tags': self.tags,
 8832            'url': self.url,
 8833            'username': self.username,
 8834        }
 8835
 8836    @classmethod
 8837    def from_dict(cls, d):
 8838        return cls(
 8839            bind_interface=d.get('bind_interface'),
 8840            database=d.get('database'),
 8841            egress_filter=d.get('egress_filter'),
 8842            healthy=d.get('healthy'),
 8843            id=d.get('id'),
 8844            name=d.get('name'),
 8845            password=d.get('password'),
 8846            port_override=d.get('port_override'),
 8847            proxy_cluster_id=d.get('proxy_cluster_id'),
 8848            secret_store_id=d.get('secret_store_id'),
 8849            tags=d.get('tags'),
 8850            url=d.get('url'),
 8851            username=d.get('username'),
 8852        )
 8853
 8854
 8855class ClickHouseMySQL:
 8856    __slots__ = [
 8857        'bind_interface',
 8858        'database',
 8859        'egress_filter',
 8860        'healthy',
 8861        'hostname',
 8862        'id',
 8863        'name',
 8864        'password',
 8865        'port',
 8866        'port_override',
 8867        'proxy_cluster_id',
 8868        'require_native_auth',
 8869        'secret_store_id',
 8870        'subdomain',
 8871        'tags',
 8872        'username',
 8873    ]
 8874
 8875    def __init__(
 8876        self,
 8877        bind_interface=None,
 8878        database=None,
 8879        egress_filter=None,
 8880        healthy=None,
 8881        hostname=None,
 8882        id=None,
 8883        name=None,
 8884        password=None,
 8885        port=None,
 8886        port_override=None,
 8887        proxy_cluster_id=None,
 8888        require_native_auth=None,
 8889        secret_store_id=None,
 8890        subdomain=None,
 8891        tags=None,
 8892        username=None,
 8893    ):
 8894        self.bind_interface = bind_interface if bind_interface is not None else ''
 8895        '''
 8896         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 8897        '''
 8898        self.database = database if database is not None else ''
 8899        '''
 8900         The database for healthchecks. Does not affect client requests.
 8901        '''
 8902        self.egress_filter = egress_filter if egress_filter is not None else ''
 8903        '''
 8904         A filter applied to the routing logic to pin datasource to nodes.
 8905        '''
 8906        self.healthy = healthy if healthy is not None else False
 8907        '''
 8908         True if the datasource is reachable and the credentials are valid.
 8909        '''
 8910        self.hostname = hostname if hostname is not None else ''
 8911        '''
 8912         The host to dial to initiate a connection from the egress node to this resource.
 8913        '''
 8914        self.id = id if id is not None else ''
 8915        '''
 8916         Unique identifier of the Resource.
 8917        '''
 8918        self.name = name if name is not None else ''
 8919        '''
 8920         Unique human-readable name of the Resource.
 8921        '''
 8922        self.password = password if password is not None else ''
 8923        '''
 8924         The password to authenticate with.
 8925        '''
 8926        self.port = port if port is not None else 0
 8927        '''
 8928         The port to dial to initiate a connection from the egress node to this resource.
 8929        '''
 8930        self.port_override = port_override if port_override is not None else 0
 8931        '''
 8932         The local port used by clients to connect to this resource.
 8933        '''
 8934        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8935        '''
 8936         ID of the proxy cluster for this resource, if any.
 8937        '''
 8938        self.require_native_auth = require_native_auth if require_native_auth is not None else False
 8939        '''
 8940         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
 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.subdomain = subdomain if subdomain is not None else ''
 8947        '''
 8948         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 8949        '''
 8950        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8951        '''
 8952         Tags is a map of key, value pairs.
 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.ClickHouseMySQL ' + \
 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            'hostname: ' + repr(self.hostname) + ' ' +\
 8966            'id: ' + repr(self.id) + ' ' +\
 8967            'name: ' + repr(self.name) + ' ' +\
 8968            'password: ' + repr(self.password) + ' ' +\
 8969            'port: ' + repr(self.port) + ' ' +\
 8970            'port_override: ' + repr(self.port_override) + ' ' +\
 8971            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8972            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
 8973            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8974            'subdomain: ' + repr(self.subdomain) + ' ' +\
 8975            'tags: ' + repr(self.tags) + ' ' +\
 8976            'username: ' + repr(self.username) + ' ' +\
 8977            '>'
 8978
 8979    def to_dict(self):
 8980        return {
 8981            'bind_interface': self.bind_interface,
 8982            'database': self.database,
 8983            'egress_filter': self.egress_filter,
 8984            'healthy': self.healthy,
 8985            'hostname': self.hostname,
 8986            'id': self.id,
 8987            'name': self.name,
 8988            'password': self.password,
 8989            'port': self.port,
 8990            'port_override': self.port_override,
 8991            'proxy_cluster_id': self.proxy_cluster_id,
 8992            'require_native_auth': self.require_native_auth,
 8993            'secret_store_id': self.secret_store_id,
 8994            'subdomain': self.subdomain,
 8995            'tags': self.tags,
 8996            'username': self.username,
 8997        }
 8998
 8999    @classmethod
 9000    def from_dict(cls, d):
 9001        return cls(
 9002            bind_interface=d.get('bind_interface'),
 9003            database=d.get('database'),
 9004            egress_filter=d.get('egress_filter'),
 9005            healthy=d.get('healthy'),
 9006            hostname=d.get('hostname'),
 9007            id=d.get('id'),
 9008            name=d.get('name'),
 9009            password=d.get('password'),
 9010            port=d.get('port'),
 9011            port_override=d.get('port_override'),
 9012            proxy_cluster_id=d.get('proxy_cluster_id'),
 9013            require_native_auth=d.get('require_native_auth'),
 9014            secret_store_id=d.get('secret_store_id'),
 9015            subdomain=d.get('subdomain'),
 9016            tags=d.get('tags'),
 9017            username=d.get('username'),
 9018        )
 9019
 9020
 9021class ClickHouseTCP:
 9022    __slots__ = [
 9023        'bind_interface',
 9024        'database',
 9025        'egress_filter',
 9026        'healthy',
 9027        'hostname',
 9028        'id',
 9029        'name',
 9030        'password',
 9031        'port',
 9032        'port_override',
 9033        'proxy_cluster_id',
 9034        'secret_store_id',
 9035        'subdomain',
 9036        'tags',
 9037        'tls_required',
 9038        'username',
 9039    ]
 9040
 9041    def __init__(
 9042        self,
 9043        bind_interface=None,
 9044        database=None,
 9045        egress_filter=None,
 9046        healthy=None,
 9047        hostname=None,
 9048        id=None,
 9049        name=None,
 9050        password=None,
 9051        port=None,
 9052        port_override=None,
 9053        proxy_cluster_id=None,
 9054        secret_store_id=None,
 9055        subdomain=None,
 9056        tags=None,
 9057        tls_required=None,
 9058        username=None,
 9059    ):
 9060        self.bind_interface = bind_interface if bind_interface is not None else ''
 9061        '''
 9062         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 9063        '''
 9064        self.database = database if database is not None else ''
 9065        '''
 9066         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 9067        '''
 9068        self.egress_filter = egress_filter if egress_filter is not None else ''
 9069        '''
 9070         A filter applied to the routing logic to pin datasource to nodes.
 9071        '''
 9072        self.healthy = healthy if healthy is not None else False
 9073        '''
 9074         True if the datasource is reachable and the credentials are valid.
 9075        '''
 9076        self.hostname = hostname if hostname is not None else ''
 9077        '''
 9078         The host to dial to initiate a connection from the egress node to this resource.
 9079        '''
 9080        self.id = id if id is not None else ''
 9081        '''
 9082         Unique identifier of the Resource.
 9083        '''
 9084        self.name = name if name is not None else ''
 9085        '''
 9086         Unique human-readable name of the Resource.
 9087        '''
 9088        self.password = password if password is not None else ''
 9089        '''
 9090         The password to authenticate with.
 9091        '''
 9092        self.port = port if port is not None else 0
 9093        '''
 9094         The port to dial to initiate a connection from the egress node to this resource.
 9095        '''
 9096        self.port_override = port_override if port_override is not None else 0
 9097        '''
 9098         The local port used by clients to connect to this resource.
 9099        '''
 9100        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9101        '''
 9102         ID of the proxy cluster for this resource, if any.
 9103        '''
 9104        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9105        '''
 9106         ID of the secret store containing credentials for this resource, if any.
 9107        '''
 9108        self.subdomain = subdomain if subdomain is not None else ''
 9109        '''
 9110         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 9111        '''
 9112        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9113        '''
 9114         Tags is a map of key, value pairs.
 9115        '''
 9116        self.tls_required = tls_required if tls_required is not None else False
 9117        '''
 9118         If set, TLS must be used to connect to this resource.
 9119        '''
 9120        self.username = username if username is not None else ''
 9121        '''
 9122         The username to authenticate with.
 9123        '''
 9124
 9125    def __repr__(self):
 9126        return '<sdm.ClickHouseTCP ' + \
 9127            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 9128            'database: ' + repr(self.database) + ' ' +\
 9129            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 9130            'healthy: ' + repr(self.healthy) + ' ' +\
 9131            'hostname: ' + repr(self.hostname) + ' ' +\
 9132            'id: ' + repr(self.id) + ' ' +\
 9133            'name: ' + repr(self.name) + ' ' +\
 9134            'password: ' + repr(self.password) + ' ' +\
 9135            'port: ' + repr(self.port) + ' ' +\
 9136            'port_override: ' + repr(self.port_override) + ' ' +\
 9137            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 9138            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 9139            'subdomain: ' + repr(self.subdomain) + ' ' +\
 9140            'tags: ' + repr(self.tags) + ' ' +\
 9141            'tls_required: ' + repr(self.tls_required) + ' ' +\
 9142            'username: ' + repr(self.username) + ' ' +\
 9143            '>'
 9144
 9145    def to_dict(self):
 9146        return {
 9147            'bind_interface': self.bind_interface,
 9148            'database': self.database,
 9149            'egress_filter': self.egress_filter,
 9150            'healthy': self.healthy,
 9151            'hostname': self.hostname,
 9152            'id': self.id,
 9153            'name': self.name,
 9154            'password': self.password,
 9155            'port': self.port,
 9156            'port_override': self.port_override,
 9157            'proxy_cluster_id': self.proxy_cluster_id,
 9158            'secret_store_id': self.secret_store_id,
 9159            'subdomain': self.subdomain,
 9160            'tags': self.tags,
 9161            'tls_required': self.tls_required,
 9162            'username': self.username,
 9163        }
 9164
 9165    @classmethod
 9166    def from_dict(cls, d):
 9167        return cls(
 9168            bind_interface=d.get('bind_interface'),
 9169            database=d.get('database'),
 9170            egress_filter=d.get('egress_filter'),
 9171            healthy=d.get('healthy'),
 9172            hostname=d.get('hostname'),
 9173            id=d.get('id'),
 9174            name=d.get('name'),
 9175            password=d.get('password'),
 9176            port=d.get('port'),
 9177            port_override=d.get('port_override'),
 9178            proxy_cluster_id=d.get('proxy_cluster_id'),
 9179            secret_store_id=d.get('secret_store_id'),
 9180            subdomain=d.get('subdomain'),
 9181            tags=d.get('tags'),
 9182            tls_required=d.get('tls_required'),
 9183            username=d.get('username'),
 9184        )
 9185
 9186
 9187class Clustrix:
 9188    __slots__ = [
 9189        'bind_interface',
 9190        'database',
 9191        'egress_filter',
 9192        'healthy',
 9193        'hostname',
 9194        'id',
 9195        'name',
 9196        'password',
 9197        'port',
 9198        'port_override',
 9199        'proxy_cluster_id',
 9200        'require_native_auth',
 9201        'secret_store_id',
 9202        'subdomain',
 9203        'tags',
 9204        'use_azure_single_server_usernames',
 9205        'username',
 9206    ]
 9207
 9208    def __init__(
 9209        self,
 9210        bind_interface=None,
 9211        database=None,
 9212        egress_filter=None,
 9213        healthy=None,
 9214        hostname=None,
 9215        id=None,
 9216        name=None,
 9217        password=None,
 9218        port=None,
 9219        port_override=None,
 9220        proxy_cluster_id=None,
 9221        require_native_auth=None,
 9222        secret_store_id=None,
 9223        subdomain=None,
 9224        tags=None,
 9225        use_azure_single_server_usernames=None,
 9226        username=None,
 9227    ):
 9228        self.bind_interface = bind_interface if bind_interface is not None else ''
 9229        '''
 9230         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 9231        '''
 9232        self.database = database if database is not None else ''
 9233        '''
 9234         The database for healthchecks. Does not affect client requests.
 9235        '''
 9236        self.egress_filter = egress_filter if egress_filter is not None else ''
 9237        '''
 9238         A filter applied to the routing logic to pin datasource to nodes.
 9239        '''
 9240        self.healthy = healthy if healthy is not None else False
 9241        '''
 9242         True if the datasource is reachable and the credentials are valid.
 9243        '''
 9244        self.hostname = hostname if hostname is not None else ''
 9245        '''
 9246         The host to dial to initiate a connection from the egress node to this resource.
 9247        '''
 9248        self.id = id if id is not None else ''
 9249        '''
 9250         Unique identifier of the Resource.
 9251        '''
 9252        self.name = name if name is not None else ''
 9253        '''
 9254         Unique human-readable name of the Resource.
 9255        '''
 9256        self.password = password if password is not None else ''
 9257        '''
 9258         The password to authenticate with.
 9259        '''
 9260        self.port = port if port is not None else 0
 9261        '''
 9262         The port to dial to initiate a connection from the egress node to this resource.
 9263        '''
 9264        self.port_override = port_override if port_override is not None else 0
 9265        '''
 9266         The local port used by clients to connect to this resource.
 9267        '''
 9268        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9269        '''
 9270         ID of the proxy cluster for this resource, if any.
 9271        '''
 9272        self.require_native_auth = require_native_auth if require_native_auth is not None else False
 9273        '''
 9274         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
 9275        '''
 9276        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9277        '''
 9278         ID of the secret store containing credentials for this resource, if any.
 9279        '''
 9280        self.subdomain = subdomain if subdomain is not None else ''
 9281        '''
 9282         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 9283        '''
 9284        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9285        '''
 9286         Tags is a map of key, value pairs.
 9287        '''
 9288        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
 9289        '''
 9290         If true, appends the hostname to the username when hitting a database.azure.com address
 9291        '''
 9292        self.username = username if username is not None else ''
 9293        '''
 9294         The username to authenticate with.
 9295        '''
 9296
 9297    def __repr__(self):
 9298        return '<sdm.Clustrix ' + \
 9299            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 9300            'database: ' + repr(self.database) + ' ' +\
 9301            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 9302            'healthy: ' + repr(self.healthy) + ' ' +\
 9303            'hostname: ' + repr(self.hostname) + ' ' +\
 9304            'id: ' + repr(self.id) + ' ' +\
 9305            'name: ' + repr(self.name) + ' ' +\
 9306            'password: ' + repr(self.password) + ' ' +\
 9307            'port: ' + repr(self.port) + ' ' +\
 9308            'port_override: ' + repr(self.port_override) + ' ' +\
 9309            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 9310            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
 9311            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 9312            'subdomain: ' + repr(self.subdomain) + ' ' +\
 9313            'tags: ' + repr(self.tags) + ' ' +\
 9314            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
 9315            'username: ' + repr(self.username) + ' ' +\
 9316            '>'
 9317
 9318    def to_dict(self):
 9319        return {
 9320            'bind_interface': self.bind_interface,
 9321            'database': self.database,
 9322            'egress_filter': self.egress_filter,
 9323            'healthy': self.healthy,
 9324            'hostname': self.hostname,
 9325            'id': self.id,
 9326            'name': self.name,
 9327            'password': self.password,
 9328            'port': self.port,
 9329            'port_override': self.port_override,
 9330            'proxy_cluster_id': self.proxy_cluster_id,
 9331            'require_native_auth': self.require_native_auth,
 9332            'secret_store_id': self.secret_store_id,
 9333            'subdomain': self.subdomain,
 9334            'tags': self.tags,
 9335            'use_azure_single_server_usernames':
 9336            self.use_azure_single_server_usernames,
 9337            'username': self.username,
 9338        }
 9339
 9340    @classmethod
 9341    def from_dict(cls, d):
 9342        return cls(
 9343            bind_interface=d.get('bind_interface'),
 9344            database=d.get('database'),
 9345            egress_filter=d.get('egress_filter'),
 9346            healthy=d.get('healthy'),
 9347            hostname=d.get('hostname'),
 9348            id=d.get('id'),
 9349            name=d.get('name'),
 9350            password=d.get('password'),
 9351            port=d.get('port'),
 9352            port_override=d.get('port_override'),
 9353            proxy_cluster_id=d.get('proxy_cluster_id'),
 9354            require_native_auth=d.get('require_native_auth'),
 9355            secret_store_id=d.get('secret_store_id'),
 9356            subdomain=d.get('subdomain'),
 9357            tags=d.get('tags'),
 9358            use_azure_single_server_usernames=d.get(
 9359                'use_azure_single_server_usernames'),
 9360            username=d.get('username'),
 9361        )
 9362
 9363
 9364class Cockroach:
 9365    __slots__ = [
 9366        'bind_interface',
 9367        'database',
 9368        'egress_filter',
 9369        'healthy',
 9370        'hostname',
 9371        'id',
 9372        'name',
 9373        'override_database',
 9374        'password',
 9375        'port',
 9376        'port_override',
 9377        'proxy_cluster_id',
 9378        'secret_store_id',
 9379        'subdomain',
 9380        'tags',
 9381        'username',
 9382    ]
 9383
 9384    def __init__(
 9385        self,
 9386        bind_interface=None,
 9387        database=None,
 9388        egress_filter=None,
 9389        healthy=None,
 9390        hostname=None,
 9391        id=None,
 9392        name=None,
 9393        override_database=None,
 9394        password=None,
 9395        port=None,
 9396        port_override=None,
 9397        proxy_cluster_id=None,
 9398        secret_store_id=None,
 9399        subdomain=None,
 9400        tags=None,
 9401        username=None,
 9402    ):
 9403        self.bind_interface = bind_interface if bind_interface is not None else ''
 9404        '''
 9405         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 9406        '''
 9407        self.database = database if database is not None else ''
 9408        '''
 9409         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 9410        '''
 9411        self.egress_filter = egress_filter if egress_filter is not None else ''
 9412        '''
 9413         A filter applied to the routing logic to pin datasource to nodes.
 9414        '''
 9415        self.healthy = healthy if healthy is not None else False
 9416        '''
 9417         True if the datasource is reachable and the credentials are valid.
 9418        '''
 9419        self.hostname = hostname if hostname is not None else ''
 9420        '''
 9421         The host to dial to initiate a connection from the egress node to this resource.
 9422        '''
 9423        self.id = id if id is not None else ''
 9424        '''
 9425         Unique identifier of the Resource.
 9426        '''
 9427        self.name = name if name is not None else ''
 9428        '''
 9429         Unique human-readable name of the Resource.
 9430        '''
 9431        self.override_database = override_database if override_database is not None else False
 9432        '''
 9433         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
 9434        '''
 9435        self.password = password if password is not None else ''
 9436        '''
 9437         The password to authenticate with.
 9438        '''
 9439        self.port = port if port is not None else 0
 9440        '''
 9441         The port to dial to initiate a connection from the egress node to this resource.
 9442        '''
 9443        self.port_override = port_override if port_override is not None else 0
 9444        '''
 9445         The local port used by clients to connect to this resource.
 9446        '''
 9447        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9448        '''
 9449         ID of the proxy cluster for this resource, if any.
 9450        '''
 9451        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9452        '''
 9453         ID of the secret store containing credentials for this resource, if any.
 9454        '''
 9455        self.subdomain = subdomain if subdomain is not None else ''
 9456        '''
 9457         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 9458        '''
 9459        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9460        '''
 9461         Tags is a map of key, value pairs.
 9462        '''
 9463        self.username = username if username is not None else ''
 9464        '''
 9465         The username to authenticate with.
 9466        '''
 9467
 9468    def __repr__(self):
 9469        return '<sdm.Cockroach ' + \
 9470            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 9471            'database: ' + repr(self.database) + ' ' +\
 9472            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 9473            'healthy: ' + repr(self.healthy) + ' ' +\
 9474            'hostname: ' + repr(self.hostname) + ' ' +\
 9475            'id: ' + repr(self.id) + ' ' +\
 9476            'name: ' + repr(self.name) + ' ' +\
 9477            'override_database: ' + repr(self.override_database) + ' ' +\
 9478            'password: ' + repr(self.password) + ' ' +\
 9479            'port: ' + repr(self.port) + ' ' +\
 9480            'port_override: ' + repr(self.port_override) + ' ' +\
 9481            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 9482            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 9483            'subdomain: ' + repr(self.subdomain) + ' ' +\
 9484            'tags: ' + repr(self.tags) + ' ' +\
 9485            'username: ' + repr(self.username) + ' ' +\
 9486            '>'
 9487
 9488    def to_dict(self):
 9489        return {
 9490            'bind_interface': self.bind_interface,
 9491            'database': self.database,
 9492            'egress_filter': self.egress_filter,
 9493            'healthy': self.healthy,
 9494            'hostname': self.hostname,
 9495            'id': self.id,
 9496            'name': self.name,
 9497            'override_database': self.override_database,
 9498            'password': self.password,
 9499            'port': self.port,
 9500            'port_override': self.port_override,
 9501            'proxy_cluster_id': self.proxy_cluster_id,
 9502            'secret_store_id': self.secret_store_id,
 9503            'subdomain': self.subdomain,
 9504            'tags': self.tags,
 9505            'username': self.username,
 9506        }
 9507
 9508    @classmethod
 9509    def from_dict(cls, d):
 9510        return cls(
 9511            bind_interface=d.get('bind_interface'),
 9512            database=d.get('database'),
 9513            egress_filter=d.get('egress_filter'),
 9514            healthy=d.get('healthy'),
 9515            hostname=d.get('hostname'),
 9516            id=d.get('id'),
 9517            name=d.get('name'),
 9518            override_database=d.get('override_database'),
 9519            password=d.get('password'),
 9520            port=d.get('port'),
 9521            port_override=d.get('port_override'),
 9522            proxy_cluster_id=d.get('proxy_cluster_id'),
 9523            secret_store_id=d.get('secret_store_id'),
 9524            subdomain=d.get('subdomain'),
 9525            tags=d.get('tags'),
 9526            username=d.get('username'),
 9527        )
 9528
 9529
 9530class ControlPanelGetRDPCAPublicKeyResponse:
 9531    '''
 9532         ControlPanelGetRDPCAPublicKeyResponse represents a request for an
 9533     organization's RDP Certificate Authority public key.
 9534    '''
 9535    __slots__ = [
 9536        'meta',
 9537        'public_key',
 9538        'rate_limit',
 9539    ]
 9540
 9541    def __init__(
 9542        self,
 9543        meta=None,
 9544        public_key=None,
 9545        rate_limit=None,
 9546    ):
 9547        self.meta = meta if meta is not None else None
 9548        '''
 9549         Reserved for future use.
 9550        '''
 9551        self.public_key = public_key if public_key is not None else ''
 9552        '''
 9553         The public key of the SSH Certificate Authority, in OpenSSH RSA public
 9554         key format.
 9555        '''
 9556        self.rate_limit = rate_limit if rate_limit is not None else None
 9557        '''
 9558         Rate limit information.
 9559        '''
 9560
 9561    def __repr__(self):
 9562        return '<sdm.ControlPanelGetRDPCAPublicKeyResponse ' + \
 9563            'meta: ' + repr(self.meta) + ' ' +\
 9564            'public_key: ' + repr(self.public_key) + ' ' +\
 9565            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 9566            '>'
 9567
 9568    def to_dict(self):
 9569        return {
 9570            'meta': self.meta,
 9571            'public_key': self.public_key,
 9572            'rate_limit': self.rate_limit,
 9573        }
 9574
 9575    @classmethod
 9576    def from_dict(cls, d):
 9577        return cls(
 9578            meta=d.get('meta'),
 9579            public_key=d.get('public_key'),
 9580            rate_limit=d.get('rate_limit'),
 9581        )
 9582
 9583
 9584class ControlPanelGetSSHCAPublicKeyResponse:
 9585    '''
 9586         ControlPanelGetSSHCAPublicKeyResponse represents a request for an
 9587     organization's SSH Certificate Authority public key.
 9588    '''
 9589    __slots__ = [
 9590        'meta',
 9591        'public_key',
 9592        'rate_limit',
 9593    ]
 9594
 9595    def __init__(
 9596        self,
 9597        meta=None,
 9598        public_key=None,
 9599        rate_limit=None,
 9600    ):
 9601        self.meta = meta if meta is not None else None
 9602        '''
 9603         Reserved for future use.
 9604        '''
 9605        self.public_key = public_key if public_key is not None else ''
 9606        '''
 9607         The public key of the SSH Certificate Authority, in OpenSSH RSA public
 9608         key format.
 9609        '''
 9610        self.rate_limit = rate_limit if rate_limit is not None else None
 9611        '''
 9612         Rate limit information.
 9613        '''
 9614
 9615    def __repr__(self):
 9616        return '<sdm.ControlPanelGetSSHCAPublicKeyResponse ' + \
 9617            'meta: ' + repr(self.meta) + ' ' +\
 9618            'public_key: ' + repr(self.public_key) + ' ' +\
 9619            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 9620            '>'
 9621
 9622    def to_dict(self):
 9623        return {
 9624            'meta': self.meta,
 9625            'public_key': self.public_key,
 9626            'rate_limit': self.rate_limit,
 9627        }
 9628
 9629    @classmethod
 9630    def from_dict(cls, d):
 9631        return cls(
 9632            meta=d.get('meta'),
 9633            public_key=d.get('public_key'),
 9634            rate_limit=d.get('rate_limit'),
 9635        )
 9636
 9637
 9638class ControlPanelVerifyJWTResponse:
 9639    '''
 9640         ControlPanelVerifyJWTResponse reports whether x-sdm-token is valid.
 9641    '''
 9642    __slots__ = [
 9643        'meta',
 9644        'rate_limit',
 9645        'valid',
 9646    ]
 9647
 9648    def __init__(
 9649        self,
 9650        meta=None,
 9651        rate_limit=None,
 9652        valid=None,
 9653    ):
 9654        self.meta = meta if meta is not None else None
 9655        '''
 9656         Reserved for future use.
 9657        '''
 9658        self.rate_limit = rate_limit if rate_limit is not None else None
 9659        '''
 9660         Rate limit information.
 9661        '''
 9662        self.valid = valid if valid is not None else False
 9663        '''
 9664         Reports if the given token is valid.
 9665        '''
 9666
 9667    def __repr__(self):
 9668        return '<sdm.ControlPanelVerifyJWTResponse ' + \
 9669            'meta: ' + repr(self.meta) + ' ' +\
 9670            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 9671            'valid: ' + repr(self.valid) + ' ' +\
 9672            '>'
 9673
 9674    def to_dict(self):
 9675        return {
 9676            'meta': self.meta,
 9677            'rate_limit': self.rate_limit,
 9678            'valid': self.valid,
 9679        }
 9680
 9681    @classmethod
 9682    def from_dict(cls, d):
 9683        return cls(
 9684            meta=d.get('meta'),
 9685            rate_limit=d.get('rate_limit'),
 9686            valid=d.get('valid'),
 9687        )
 9688
 9689
 9690class CouchbaseDatabase:
 9691    __slots__ = [
 9692        'bind_interface',
 9693        'egress_filter',
 9694        'healthy',
 9695        'hostname',
 9696        'id',
 9697        'n1ql_port',
 9698        'name',
 9699        'password',
 9700        'port',
 9701        'port_override',
 9702        'proxy_cluster_id',
 9703        'secret_store_id',
 9704        'subdomain',
 9705        'tags',
 9706        'tls_required',
 9707        'username',
 9708    ]
 9709
 9710    def __init__(
 9711        self,
 9712        bind_interface=None,
 9713        egress_filter=None,
 9714        healthy=None,
 9715        hostname=None,
 9716        id=None,
 9717        n1ql_port=None,
 9718        name=None,
 9719        password=None,
 9720        port=None,
 9721        port_override=None,
 9722        proxy_cluster_id=None,
 9723        secret_store_id=None,
 9724        subdomain=None,
 9725        tags=None,
 9726        tls_required=None,
 9727        username=None,
 9728    ):
 9729        self.bind_interface = bind_interface if bind_interface is not None else ''
 9730        '''
 9731         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 9732        '''
 9733        self.egress_filter = egress_filter if egress_filter is not None else ''
 9734        '''
 9735         A filter applied to the routing logic to pin datasource to nodes.
 9736        '''
 9737        self.healthy = healthy if healthy is not None else False
 9738        '''
 9739         True if the datasource is reachable and the credentials are valid.
 9740        '''
 9741        self.hostname = hostname if hostname is not None else ''
 9742        '''
 9743         The host to dial to initiate a connection from the egress node to this resource.
 9744        '''
 9745        self.id = id if id is not None else ''
 9746        '''
 9747         Unique identifier of the Resource.
 9748        '''
 9749        self.n1ql_port = n1ql_port if n1ql_port is not None else 0
 9750        '''
 9751         The port number for N1QL queries. Default HTTP is 8093. Default HTTPS is 18093.
 9752        '''
 9753        self.name = name if name is not None else ''
 9754        '''
 9755         Unique human-readable name of the Resource.
 9756        '''
 9757        self.password = password if password is not None else ''
 9758        '''
 9759         The password to authenticate with.
 9760        '''
 9761        self.port = port if port is not None else 0
 9762        '''
 9763         The port to dial to initiate a connection from the egress node to this resource.
 9764        '''
 9765        self.port_override = port_override if port_override is not None else 0
 9766        '''
 9767         The local port used by clients to connect to this resource.
 9768        '''
 9769        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9770        '''
 9771         ID of the proxy cluster for this resource, if any.
 9772        '''
 9773        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9774        '''
 9775         ID of the secret store containing credentials for this resource, if any.
 9776        '''
 9777        self.subdomain = subdomain if subdomain is not None else ''
 9778        '''
 9779         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 9780        '''
 9781        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9782        '''
 9783         Tags is a map of key, value pairs.
 9784        '''
 9785        self.tls_required = tls_required if tls_required is not None else False
 9786        '''
 9787         If set, TLS must be used to connect to this resource.
 9788        '''
 9789        self.username = username if username is not None else ''
 9790        '''
 9791         The username to authenticate with.
 9792        '''
 9793
 9794    def __repr__(self):
 9795        return '<sdm.CouchbaseDatabase ' + \
 9796            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 9797            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 9798            'healthy: ' + repr(self.healthy) + ' ' +\
 9799            'hostname: ' + repr(self.hostname) + ' ' +\
 9800            'id: ' + repr(self.id) + ' ' +\
 9801            'n1ql_port: ' + repr(self.n1ql_port) + ' ' +\
 9802            'name: ' + repr(self.name) + ' ' +\
 9803            'password: ' + repr(self.password) + ' ' +\
 9804            'port: ' + repr(self.port) + ' ' +\
 9805            'port_override: ' + repr(self.port_override) + ' ' +\
 9806            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 9807            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 9808            'subdomain: ' + repr(self.subdomain) + ' ' +\
 9809            'tags: ' + repr(self.tags) + ' ' +\
 9810            'tls_required: ' + repr(self.tls_required) + ' ' +\
 9811            'username: ' + repr(self.username) + ' ' +\
 9812            '>'
 9813
 9814    def to_dict(self):
 9815        return {
 9816            'bind_interface': self.bind_interface,
 9817            'egress_filter': self.egress_filter,
 9818            'healthy': self.healthy,
 9819            'hostname': self.hostname,
 9820            'id': self.id,
 9821            'n1ql_port': self.n1ql_port,
 9822            'name': self.name,
 9823            'password': self.password,
 9824            'port': self.port,
 9825            'port_override': self.port_override,
 9826            'proxy_cluster_id': self.proxy_cluster_id,
 9827            'secret_store_id': self.secret_store_id,
 9828            'subdomain': self.subdomain,
 9829            'tags': self.tags,
 9830            'tls_required': self.tls_required,
 9831            'username': self.username,
 9832        }
 9833
 9834    @classmethod
 9835    def from_dict(cls, d):
 9836        return cls(
 9837            bind_interface=d.get('bind_interface'),
 9838            egress_filter=d.get('egress_filter'),
 9839            healthy=d.get('healthy'),
 9840            hostname=d.get('hostname'),
 9841            id=d.get('id'),
 9842            n1ql_port=d.get('n1ql_port'),
 9843            name=d.get('name'),
 9844            password=d.get('password'),
 9845            port=d.get('port'),
 9846            port_override=d.get('port_override'),
 9847            proxy_cluster_id=d.get('proxy_cluster_id'),
 9848            secret_store_id=d.get('secret_store_id'),
 9849            subdomain=d.get('subdomain'),
 9850            tags=d.get('tags'),
 9851            tls_required=d.get('tls_required'),
 9852            username=d.get('username'),
 9853        )
 9854
 9855
 9856class CouchbaseWebUI:
 9857    __slots__ = [
 9858        'bind_interface',
 9859        'egress_filter',
 9860        'healthy',
 9861        'id',
 9862        'name',
 9863        'password',
 9864        'port_override',
 9865        'proxy_cluster_id',
 9866        'secret_store_id',
 9867        'subdomain',
 9868        'tags',
 9869        'url',
 9870        'username',
 9871    ]
 9872
 9873    def __init__(
 9874        self,
 9875        bind_interface=None,
 9876        egress_filter=None,
 9877        healthy=None,
 9878        id=None,
 9879        name=None,
 9880        password=None,
 9881        port_override=None,
 9882        proxy_cluster_id=None,
 9883        secret_store_id=None,
 9884        subdomain=None,
 9885        tags=None,
 9886        url=None,
 9887        username=None,
 9888    ):
 9889        self.bind_interface = bind_interface if bind_interface is not None else ''
 9890        '''
 9891         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 9892        '''
 9893        self.egress_filter = egress_filter if egress_filter is not None else ''
 9894        '''
 9895         A filter applied to the routing logic to pin datasource to nodes.
 9896        '''
 9897        self.healthy = healthy if healthy is not None else False
 9898        '''
 9899         True if the datasource is reachable and the credentials are valid.
 9900        '''
 9901        self.id = id if id is not None else ''
 9902        '''
 9903         Unique identifier of the Resource.
 9904        '''
 9905        self.name = name if name is not None else ''
 9906        '''
 9907         Unique human-readable name of the Resource.
 9908        '''
 9909        self.password = password if password is not None else ''
 9910        '''
 9911         The password to authenticate with.
 9912        '''
 9913        self.port_override = port_override if port_override is not None else 0
 9914        '''
 9915         The local port used by clients to connect to this resource.
 9916        '''
 9917        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9918        '''
 9919         ID of the proxy cluster for this resource, if any.
 9920        '''
 9921        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9922        '''
 9923         ID of the secret store containing credentials for this resource, if any.
 9924        '''
 9925        self.subdomain = subdomain if subdomain is not None else ''
 9926        '''
 9927         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 9928        '''
 9929        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9930        '''
 9931         Tags is a map of key, value pairs.
 9932        '''
 9933        self.url = url if url is not None else ''
 9934        '''
 9935         The base address of your website without the path.
 9936        '''
 9937        self.username = username if username is not None else ''
 9938        '''
 9939         The username to authenticate with.
 9940        '''
 9941
 9942    def __repr__(self):
 9943        return '<sdm.CouchbaseWebUI ' + \
 9944            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 9945            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 9946            'healthy: ' + repr(self.healthy) + ' ' +\
 9947            'id: ' + repr(self.id) + ' ' +\
 9948            'name: ' + repr(self.name) + ' ' +\
 9949            'password: ' + repr(self.password) + ' ' +\
 9950            'port_override: ' + repr(self.port_override) + ' ' +\
 9951            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 9952            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 9953            'subdomain: ' + repr(self.subdomain) + ' ' +\
 9954            'tags: ' + repr(self.tags) + ' ' +\
 9955            'url: ' + repr(self.url) + ' ' +\
 9956            'username: ' + repr(self.username) + ' ' +\
 9957            '>'
 9958
 9959    def to_dict(self):
 9960        return {
 9961            'bind_interface': self.bind_interface,
 9962            'egress_filter': self.egress_filter,
 9963            'healthy': self.healthy,
 9964            'id': self.id,
 9965            'name': self.name,
 9966            'password': self.password,
 9967            'port_override': self.port_override,
 9968            'proxy_cluster_id': self.proxy_cluster_id,
 9969            'secret_store_id': self.secret_store_id,
 9970            'subdomain': self.subdomain,
 9971            'tags': self.tags,
 9972            'url': self.url,
 9973            'username': self.username,
 9974        }
 9975
 9976    @classmethod
 9977    def from_dict(cls, d):
 9978        return cls(
 9979            bind_interface=d.get('bind_interface'),
 9980            egress_filter=d.get('egress_filter'),
 9981            healthy=d.get('healthy'),
 9982            id=d.get('id'),
 9983            name=d.get('name'),
 9984            password=d.get('password'),
 9985            port_override=d.get('port_override'),
 9986            proxy_cluster_id=d.get('proxy_cluster_id'),
 9987            secret_store_id=d.get('secret_store_id'),
 9988            subdomain=d.get('subdomain'),
 9989            tags=d.get('tags'),
 9990            url=d.get('url'),
 9991            username=d.get('username'),
 9992        )
 9993
 9994
 9995class CreateResponseMetadata:
 9996    '''
 9997         CreateResponseMetadata is reserved for future use.
 9998    '''
 9999    __slots__ = []
10000
10001    def __init__(self, ):
10002        pass
10003
10004    def __repr__(self):
10005        return '<sdm.CreateResponseMetadata ' + \
10006            '>'
10007
10008    def to_dict(self):
10009        return {}
10010
10011    @classmethod
10012    def from_dict(cls, d):
10013        return cls()
10014
10015
10016class CyberarkConjurStore:
10017    __slots__ = [
10018        'appurl',
10019        'id',
10020        'name',
10021        'tags',
10022    ]
10023
10024    def __init__(
10025        self,
10026        appurl=None,
10027        id=None,
10028        name=None,
10029        tags=None,
10030    ):
10031        self.appurl = appurl if appurl is not None else ''
10032        '''
10033         The URL of the Cyberark instance
10034        '''
10035        self.id = id if id is not None else ''
10036        '''
10037         Unique identifier of the SecretStore.
10038        '''
10039        self.name = name if name is not None else ''
10040        '''
10041         Unique human-readable name of the SecretStore.
10042        '''
10043        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10044        '''
10045         Tags is a map of key, value pairs.
10046        '''
10047
10048    def __repr__(self):
10049        return '<sdm.CyberarkConjurStore ' + \
10050            'appurl: ' + repr(self.appurl) + ' ' +\
10051            'id: ' + repr(self.id) + ' ' +\
10052            'name: ' + repr(self.name) + ' ' +\
10053            'tags: ' + repr(self.tags) + ' ' +\
10054            '>'
10055
10056    def to_dict(self):
10057        return {
10058            'appurl': self.appurl,
10059            'id': self.id,
10060            'name': self.name,
10061            'tags': self.tags,
10062        }
10063
10064    @classmethod
10065    def from_dict(cls, d):
10066        return cls(
10067            appurl=d.get('appurl'),
10068            id=d.get('id'),
10069            name=d.get('name'),
10070            tags=d.get('tags'),
10071        )
10072
10073
10074class CyberarkPAMExperimentalStore:
10075    '''
10076    CyberarkPAMExperimentalStore is currently unstable, and its API may change, or it may be removed,
10077    without a major version bump.
10078    '''
10079    __slots__ = [
10080        'appurl',
10081        'id',
10082        'name',
10083        'tags',
10084    ]
10085
10086    def __init__(
10087        self,
10088        appurl=None,
10089        id=None,
10090        name=None,
10091        tags=None,
10092    ):
10093        self.appurl = appurl if appurl is not None else ''
10094        '''
10095         The URL of the Cyberark instance
10096        '''
10097        self.id = id if id is not None else ''
10098        '''
10099         Unique identifier of the SecretStore.
10100        '''
10101        self.name = name if name is not None else ''
10102        '''
10103         Unique human-readable name of the SecretStore.
10104        '''
10105        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10106        '''
10107         Tags is a map of key, value pairs.
10108        '''
10109
10110    def __repr__(self):
10111        return '<sdm.CyberarkPAMExperimentalStore ' + \
10112            'appurl: ' + repr(self.appurl) + ' ' +\
10113            'id: ' + repr(self.id) + ' ' +\
10114            'name: ' + repr(self.name) + ' ' +\
10115            'tags: ' + repr(self.tags) + ' ' +\
10116            '>'
10117
10118    def to_dict(self):
10119        return {
10120            'appurl': self.appurl,
10121            'id': self.id,
10122            'name': self.name,
10123            'tags': self.tags,
10124        }
10125
10126    @classmethod
10127    def from_dict(cls, d):
10128        return cls(
10129            appurl=d.get('appurl'),
10130            id=d.get('id'),
10131            name=d.get('name'),
10132            tags=d.get('tags'),
10133        )
10134
10135
10136class CyberarkPAMStore:
10137    __slots__ = [
10138        'appurl',
10139        'id',
10140        'name',
10141        'tags',
10142    ]
10143
10144    def __init__(
10145        self,
10146        appurl=None,
10147        id=None,
10148        name=None,
10149        tags=None,
10150    ):
10151        self.appurl = appurl if appurl is not None else ''
10152        '''
10153         The URL of the Cyberark instance
10154        '''
10155        self.id = id if id is not None else ''
10156        '''
10157         Unique identifier of the SecretStore.
10158        '''
10159        self.name = name if name is not None else ''
10160        '''
10161         Unique human-readable name of the SecretStore.
10162        '''
10163        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10164        '''
10165         Tags is a map of key, value pairs.
10166        '''
10167
10168    def __repr__(self):
10169        return '<sdm.CyberarkPAMStore ' + \
10170            'appurl: ' + repr(self.appurl) + ' ' +\
10171            'id: ' + repr(self.id) + ' ' +\
10172            'name: ' + repr(self.name) + ' ' +\
10173            'tags: ' + repr(self.tags) + ' ' +\
10174            '>'
10175
10176    def to_dict(self):
10177        return {
10178            'appurl': self.appurl,
10179            'id': self.id,
10180            'name': self.name,
10181            'tags': self.tags,
10182        }
10183
10184    @classmethod
10185    def from_dict(cls, d):
10186        return cls(
10187            appurl=d.get('appurl'),
10188            id=d.get('id'),
10189            name=d.get('name'),
10190            tags=d.get('tags'),
10191        )
10192
10193
10194class DB2I:
10195    __slots__ = [
10196        'bind_interface',
10197        'egress_filter',
10198        'healthy',
10199        'hostname',
10200        'id',
10201        'name',
10202        'password',
10203        'port',
10204        'port_override',
10205        'proxy_cluster_id',
10206        'secret_store_id',
10207        'subdomain',
10208        'tags',
10209        'tls_required',
10210        'username',
10211    ]
10212
10213    def __init__(
10214        self,
10215        bind_interface=None,
10216        egress_filter=None,
10217        healthy=None,
10218        hostname=None,
10219        id=None,
10220        name=None,
10221        password=None,
10222        port=None,
10223        port_override=None,
10224        proxy_cluster_id=None,
10225        secret_store_id=None,
10226        subdomain=None,
10227        tags=None,
10228        tls_required=None,
10229        username=None,
10230    ):
10231        self.bind_interface = bind_interface if bind_interface is not None else ''
10232        '''
10233         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10234        '''
10235        self.egress_filter = egress_filter if egress_filter is not None else ''
10236        '''
10237         A filter applied to the routing logic to pin datasource to nodes.
10238        '''
10239        self.healthy = healthy if healthy is not None else False
10240        '''
10241         True if the datasource is reachable and the credentials are valid.
10242        '''
10243        self.hostname = hostname if hostname is not None else ''
10244        '''
10245         The host to dial to initiate a connection from the egress node to this resource.
10246        '''
10247        self.id = id if id is not None else ''
10248        '''
10249         Unique identifier of the Resource.
10250        '''
10251        self.name = name if name is not None else ''
10252        '''
10253         Unique human-readable name of the Resource.
10254        '''
10255        self.password = password if password is not None else ''
10256        '''
10257         The password to authenticate with.
10258        '''
10259        self.port = port if port is not None else 0
10260        '''
10261         The port to dial to initiate a connection from the egress node to this resource.
10262        '''
10263        self.port_override = port_override if port_override is not None else 0
10264        '''
10265         The local port used by clients to connect to this resource.
10266        '''
10267        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10268        '''
10269         ID of the proxy cluster for this resource, if any.
10270        '''
10271        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10272        '''
10273         ID of the secret store containing credentials for this resource, if any.
10274        '''
10275        self.subdomain = subdomain if subdomain is not None else ''
10276        '''
10277         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10278        '''
10279        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10280        '''
10281         Tags is a map of key, value pairs.
10282        '''
10283        self.tls_required = tls_required if tls_required is not None else False
10284        '''
10285         If set, TLS must be used to connect to this resource.
10286        '''
10287        self.username = username if username is not None else ''
10288        '''
10289         The username to authenticate with.
10290        '''
10291
10292    def __repr__(self):
10293        return '<sdm.DB2I ' + \
10294            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10295            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10296            'healthy: ' + repr(self.healthy) + ' ' +\
10297            'hostname: ' + repr(self.hostname) + ' ' +\
10298            'id: ' + repr(self.id) + ' ' +\
10299            'name: ' + repr(self.name) + ' ' +\
10300            'password: ' + repr(self.password) + ' ' +\
10301            'port: ' + repr(self.port) + ' ' +\
10302            'port_override: ' + repr(self.port_override) + ' ' +\
10303            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10304            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10305            'subdomain: ' + repr(self.subdomain) + ' ' +\
10306            'tags: ' + repr(self.tags) + ' ' +\
10307            'tls_required: ' + repr(self.tls_required) + ' ' +\
10308            'username: ' + repr(self.username) + ' ' +\
10309            '>'
10310
10311    def to_dict(self):
10312        return {
10313            'bind_interface': self.bind_interface,
10314            'egress_filter': self.egress_filter,
10315            'healthy': self.healthy,
10316            'hostname': self.hostname,
10317            'id': self.id,
10318            'name': self.name,
10319            'password': self.password,
10320            'port': self.port,
10321            'port_override': self.port_override,
10322            'proxy_cluster_id': self.proxy_cluster_id,
10323            'secret_store_id': self.secret_store_id,
10324            'subdomain': self.subdomain,
10325            'tags': self.tags,
10326            'tls_required': self.tls_required,
10327            'username': self.username,
10328        }
10329
10330    @classmethod
10331    def from_dict(cls, d):
10332        return cls(
10333            bind_interface=d.get('bind_interface'),
10334            egress_filter=d.get('egress_filter'),
10335            healthy=d.get('healthy'),
10336            hostname=d.get('hostname'),
10337            id=d.get('id'),
10338            name=d.get('name'),
10339            password=d.get('password'),
10340            port=d.get('port'),
10341            port_override=d.get('port_override'),
10342            proxy_cluster_id=d.get('proxy_cluster_id'),
10343            secret_store_id=d.get('secret_store_id'),
10344            subdomain=d.get('subdomain'),
10345            tags=d.get('tags'),
10346            tls_required=d.get('tls_required'),
10347            username=d.get('username'),
10348        )
10349
10350
10351class DB2LUW:
10352    __slots__ = [
10353        'bind_interface',
10354        'database',
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        'username',
10368    ]
10369
10370    def __init__(
10371        self,
10372        bind_interface=None,
10373        database=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        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.database = database if database is not None else ''
10393        '''
10394         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
10395        '''
10396        self.egress_filter = egress_filter if egress_filter is not None else ''
10397        '''
10398         A filter applied to the routing logic to pin datasource to nodes.
10399        '''
10400        self.healthy = healthy if healthy is not None else False
10401        '''
10402         True if the datasource is reachable and the credentials are valid.
10403        '''
10404        self.hostname = hostname if hostname is not None else ''
10405        '''
10406         The host to dial to initiate a connection from the egress node to this resource.
10407        '''
10408        self.id = id if id is not None else ''
10409        '''
10410         Unique identifier of the Resource.
10411        '''
10412        self.name = name if name is not None else ''
10413        '''
10414         Unique human-readable name of the Resource.
10415        '''
10416        self.password = password if password is not None else ''
10417        '''
10418         The password to authenticate with.
10419        '''
10420        self.port = port if port is not None else 0
10421        '''
10422         The port to dial to initiate a connection from the egress node to this resource.
10423        '''
10424        self.port_override = port_override if port_override is not None else 0
10425        '''
10426         The local port used by clients to connect to this resource.
10427        '''
10428        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10429        '''
10430         ID of the proxy cluster for this resource, if any.
10431        '''
10432        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10433        '''
10434         ID of the secret store containing credentials for this resource, if any.
10435        '''
10436        self.subdomain = subdomain if subdomain is not None else ''
10437        '''
10438         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10439        '''
10440        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10441        '''
10442         Tags is a map of key, value pairs.
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.DB2LUW ' + \
10451            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10452            'database: ' + repr(self.database) + ' ' +\
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            'username: ' + repr(self.username) + ' ' +\
10466            '>'
10467
10468    def to_dict(self):
10469        return {
10470            'bind_interface': self.bind_interface,
10471            'database': self.database,
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            'username': self.username,
10485        }
10486
10487    @classmethod
10488    def from_dict(cls, d):
10489        return cls(
10490            bind_interface=d.get('bind_interface'),
10491            database=d.get('database'),
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            username=d.get('username'),
10505        )
10506
10507
10508class DeleteResponseMetadata:
10509    '''
10510         DeleteResponseMetadata is reserved for future use.
10511    '''
10512    __slots__ = []
10513
10514    def __init__(self, ):
10515        pass
10516
10517    def __repr__(self):
10518        return '<sdm.DeleteResponseMetadata ' + \
10519            '>'
10520
10521    def to_dict(self):
10522        return {}
10523
10524    @classmethod
10525    def from_dict(cls, d):
10526        return cls()
10527
10528
10529class DelineaStore:
10530    __slots__ = [
10531        'id',
10532        'name',
10533        'server_url',
10534        'tags',
10535        'tenant_name',
10536    ]
10537
10538    def __init__(
10539        self,
10540        id=None,
10541        name=None,
10542        server_url=None,
10543        tags=None,
10544        tenant_name=None,
10545    ):
10546        self.id = id if id is not None else ''
10547        '''
10548         Unique identifier of the SecretStore.
10549        '''
10550        self.name = name if name is not None else ''
10551        '''
10552         Unique human-readable name of the SecretStore.
10553        '''
10554        self.server_url = server_url if server_url is not None else ''
10555        '''
10556         The URL of the Delinea instance
10557        '''
10558        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10559        '''
10560         Tags is a map of key, value pairs.
10561        '''
10562        self.tenant_name = tenant_name if tenant_name is not None else ''
10563        '''
10564         The tenant name to target
10565        '''
10566
10567    def __repr__(self):
10568        return '<sdm.DelineaStore ' + \
10569            'id: ' + repr(self.id) + ' ' +\
10570            'name: ' + repr(self.name) + ' ' +\
10571            'server_url: ' + repr(self.server_url) + ' ' +\
10572            'tags: ' + repr(self.tags) + ' ' +\
10573            'tenant_name: ' + repr(self.tenant_name) + ' ' +\
10574            '>'
10575
10576    def to_dict(self):
10577        return {
10578            'id': self.id,
10579            'name': self.name,
10580            'server_url': self.server_url,
10581            'tags': self.tags,
10582            'tenant_name': self.tenant_name,
10583        }
10584
10585    @classmethod
10586    def from_dict(cls, d):
10587        return cls(
10588            id=d.get('id'),
10589            name=d.get('name'),
10590            server_url=d.get('server_url'),
10591            tags=d.get('tags'),
10592            tenant_name=d.get('tenant_name'),
10593        )
10594
10595
10596class DocumentDBHost:
10597    __slots__ = [
10598        'auth_database',
10599        'bind_interface',
10600        'egress_filter',
10601        'healthy',
10602        'hostname',
10603        'id',
10604        'name',
10605        'password',
10606        'port',
10607        'port_override',
10608        'proxy_cluster_id',
10609        'secret_store_id',
10610        'subdomain',
10611        'tags',
10612        'username',
10613    ]
10614
10615    def __init__(
10616        self,
10617        auth_database=None,
10618        bind_interface=None,
10619        egress_filter=None,
10620        healthy=None,
10621        hostname=None,
10622        id=None,
10623        name=None,
10624        password=None,
10625        port=None,
10626        port_override=None,
10627        proxy_cluster_id=None,
10628        secret_store_id=None,
10629        subdomain=None,
10630        tags=None,
10631        username=None,
10632    ):
10633        self.auth_database = auth_database if auth_database is not None else ''
10634        '''
10635         The authentication database to use.
10636        '''
10637        self.bind_interface = bind_interface if bind_interface is not None else ''
10638        '''
10639         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10640        '''
10641        self.egress_filter = egress_filter if egress_filter is not None else ''
10642        '''
10643         A filter applied to the routing logic to pin datasource to nodes.
10644        '''
10645        self.healthy = healthy if healthy is not None else False
10646        '''
10647         True if the datasource is reachable and the credentials are valid.
10648        '''
10649        self.hostname = hostname if hostname is not None else ''
10650        '''
10651         The host to dial to initiate a connection from the egress node to this resource.
10652        '''
10653        self.id = id if id is not None else ''
10654        '''
10655         Unique identifier of the Resource.
10656        '''
10657        self.name = name if name is not None else ''
10658        '''
10659         Unique human-readable name of the Resource.
10660        '''
10661        self.password = password if password is not None else ''
10662        '''
10663         The password to authenticate with.
10664        '''
10665        self.port = port if port is not None else 0
10666        '''
10667         The port to dial to initiate a connection from the egress node to this resource.
10668        '''
10669        self.port_override = port_override if port_override is not None else 0
10670        '''
10671         The local port used by clients to connect to this resource.
10672        '''
10673        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10674        '''
10675         ID of the proxy cluster for this resource, if any.
10676        '''
10677        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10678        '''
10679         ID of the secret store containing credentials for this resource, if any.
10680        '''
10681        self.subdomain = subdomain if subdomain is not None else ''
10682        '''
10683         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10684        '''
10685        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10686        '''
10687         Tags is a map of key, value pairs.
10688        '''
10689        self.username = username if username is not None else ''
10690        '''
10691         The username to authenticate with.
10692        '''
10693
10694    def __repr__(self):
10695        return '<sdm.DocumentDBHost ' + \
10696            'auth_database: ' + repr(self.auth_database) + ' ' +\
10697            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10698            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10699            'healthy: ' + repr(self.healthy) + ' ' +\
10700            'hostname: ' + repr(self.hostname) + ' ' +\
10701            'id: ' + repr(self.id) + ' ' +\
10702            'name: ' + repr(self.name) + ' ' +\
10703            'password: ' + repr(self.password) + ' ' +\
10704            'port: ' + repr(self.port) + ' ' +\
10705            'port_override: ' + repr(self.port_override) + ' ' +\
10706            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10707            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10708            'subdomain: ' + repr(self.subdomain) + ' ' +\
10709            'tags: ' + repr(self.tags) + ' ' +\
10710            'username: ' + repr(self.username) + ' ' +\
10711            '>'
10712
10713    def to_dict(self):
10714        return {
10715            'auth_database': self.auth_database,
10716            'bind_interface': self.bind_interface,
10717            'egress_filter': self.egress_filter,
10718            'healthy': self.healthy,
10719            'hostname': self.hostname,
10720            'id': self.id,
10721            'name': self.name,
10722            'password': self.password,
10723            'port': self.port,
10724            'port_override': self.port_override,
10725            'proxy_cluster_id': self.proxy_cluster_id,
10726            'secret_store_id': self.secret_store_id,
10727            'subdomain': self.subdomain,
10728            'tags': self.tags,
10729            'username': self.username,
10730        }
10731
10732    @classmethod
10733    def from_dict(cls, d):
10734        return cls(
10735            auth_database=d.get('auth_database'),
10736            bind_interface=d.get('bind_interface'),
10737            egress_filter=d.get('egress_filter'),
10738            healthy=d.get('healthy'),
10739            hostname=d.get('hostname'),
10740            id=d.get('id'),
10741            name=d.get('name'),
10742            password=d.get('password'),
10743            port=d.get('port'),
10744            port_override=d.get('port_override'),
10745            proxy_cluster_id=d.get('proxy_cluster_id'),
10746            secret_store_id=d.get('secret_store_id'),
10747            subdomain=d.get('subdomain'),
10748            tags=d.get('tags'),
10749            username=d.get('username'),
10750        )
10751
10752
10753class DocumentDBHostIAM:
10754    __slots__ = [
10755        'bind_interface',
10756        'egress_filter',
10757        'healthy',
10758        'hostname',
10759        'id',
10760        'name',
10761        'port',
10762        'port_override',
10763        'proxy_cluster_id',
10764        'region',
10765        'secret_store_id',
10766        'subdomain',
10767        'tags',
10768    ]
10769
10770    def __init__(
10771        self,
10772        bind_interface=None,
10773        egress_filter=None,
10774        healthy=None,
10775        hostname=None,
10776        id=None,
10777        name=None,
10778        port=None,
10779        port_override=None,
10780        proxy_cluster_id=None,
10781        region=None,
10782        secret_store_id=None,
10783        subdomain=None,
10784        tags=None,
10785    ):
10786        self.bind_interface = bind_interface if bind_interface is not None else ''
10787        '''
10788         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10789        '''
10790        self.egress_filter = egress_filter if egress_filter is not None else ''
10791        '''
10792         A filter applied to the routing logic to pin datasource to nodes.
10793        '''
10794        self.healthy = healthy if healthy is not None else False
10795        '''
10796         True if the datasource is reachable and the credentials are valid.
10797        '''
10798        self.hostname = hostname if hostname is not None else ''
10799        '''
10800         The host to dial to initiate a connection from the egress node to this resource.
10801        '''
10802        self.id = id if id is not None else ''
10803        '''
10804         Unique identifier of the Resource.
10805        '''
10806        self.name = name if name is not None else ''
10807        '''
10808         Unique human-readable name of the Resource.
10809        '''
10810        self.port = port if port is not None else 0
10811        '''
10812         The port to dial to initiate a connection from the egress node to this resource.
10813        '''
10814        self.port_override = port_override if port_override is not None else 0
10815        '''
10816         The local port used by clients to connect to this resource.
10817        '''
10818        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10819        '''
10820         ID of the proxy cluster for this resource, if any.
10821        '''
10822        self.region = region if region is not None else ''
10823        '''
10824         The AWS region to connect to.
10825        '''
10826        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10827        '''
10828         ID of the secret store containing credentials for this resource, if any.
10829        '''
10830        self.subdomain = subdomain if subdomain is not None else ''
10831        '''
10832         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10833        '''
10834        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10835        '''
10836         Tags is a map of key, value pairs.
10837        '''
10838
10839    def __repr__(self):
10840        return '<sdm.DocumentDBHostIAM ' + \
10841            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10842            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10843            'healthy: ' + repr(self.healthy) + ' ' +\
10844            'hostname: ' + repr(self.hostname) + ' ' +\
10845            'id: ' + repr(self.id) + ' ' +\
10846            'name: ' + repr(self.name) + ' ' +\
10847            'port: ' + repr(self.port) + ' ' +\
10848            'port_override: ' + repr(self.port_override) + ' ' +\
10849            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10850            'region: ' + repr(self.region) + ' ' +\
10851            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10852            'subdomain: ' + repr(self.subdomain) + ' ' +\
10853            'tags: ' + repr(self.tags) + ' ' +\
10854            '>'
10855
10856    def to_dict(self):
10857        return {
10858            'bind_interface': self.bind_interface,
10859            'egress_filter': self.egress_filter,
10860            'healthy': self.healthy,
10861            'hostname': self.hostname,
10862            'id': self.id,
10863            'name': self.name,
10864            'port': self.port,
10865            'port_override': self.port_override,
10866            'proxy_cluster_id': self.proxy_cluster_id,
10867            'region': self.region,
10868            'secret_store_id': self.secret_store_id,
10869            'subdomain': self.subdomain,
10870            'tags': self.tags,
10871        }
10872
10873    @classmethod
10874    def from_dict(cls, d):
10875        return cls(
10876            bind_interface=d.get('bind_interface'),
10877            egress_filter=d.get('egress_filter'),
10878            healthy=d.get('healthy'),
10879            hostname=d.get('hostname'),
10880            id=d.get('id'),
10881            name=d.get('name'),
10882            port=d.get('port'),
10883            port_override=d.get('port_override'),
10884            proxy_cluster_id=d.get('proxy_cluster_id'),
10885            region=d.get('region'),
10886            secret_store_id=d.get('secret_store_id'),
10887            subdomain=d.get('subdomain'),
10888            tags=d.get('tags'),
10889        )
10890
10891
10892class DocumentDBReplicaSet:
10893    __slots__ = [
10894        'auth_database',
10895        'bind_interface',
10896        'connect_to_replica',
10897        'egress_filter',
10898        'healthy',
10899        'hostname',
10900        'id',
10901        'name',
10902        'password',
10903        'port_override',
10904        'proxy_cluster_id',
10905        'replica_set',
10906        'secret_store_id',
10907        'subdomain',
10908        'tags',
10909        'username',
10910    ]
10911
10912    def __init__(
10913        self,
10914        auth_database=None,
10915        bind_interface=None,
10916        connect_to_replica=None,
10917        egress_filter=None,
10918        healthy=None,
10919        hostname=None,
10920        id=None,
10921        name=None,
10922        password=None,
10923        port_override=None,
10924        proxy_cluster_id=None,
10925        replica_set=None,
10926        secret_store_id=None,
10927        subdomain=None,
10928        tags=None,
10929        username=None,
10930    ):
10931        self.auth_database = auth_database if auth_database is not None else ''
10932        '''
10933         The authentication database to use.
10934        '''
10935        self.bind_interface = bind_interface if bind_interface is not None else ''
10936        '''
10937         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10938        '''
10939        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
10940        '''
10941         Set to connect to a replica instead of the primary node.
10942        '''
10943        self.egress_filter = egress_filter if egress_filter is not None else ''
10944        '''
10945         A filter applied to the routing logic to pin datasource to nodes.
10946        '''
10947        self.healthy = healthy if healthy is not None else False
10948        '''
10949         True if the datasource is reachable and the credentials are valid.
10950        '''
10951        self.hostname = hostname if hostname is not None else ''
10952        '''
10953         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
10954        '''
10955        self.id = id if id is not None else ''
10956        '''
10957         Unique identifier of the Resource.
10958        '''
10959        self.name = name if name is not None else ''
10960        '''
10961         Unique human-readable name of the Resource.
10962        '''
10963        self.password = password if password is not None else ''
10964        '''
10965         The password to authenticate with.
10966        '''
10967        self.port_override = port_override if port_override is not None else 0
10968        '''
10969         The local port used by clients to connect to this resource.
10970        '''
10971        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10972        '''
10973         ID of the proxy cluster for this resource, if any.
10974        '''
10975        self.replica_set = replica_set if replica_set is not None else ''
10976        '''
10977         The name of the mongo replicaset.
10978        '''
10979        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10980        '''
10981         ID of the secret store containing credentials for this resource, if any.
10982        '''
10983        self.subdomain = subdomain if subdomain is not None else ''
10984        '''
10985         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10986        '''
10987        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10988        '''
10989         Tags is a map of key, value pairs.
10990        '''
10991        self.username = username if username is not None else ''
10992        '''
10993         The username to authenticate with.
10994        '''
10995
10996    def __repr__(self):
10997        return '<sdm.DocumentDBReplicaSet ' + \
10998            'auth_database: ' + repr(self.auth_database) + ' ' +\
10999            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11000            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
11001            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11002            'healthy: ' + repr(self.healthy) + ' ' +\
11003            'hostname: ' + repr(self.hostname) + ' ' +\
11004            'id: ' + repr(self.id) + ' ' +\
11005            'name: ' + repr(self.name) + ' ' +\
11006            'password: ' + repr(self.password) + ' ' +\
11007            'port_override: ' + repr(self.port_override) + ' ' +\
11008            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11009            'replica_set: ' + repr(self.replica_set) + ' ' +\
11010            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11011            'subdomain: ' + repr(self.subdomain) + ' ' +\
11012            'tags: ' + repr(self.tags) + ' ' +\
11013            'username: ' + repr(self.username) + ' ' +\
11014            '>'
11015
11016    def to_dict(self):
11017        return {
11018            'auth_database': self.auth_database,
11019            'bind_interface': self.bind_interface,
11020            'connect_to_replica': self.connect_to_replica,
11021            'egress_filter': self.egress_filter,
11022            'healthy': self.healthy,
11023            'hostname': self.hostname,
11024            'id': self.id,
11025            'name': self.name,
11026            'password': self.password,
11027            'port_override': self.port_override,
11028            'proxy_cluster_id': self.proxy_cluster_id,
11029            'replica_set': self.replica_set,
11030            'secret_store_id': self.secret_store_id,
11031            'subdomain': self.subdomain,
11032            'tags': self.tags,
11033            'username': self.username,
11034        }
11035
11036    @classmethod
11037    def from_dict(cls, d):
11038        return cls(
11039            auth_database=d.get('auth_database'),
11040            bind_interface=d.get('bind_interface'),
11041            connect_to_replica=d.get('connect_to_replica'),
11042            egress_filter=d.get('egress_filter'),
11043            healthy=d.get('healthy'),
11044            hostname=d.get('hostname'),
11045            id=d.get('id'),
11046            name=d.get('name'),
11047            password=d.get('password'),
11048            port_override=d.get('port_override'),
11049            proxy_cluster_id=d.get('proxy_cluster_id'),
11050            replica_set=d.get('replica_set'),
11051            secret_store_id=d.get('secret_store_id'),
11052            subdomain=d.get('subdomain'),
11053            tags=d.get('tags'),
11054            username=d.get('username'),
11055        )
11056
11057
11058class DocumentDBReplicaSetIAM:
11059    '''
11060    DocumentDBReplicaSetIAM is currently unstable, and its API may change, or it may be removed,
11061    without a major version bump.
11062    '''
11063    __slots__ = [
11064        'bind_interface',
11065        'connect_to_replica',
11066        'egress_filter',
11067        'healthy',
11068        'hostname',
11069        'id',
11070        'name',
11071        'port_override',
11072        'proxy_cluster_id',
11073        'region',
11074        'secret_store_id',
11075        'subdomain',
11076        'tags',
11077    ]
11078
11079    def __init__(
11080        self,
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        port_override=None,
11089        proxy_cluster_id=None,
11090        region=None,
11091        secret_store_id=None,
11092        subdomain=None,
11093        tags=None,
11094    ):
11095        self.bind_interface = bind_interface if bind_interface is not None else ''
11096        '''
11097         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11098        '''
11099        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
11100        '''
11101         Set to connect to a replica instead of the primary node.
11102        '''
11103        self.egress_filter = egress_filter if egress_filter is not None else ''
11104        '''
11105         A filter applied to the routing logic to pin datasource to nodes.
11106        '''
11107        self.healthy = healthy if healthy is not None else False
11108        '''
11109         True if the datasource is reachable and the credentials are valid.
11110        '''
11111        self.hostname = hostname if hostname is not None else ''
11112        '''
11113         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
11114        '''
11115        self.id = id if id is not None else ''
11116        '''
11117         Unique identifier of the Resource.
11118        '''
11119        self.name = name if name is not None else ''
11120        '''
11121         Unique human-readable name of the Resource.
11122        '''
11123        self.port_override = port_override if port_override is not None else 0
11124        '''
11125         The local port used by clients to connect to this resource.
11126        '''
11127        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11128        '''
11129         ID of the proxy cluster for this resource, if any.
11130        '''
11131        self.region = region if region is not None else ''
11132        '''
11133         The region of the document db cluster
11134        '''
11135        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11136        '''
11137         ID of the secret store containing credentials for this resource, if any.
11138        '''
11139        self.subdomain = subdomain if subdomain is not None else ''
11140        '''
11141         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11142        '''
11143        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11144        '''
11145         Tags is a map of key, value pairs.
11146        '''
11147
11148    def __repr__(self):
11149        return '<sdm.DocumentDBReplicaSetIAM ' + \
11150            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11151            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
11152            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11153            'healthy: ' + repr(self.healthy) + ' ' +\
11154            'hostname: ' + repr(self.hostname) + ' ' +\
11155            'id: ' + repr(self.id) + ' ' +\
11156            'name: ' + repr(self.name) + ' ' +\
11157            'port_override: ' + repr(self.port_override) + ' ' +\
11158            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11159            'region: ' + repr(self.region) + ' ' +\
11160            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11161            'subdomain: ' + repr(self.subdomain) + ' ' +\
11162            'tags: ' + repr(self.tags) + ' ' +\
11163            '>'
11164
11165    def to_dict(self):
11166        return {
11167            'bind_interface': self.bind_interface,
11168            'connect_to_replica': self.connect_to_replica,
11169            'egress_filter': self.egress_filter,
11170            'healthy': self.healthy,
11171            'hostname': self.hostname,
11172            'id': self.id,
11173            'name': self.name,
11174            'port_override': self.port_override,
11175            'proxy_cluster_id': self.proxy_cluster_id,
11176            'region': self.region,
11177            'secret_store_id': self.secret_store_id,
11178            'subdomain': self.subdomain,
11179            'tags': self.tags,
11180        }
11181
11182    @classmethod
11183    def from_dict(cls, d):
11184        return cls(
11185            bind_interface=d.get('bind_interface'),
11186            connect_to_replica=d.get('connect_to_replica'),
11187            egress_filter=d.get('egress_filter'),
11188            healthy=d.get('healthy'),
11189            hostname=d.get('hostname'),
11190            id=d.get('id'),
11191            name=d.get('name'),
11192            port_override=d.get('port_override'),
11193            proxy_cluster_id=d.get('proxy_cluster_id'),
11194            region=d.get('region'),
11195            secret_store_id=d.get('secret_store_id'),
11196            subdomain=d.get('subdomain'),
11197            tags=d.get('tags'),
11198        )
11199
11200
11201class Druid:
11202    __slots__ = [
11203        'bind_interface',
11204        'egress_filter',
11205        'healthy',
11206        'hostname',
11207        'id',
11208        'name',
11209        'password',
11210        'port',
11211        'port_override',
11212        'proxy_cluster_id',
11213        'secret_store_id',
11214        'subdomain',
11215        'tags',
11216        'username',
11217    ]
11218
11219    def __init__(
11220        self,
11221        bind_interface=None,
11222        egress_filter=None,
11223        healthy=None,
11224        hostname=None,
11225        id=None,
11226        name=None,
11227        password=None,
11228        port=None,
11229        port_override=None,
11230        proxy_cluster_id=None,
11231        secret_store_id=None,
11232        subdomain=None,
11233        tags=None,
11234        username=None,
11235    ):
11236        self.bind_interface = bind_interface if bind_interface is not None else ''
11237        '''
11238         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11239        '''
11240        self.egress_filter = egress_filter if egress_filter is not None else ''
11241        '''
11242         A filter applied to the routing logic to pin datasource to nodes.
11243        '''
11244        self.healthy = healthy if healthy is not None else False
11245        '''
11246         True if the datasource is reachable and the credentials are valid.
11247        '''
11248        self.hostname = hostname if hostname is not None else ''
11249        '''
11250         The host to dial to initiate a connection from the egress node to this resource.
11251        '''
11252        self.id = id if id is not None else ''
11253        '''
11254         Unique identifier of the Resource.
11255        '''
11256        self.name = name if name is not None else ''
11257        '''
11258         Unique human-readable name of the Resource.
11259        '''
11260        self.password = password if password is not None else ''
11261        '''
11262         The password to authenticate with.
11263        '''
11264        self.port = port if port is not None else 0
11265        '''
11266         The port to dial to initiate a connection from the egress node to this resource.
11267        '''
11268        self.port_override = port_override if port_override is not None else 0
11269        '''
11270         The local port used by clients to connect to this resource.
11271        '''
11272        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11273        '''
11274         ID of the proxy cluster for this resource, if any.
11275        '''
11276        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11277        '''
11278         ID of the secret store containing credentials for this resource, if any.
11279        '''
11280        self.subdomain = subdomain if subdomain is not None else ''
11281        '''
11282         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11283        '''
11284        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11285        '''
11286         Tags is a map of key, value pairs.
11287        '''
11288        self.username = username if username is not None else ''
11289        '''
11290         The username to authenticate with.
11291        '''
11292
11293    def __repr__(self):
11294        return '<sdm.Druid ' + \
11295            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11296            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11297            'healthy: ' + repr(self.healthy) + ' ' +\
11298            'hostname: ' + repr(self.hostname) + ' ' +\
11299            'id: ' + repr(self.id) + ' ' +\
11300            'name: ' + repr(self.name) + ' ' +\
11301            'password: ' + repr(self.password) + ' ' +\
11302            'port: ' + repr(self.port) + ' ' +\
11303            'port_override: ' + repr(self.port_override) + ' ' +\
11304            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11305            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11306            'subdomain: ' + repr(self.subdomain) + ' ' +\
11307            'tags: ' + repr(self.tags) + ' ' +\
11308            'username: ' + repr(self.username) + ' ' +\
11309            '>'
11310
11311    def to_dict(self):
11312        return {
11313            'bind_interface': self.bind_interface,
11314            'egress_filter': self.egress_filter,
11315            'healthy': self.healthy,
11316            'hostname': self.hostname,
11317            'id': self.id,
11318            'name': self.name,
11319            'password': self.password,
11320            'port': self.port,
11321            'port_override': self.port_override,
11322            'proxy_cluster_id': self.proxy_cluster_id,
11323            'secret_store_id': self.secret_store_id,
11324            'subdomain': self.subdomain,
11325            'tags': self.tags,
11326            'username': self.username,
11327        }
11328
11329    @classmethod
11330    def from_dict(cls, d):
11331        return cls(
11332            bind_interface=d.get('bind_interface'),
11333            egress_filter=d.get('egress_filter'),
11334            healthy=d.get('healthy'),
11335            hostname=d.get('hostname'),
11336            id=d.get('id'),
11337            name=d.get('name'),
11338            password=d.get('password'),
11339            port=d.get('port'),
11340            port_override=d.get('port_override'),
11341            proxy_cluster_id=d.get('proxy_cluster_id'),
11342            secret_store_id=d.get('secret_store_id'),
11343            subdomain=d.get('subdomain'),
11344            tags=d.get('tags'),
11345            username=d.get('username'),
11346        )
11347
11348
11349class DynamoDB:
11350    __slots__ = [
11351        'access_key',
11352        'bind_interface',
11353        'egress_filter',
11354        'endpoint',
11355        'healthy',
11356        'id',
11357        'name',
11358        'port_override',
11359        'proxy_cluster_id',
11360        'region',
11361        'role_arn',
11362        'role_external_id',
11363        'secret_access_key',
11364        'secret_store_id',
11365        'subdomain',
11366        'tags',
11367    ]
11368
11369    def __init__(
11370        self,
11371        access_key=None,
11372        bind_interface=None,
11373        egress_filter=None,
11374        endpoint=None,
11375        healthy=None,
11376        id=None,
11377        name=None,
11378        port_override=None,
11379        proxy_cluster_id=None,
11380        region=None,
11381        role_arn=None,
11382        role_external_id=None,
11383        secret_access_key=None,
11384        secret_store_id=None,
11385        subdomain=None,
11386        tags=None,
11387    ):
11388        self.access_key = access_key if access_key is not None else ''
11389        '''
11390         The Access Key ID to use to authenticate.
11391        '''
11392        self.bind_interface = bind_interface if bind_interface is not None else ''
11393        '''
11394         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11395        '''
11396        self.egress_filter = egress_filter if egress_filter is not None else ''
11397        '''
11398         A filter applied to the routing logic to pin datasource to nodes.
11399        '''
11400        self.endpoint = endpoint if endpoint is not None else ''
11401        '''
11402         The endpoint to dial e.g. dynamodb.region.amazonaws.com
11403        '''
11404        self.healthy = healthy if healthy is not None else False
11405        '''
11406         True if the datasource is reachable and the credentials are valid.
11407        '''
11408        self.id = id if id is not None else ''
11409        '''
11410         Unique identifier of the Resource.
11411        '''
11412        self.name = name if name is not None else ''
11413        '''
11414         Unique human-readable name of the Resource.
11415        '''
11416        self.port_override = port_override if port_override is not None else 0
11417        '''
11418         The local port used by clients to connect to this resource.
11419        '''
11420        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11421        '''
11422         ID of the proxy cluster for this resource, if any.
11423        '''
11424        self.region = region if region is not None else ''
11425        '''
11426         The region to authenticate requests against e.g. us-east-1
11427        '''
11428        self.role_arn = role_arn if role_arn is not None else ''
11429        '''
11430         The role to assume after logging in.
11431        '''
11432        self.role_external_id = role_external_id if role_external_id is not None else ''
11433        '''
11434         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
11435        '''
11436        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
11437        '''
11438         The Secret Access Key to use to authenticate.
11439        '''
11440        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11441        '''
11442         ID of the secret store containing credentials for this resource, if any.
11443        '''
11444        self.subdomain = subdomain if subdomain is not None else ''
11445        '''
11446         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11447        '''
11448        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11449        '''
11450         Tags is a map of key, value pairs.
11451        '''
11452
11453    def __repr__(self):
11454        return '<sdm.DynamoDB ' + \
11455            'access_key: ' + repr(self.access_key) + ' ' +\
11456            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11457            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11458            'endpoint: ' + repr(self.endpoint) + ' ' +\
11459            'healthy: ' + repr(self.healthy) + ' ' +\
11460            'id: ' + repr(self.id) + ' ' +\
11461            'name: ' + repr(self.name) + ' ' +\
11462            'port_override: ' + repr(self.port_override) + ' ' +\
11463            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11464            'region: ' + repr(self.region) + ' ' +\
11465            'role_arn: ' + repr(self.role_arn) + ' ' +\
11466            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
11467            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
11468            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11469            'subdomain: ' + repr(self.subdomain) + ' ' +\
11470            'tags: ' + repr(self.tags) + ' ' +\
11471            '>'
11472
11473    def to_dict(self):
11474        return {
11475            'access_key': self.access_key,
11476            'bind_interface': self.bind_interface,
11477            'egress_filter': self.egress_filter,
11478            'endpoint': self.endpoint,
11479            'healthy': self.healthy,
11480            'id': self.id,
11481            'name': self.name,
11482            'port_override': self.port_override,
11483            'proxy_cluster_id': self.proxy_cluster_id,
11484            'region': self.region,
11485            'role_arn': self.role_arn,
11486            'role_external_id': self.role_external_id,
11487            'secret_access_key': self.secret_access_key,
11488            'secret_store_id': self.secret_store_id,
11489            'subdomain': self.subdomain,
11490            'tags': self.tags,
11491        }
11492
11493    @classmethod
11494    def from_dict(cls, d):
11495        return cls(
11496            access_key=d.get('access_key'),
11497            bind_interface=d.get('bind_interface'),
11498            egress_filter=d.get('egress_filter'),
11499            endpoint=d.get('endpoint'),
11500            healthy=d.get('healthy'),
11501            id=d.get('id'),
11502            name=d.get('name'),
11503            port_override=d.get('port_override'),
11504            proxy_cluster_id=d.get('proxy_cluster_id'),
11505            region=d.get('region'),
11506            role_arn=d.get('role_arn'),
11507            role_external_id=d.get('role_external_id'),
11508            secret_access_key=d.get('secret_access_key'),
11509            secret_store_id=d.get('secret_store_id'),
11510            subdomain=d.get('subdomain'),
11511            tags=d.get('tags'),
11512        )
11513
11514
11515class DynamoDBIAM:
11516    __slots__ = [
11517        'bind_interface',
11518        'egress_filter',
11519        'endpoint',
11520        'healthy',
11521        'id',
11522        'name',
11523        'port_override',
11524        'proxy_cluster_id',
11525        'region',
11526        'role_arn',
11527        'role_external_id',
11528        'secret_store_id',
11529        'subdomain',
11530        'tags',
11531    ]
11532
11533    def __init__(
11534        self,
11535        bind_interface=None,
11536        egress_filter=None,
11537        endpoint=None,
11538        healthy=None,
11539        id=None,
11540        name=None,
11541        port_override=None,
11542        proxy_cluster_id=None,
11543        region=None,
11544        role_arn=None,
11545        role_external_id=None,
11546        secret_store_id=None,
11547        subdomain=None,
11548        tags=None,
11549    ):
11550        self.bind_interface = bind_interface if bind_interface is not None else ''
11551        '''
11552         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11553        '''
11554        self.egress_filter = egress_filter if egress_filter is not None else ''
11555        '''
11556         A filter applied to the routing logic to pin datasource to nodes.
11557        '''
11558        self.endpoint = endpoint if endpoint is not None else ''
11559        '''
11560         The endpoint to dial e.g. dynamodb.region.amazonaws.com
11561        '''
11562        self.healthy = healthy if healthy is not None else False
11563        '''
11564         True if the datasource is reachable and the credentials are valid.
11565        '''
11566        self.id = id if id is not None else ''
11567        '''
11568         Unique identifier of the Resource.
11569        '''
11570        self.name = name if name is not None else ''
11571        '''
11572         Unique human-readable name of the Resource.
11573        '''
11574        self.port_override = port_override if port_override is not None else 0
11575        '''
11576         The local port used by clients to connect to this resource.
11577        '''
11578        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11579        '''
11580         ID of the proxy cluster for this resource, if any.
11581        '''
11582        self.region = region if region is not None else ''
11583        '''
11584         The region to authenticate requests against e.g. us-east-1
11585        '''
11586        self.role_arn = role_arn if role_arn is not None else ''
11587        '''
11588         The role to assume after logging in.
11589        '''
11590        self.role_external_id = role_external_id if role_external_id is not None else ''
11591        '''
11592         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
11593        '''
11594        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11595        '''
11596         ID of the secret store containing credentials for this resource, if any.
11597        '''
11598        self.subdomain = subdomain if subdomain is not None else ''
11599        '''
11600         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11601        '''
11602        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11603        '''
11604         Tags is a map of key, value pairs.
11605        '''
11606
11607    def __repr__(self):
11608        return '<sdm.DynamoDBIAM ' + \
11609            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11610            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11611            'endpoint: ' + repr(self.endpoint) + ' ' +\
11612            'healthy: ' + repr(self.healthy) + ' ' +\
11613            'id: ' + repr(self.id) + ' ' +\
11614            'name: ' + repr(self.name) + ' ' +\
11615            'port_override: ' + repr(self.port_override) + ' ' +\
11616            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11617            'region: ' + repr(self.region) + ' ' +\
11618            'role_arn: ' + repr(self.role_arn) + ' ' +\
11619            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
11620            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11621            'subdomain: ' + repr(self.subdomain) + ' ' +\
11622            'tags: ' + repr(self.tags) + ' ' +\
11623            '>'
11624
11625    def to_dict(self):
11626        return {
11627            'bind_interface': self.bind_interface,
11628            'egress_filter': self.egress_filter,
11629            'endpoint': self.endpoint,
11630            'healthy': self.healthy,
11631            'id': self.id,
11632            'name': self.name,
11633            'port_override': self.port_override,
11634            'proxy_cluster_id': self.proxy_cluster_id,
11635            'region': self.region,
11636            'role_arn': self.role_arn,
11637            'role_external_id': self.role_external_id,
11638            'secret_store_id': self.secret_store_id,
11639            'subdomain': self.subdomain,
11640            'tags': self.tags,
11641        }
11642
11643    @classmethod
11644    def from_dict(cls, d):
11645        return cls(
11646            bind_interface=d.get('bind_interface'),
11647            egress_filter=d.get('egress_filter'),
11648            endpoint=d.get('endpoint'),
11649            healthy=d.get('healthy'),
11650            id=d.get('id'),
11651            name=d.get('name'),
11652            port_override=d.get('port_override'),
11653            proxy_cluster_id=d.get('proxy_cluster_id'),
11654            region=d.get('region'),
11655            role_arn=d.get('role_arn'),
11656            role_external_id=d.get('role_external_id'),
11657            secret_store_id=d.get('secret_store_id'),
11658            subdomain=d.get('subdomain'),
11659            tags=d.get('tags'),
11660        )
11661
11662
11663class Elastic:
11664    __slots__ = [
11665        'bind_interface',
11666        'egress_filter',
11667        'healthy',
11668        'hostname',
11669        'id',
11670        'name',
11671        'password',
11672        'port',
11673        'port_override',
11674        'proxy_cluster_id',
11675        'secret_store_id',
11676        'subdomain',
11677        'tags',
11678        'tls_required',
11679        'username',
11680    ]
11681
11682    def __init__(
11683        self,
11684        bind_interface=None,
11685        egress_filter=None,
11686        healthy=None,
11687        hostname=None,
11688        id=None,
11689        name=None,
11690        password=None,
11691        port=None,
11692        port_override=None,
11693        proxy_cluster_id=None,
11694        secret_store_id=None,
11695        subdomain=None,
11696        tags=None,
11697        tls_required=None,
11698        username=None,
11699    ):
11700        self.bind_interface = bind_interface if bind_interface is not None else ''
11701        '''
11702         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11703        '''
11704        self.egress_filter = egress_filter if egress_filter is not None else ''
11705        '''
11706         A filter applied to the routing logic to pin datasource to nodes.
11707        '''
11708        self.healthy = healthy if healthy is not None else False
11709        '''
11710         True if the datasource is reachable and the credentials are valid.
11711        '''
11712        self.hostname = hostname if hostname is not None else ''
11713        '''
11714         The host to dial to initiate a connection from the egress node to this resource.
11715        '''
11716        self.id = id if id is not None else ''
11717        '''
11718         Unique identifier of the Resource.
11719        '''
11720        self.name = name if name is not None else ''
11721        '''
11722         Unique human-readable name of the Resource.
11723        '''
11724        self.password = password if password is not None else ''
11725        '''
11726         The password to authenticate with.
11727        '''
11728        self.port = port if port is not None else 0
11729        '''
11730         The port to dial to initiate a connection from the egress node to this resource.
11731        '''
11732        self.port_override = port_override if port_override is not None else 0
11733        '''
11734         The local port used by clients to connect to this resource.
11735        '''
11736        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11737        '''
11738         ID of the proxy cluster for this resource, if any.
11739        '''
11740        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11741        '''
11742         ID of the secret store containing credentials for this resource, if any.
11743        '''
11744        self.subdomain = subdomain if subdomain is not None else ''
11745        '''
11746         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11747        '''
11748        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11749        '''
11750         Tags is a map of key, value pairs.
11751        '''
11752        self.tls_required = tls_required if tls_required is not None else False
11753        '''
11754         If set, TLS must be used to connect to this resource.
11755        '''
11756        self.username = username if username is not None else ''
11757        '''
11758         The username to authenticate with.
11759        '''
11760
11761    def __repr__(self):
11762        return '<sdm.Elastic ' + \
11763            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11764            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11765            'healthy: ' + repr(self.healthy) + ' ' +\
11766            'hostname: ' + repr(self.hostname) + ' ' +\
11767            'id: ' + repr(self.id) + ' ' +\
11768            'name: ' + repr(self.name) + ' ' +\
11769            'password: ' + repr(self.password) + ' ' +\
11770            'port: ' + repr(self.port) + ' ' +\
11771            'port_override: ' + repr(self.port_override) + ' ' +\
11772            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11773            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11774            'subdomain: ' + repr(self.subdomain) + ' ' +\
11775            'tags: ' + repr(self.tags) + ' ' +\
11776            'tls_required: ' + repr(self.tls_required) + ' ' +\
11777            'username: ' + repr(self.username) + ' ' +\
11778            '>'
11779
11780    def to_dict(self):
11781        return {
11782            'bind_interface': self.bind_interface,
11783            'egress_filter': self.egress_filter,
11784            'healthy': self.healthy,
11785            'hostname': self.hostname,
11786            'id': self.id,
11787            'name': self.name,
11788            'password': self.password,
11789            'port': self.port,
11790            'port_override': self.port_override,
11791            'proxy_cluster_id': self.proxy_cluster_id,
11792            'secret_store_id': self.secret_store_id,
11793            'subdomain': self.subdomain,
11794            'tags': self.tags,
11795            'tls_required': self.tls_required,
11796            'username': self.username,
11797        }
11798
11799    @classmethod
11800    def from_dict(cls, d):
11801        return cls(
11802            bind_interface=d.get('bind_interface'),
11803            egress_filter=d.get('egress_filter'),
11804            healthy=d.get('healthy'),
11805            hostname=d.get('hostname'),
11806            id=d.get('id'),
11807            name=d.get('name'),
11808            password=d.get('password'),
11809            port=d.get('port'),
11810            port_override=d.get('port_override'),
11811            proxy_cluster_id=d.get('proxy_cluster_id'),
11812            secret_store_id=d.get('secret_store_id'),
11813            subdomain=d.get('subdomain'),
11814            tags=d.get('tags'),
11815            tls_required=d.get('tls_required'),
11816            username=d.get('username'),
11817        )
11818
11819
11820class ElasticacheRedis:
11821    __slots__ = [
11822        'bind_interface',
11823        'egress_filter',
11824        'healthy',
11825        'hostname',
11826        'id',
11827        'name',
11828        'password',
11829        'port',
11830        'port_override',
11831        'proxy_cluster_id',
11832        'secret_store_id',
11833        'subdomain',
11834        'tags',
11835        'tls_required',
11836        'username',
11837    ]
11838
11839    def __init__(
11840        self,
11841        bind_interface=None,
11842        egress_filter=None,
11843        healthy=None,
11844        hostname=None,
11845        id=None,
11846        name=None,
11847        password=None,
11848        port=None,
11849        port_override=None,
11850        proxy_cluster_id=None,
11851        secret_store_id=None,
11852        subdomain=None,
11853        tags=None,
11854        tls_required=None,
11855        username=None,
11856    ):
11857        self.bind_interface = bind_interface if bind_interface is not None else ''
11858        '''
11859         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11860        '''
11861        self.egress_filter = egress_filter if egress_filter is not None else ''
11862        '''
11863         A filter applied to the routing logic to pin datasource to nodes.
11864        '''
11865        self.healthy = healthy if healthy is not None else False
11866        '''
11867         True if the datasource is reachable and the credentials are valid.
11868        '''
11869        self.hostname = hostname if hostname is not None else ''
11870        '''
11871         The host to dial to initiate a connection from the egress node to this resource.
11872        '''
11873        self.id = id if id is not None else ''
11874        '''
11875         Unique identifier of the Resource.
11876        '''
11877        self.name = name if name is not None else ''
11878        '''
11879         Unique human-readable name of the Resource.
11880        '''
11881        self.password = password if password is not None else ''
11882        '''
11883         The password to authenticate with.
11884        '''
11885        self.port = port if port is not None else 0
11886        '''
11887         The port to dial to initiate a connection from the egress node to this resource.
11888        '''
11889        self.port_override = port_override if port_override is not None else 0
11890        '''
11891         The local port used by clients to connect to this resource.
11892        '''
11893        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11894        '''
11895         ID of the proxy cluster for this resource, if any.
11896        '''
11897        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11898        '''
11899         ID of the secret store containing credentials for this resource, if any.
11900        '''
11901        self.subdomain = subdomain if subdomain is not None else ''
11902        '''
11903         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11904        '''
11905        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11906        '''
11907         Tags is a map of key, value pairs.
11908        '''
11909        self.tls_required = tls_required if tls_required is not None else False
11910        '''
11911         If set, TLS must be used to connect to this resource.
11912        '''
11913        self.username = username if username is not None else ''
11914        '''
11915         The username to authenticate with.
11916        '''
11917
11918    def __repr__(self):
11919        return '<sdm.ElasticacheRedis ' + \
11920            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11921            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11922            'healthy: ' + repr(self.healthy) + ' ' +\
11923            'hostname: ' + repr(self.hostname) + ' ' +\
11924            'id: ' + repr(self.id) + ' ' +\
11925            'name: ' + repr(self.name) + ' ' +\
11926            'password: ' + repr(self.password) + ' ' +\
11927            'port: ' + repr(self.port) + ' ' +\
11928            'port_override: ' + repr(self.port_override) + ' ' +\
11929            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11930            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11931            'subdomain: ' + repr(self.subdomain) + ' ' +\
11932            'tags: ' + repr(self.tags) + ' ' +\
11933            'tls_required: ' + repr(self.tls_required) + ' ' +\
11934            'username: ' + repr(self.username) + ' ' +\
11935            '>'
11936
11937    def to_dict(self):
11938        return {
11939            'bind_interface': self.bind_interface,
11940            'egress_filter': self.egress_filter,
11941            'healthy': self.healthy,
11942            'hostname': self.hostname,
11943            'id': self.id,
11944            'name': self.name,
11945            'password': self.password,
11946            'port': self.port,
11947            'port_override': self.port_override,
11948            'proxy_cluster_id': self.proxy_cluster_id,
11949            'secret_store_id': self.secret_store_id,
11950            'subdomain': self.subdomain,
11951            'tags': self.tags,
11952            'tls_required': self.tls_required,
11953            'username': self.username,
11954        }
11955
11956    @classmethod
11957    def from_dict(cls, d):
11958        return cls(
11959            bind_interface=d.get('bind_interface'),
11960            egress_filter=d.get('egress_filter'),
11961            healthy=d.get('healthy'),
11962            hostname=d.get('hostname'),
11963            id=d.get('id'),
11964            name=d.get('name'),
11965            password=d.get('password'),
11966            port=d.get('port'),
11967            port_override=d.get('port_override'),
11968            proxy_cluster_id=d.get('proxy_cluster_id'),
11969            secret_store_id=d.get('secret_store_id'),
11970            subdomain=d.get('subdomain'),
11971            tags=d.get('tags'),
11972            tls_required=d.get('tls_required'),
11973            username=d.get('username'),
11974        )
11975
11976
11977class GCP:
11978    __slots__ = [
11979        'bind_interface',
11980        'egress_filter',
11981        'healthy',
11982        'id',
11983        'keyfile',
11984        'name',
11985        'port_override',
11986        'proxy_cluster_id',
11987        'scopes',
11988        'secret_store_id',
11989        'subdomain',
11990        'tags',
11991    ]
11992
11993    def __init__(
11994        self,
11995        bind_interface=None,
11996        egress_filter=None,
11997        healthy=None,
11998        id=None,
11999        keyfile=None,
12000        name=None,
12001        port_override=None,
12002        proxy_cluster_id=None,
12003        scopes=None,
12004        secret_store_id=None,
12005        subdomain=None,
12006        tags=None,
12007    ):
12008        self.bind_interface = bind_interface if bind_interface is not None else ''
12009        '''
12010         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12011        '''
12012        self.egress_filter = egress_filter if egress_filter is not None else ''
12013        '''
12014         A filter applied to the routing logic to pin datasource to nodes.
12015        '''
12016        self.healthy = healthy if healthy is not None else False
12017        '''
12018         True if the datasource is reachable and the credentials are valid.
12019        '''
12020        self.id = id if id is not None else ''
12021        '''
12022         Unique identifier of the Resource.
12023        '''
12024        self.keyfile = keyfile if keyfile is not None else ''
12025        '''
12026         The service account keyfile to authenticate with.
12027        '''
12028        self.name = name if name is not None else ''
12029        '''
12030         Unique human-readable name of the Resource.
12031        '''
12032        self.port_override = port_override if port_override is not None else 0
12033        '''
12034         The local port used by clients to connect to this resource.
12035        '''
12036        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12037        '''
12038         ID of the proxy cluster for this resource, if any.
12039        '''
12040        self.scopes = scopes if scopes is not None else ''
12041        '''
12042         Space separated scopes that this login should assume into when authenticating.
12043        '''
12044        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12045        '''
12046         ID of the secret store containing credentials for this resource, if any.
12047        '''
12048        self.subdomain = subdomain if subdomain is not None else ''
12049        '''
12050         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12051        '''
12052        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12053        '''
12054         Tags is a map of key, value pairs.
12055        '''
12056
12057    def __repr__(self):
12058        return '<sdm.GCP ' + \
12059            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12060            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12061            'healthy: ' + repr(self.healthy) + ' ' +\
12062            'id: ' + repr(self.id) + ' ' +\
12063            'keyfile: ' + repr(self.keyfile) + ' ' +\
12064            'name: ' + repr(self.name) + ' ' +\
12065            'port_override: ' + repr(self.port_override) + ' ' +\
12066            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12067            'scopes: ' + repr(self.scopes) + ' ' +\
12068            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12069            'subdomain: ' + repr(self.subdomain) + ' ' +\
12070            'tags: ' + repr(self.tags) + ' ' +\
12071            '>'
12072
12073    def to_dict(self):
12074        return {
12075            'bind_interface': self.bind_interface,
12076            'egress_filter': self.egress_filter,
12077            'healthy': self.healthy,
12078            'id': self.id,
12079            'keyfile': self.keyfile,
12080            'name': self.name,
12081            'port_override': self.port_override,
12082            'proxy_cluster_id': self.proxy_cluster_id,
12083            'scopes': self.scopes,
12084            'secret_store_id': self.secret_store_id,
12085            'subdomain': self.subdomain,
12086            'tags': self.tags,
12087        }
12088
12089    @classmethod
12090    def from_dict(cls, d):
12091        return cls(
12092            bind_interface=d.get('bind_interface'),
12093            egress_filter=d.get('egress_filter'),
12094            healthy=d.get('healthy'),
12095            id=d.get('id'),
12096            keyfile=d.get('keyfile'),
12097            name=d.get('name'),
12098            port_override=d.get('port_override'),
12099            proxy_cluster_id=d.get('proxy_cluster_id'),
12100            scopes=d.get('scopes'),
12101            secret_store_id=d.get('secret_store_id'),
12102            subdomain=d.get('subdomain'),
12103            tags=d.get('tags'),
12104        )
12105
12106
12107class GCPCertX509Store:
12108    __slots__ = [
12109        'caid',
12110        'capoolid',
12111        'id',
12112        'issuedcertttlminutes',
12113        'location',
12114        'name',
12115        'projectid',
12116        'tags',
12117    ]
12118
12119    def __init__(
12120        self,
12121        caid=None,
12122        capoolid=None,
12123        id=None,
12124        issuedcertttlminutes=None,
12125        location=None,
12126        name=None,
12127        projectid=None,
12128        tags=None,
12129    ):
12130        self.caid = caid if caid is not None else ''
12131        '''
12132         The ID of the target CA
12133        '''
12134        self.capoolid = capoolid if capoolid is not None else ''
12135        '''
12136         The ID of the target CA pool
12137        '''
12138        self.id = id if id is not None else ''
12139        '''
12140         Unique identifier of the SecretStore.
12141        '''
12142        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
12143        '''
12144         The lifetime of certificates issued by this CA represented in minutes.
12145        '''
12146        self.location = location if location is not None else ''
12147        '''
12148         The Region for the CA in GCP format e.g. us-west1
12149        '''
12150        self.name = name if name is not None else ''
12151        '''
12152         Unique human-readable name of the SecretStore.
12153        '''
12154        self.projectid = projectid if projectid is not None else ''
12155        '''
12156         The GCP project ID to target.
12157        '''
12158        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12159        '''
12160         Tags is a map of key, value pairs.
12161        '''
12162
12163    def __repr__(self):
12164        return '<sdm.GCPCertX509Store ' + \
12165            'caid: ' + repr(self.caid) + ' ' +\
12166            'capoolid: ' + repr(self.capoolid) + ' ' +\
12167            'id: ' + repr(self.id) + ' ' +\
12168            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
12169            'location: ' + repr(self.location) + ' ' +\
12170            'name: ' + repr(self.name) + ' ' +\
12171            'projectid: ' + repr(self.projectid) + ' ' +\
12172            'tags: ' + repr(self.tags) + ' ' +\
12173            '>'
12174
12175    def to_dict(self):
12176        return {
12177            'caid': self.caid,
12178            'capoolid': self.capoolid,
12179            'id': self.id,
12180            'issuedcertttlminutes': self.issuedcertttlminutes,
12181            'location': self.location,
12182            'name': self.name,
12183            'projectid': self.projectid,
12184            'tags': self.tags,
12185        }
12186
12187    @classmethod
12188    def from_dict(cls, d):
12189        return cls(
12190            caid=d.get('caid'),
12191            capoolid=d.get('capoolid'),
12192            id=d.get('id'),
12193            issuedcertttlminutes=d.get('issuedcertttlminutes'),
12194            location=d.get('location'),
12195            name=d.get('name'),
12196            projectid=d.get('projectid'),
12197            tags=d.get('tags'),
12198        )
12199
12200
12201class GCPConsole:
12202    __slots__ = [
12203        'bind_interface',
12204        'egress_filter',
12205        'healthy',
12206        'id',
12207        'identity_alias_healthcheck_username',
12208        'identity_set_id',
12209        'name',
12210        'port_override',
12211        'proxy_cluster_id',
12212        'secret_store_id',
12213        'session_expiry',
12214        'subdomain',
12215        'tags',
12216        'workforce_pool_id',
12217        'workforce_provider_id',
12218    ]
12219
12220    def __init__(
12221        self,
12222        bind_interface=None,
12223        egress_filter=None,
12224        healthy=None,
12225        id=None,
12226        identity_alias_healthcheck_username=None,
12227        identity_set_id=None,
12228        name=None,
12229        port_override=None,
12230        proxy_cluster_id=None,
12231        secret_store_id=None,
12232        session_expiry=None,
12233        subdomain=None,
12234        tags=None,
12235        workforce_pool_id=None,
12236        workforce_provider_id=None,
12237    ):
12238        self.bind_interface = bind_interface if bind_interface is not None else ''
12239        '''
12240         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12241        '''
12242        self.egress_filter = egress_filter if egress_filter is not None else ''
12243        '''
12244         A filter applied to the routing logic to pin datasource to nodes.
12245        '''
12246        self.healthy = healthy if healthy is not None else False
12247        '''
12248         True if the datasource is reachable and the credentials are valid.
12249        '''
12250        self.id = id if id is not None else ''
12251        '''
12252         Unique identifier of the Resource.
12253        '''
12254        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
12255        '''
12256         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
12257        '''
12258        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
12259        '''
12260         The ID of the identity set to use for identity connections.
12261        '''
12262        self.name = name if name is not None else ''
12263        '''
12264         Unique human-readable name of the Resource.
12265        '''
12266        self.port_override = port_override if port_override is not None else 0
12267        '''
12268         The local port used by clients to connect to this resource.
12269        '''
12270        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12271        '''
12272         ID of the proxy cluster for this resource, if any.
12273        '''
12274        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12275        '''
12276         ID of the secret store containing credentials for this resource, if any.
12277        '''
12278        self.session_expiry = session_expiry if session_expiry is not None else 0
12279        '''
12280         The length of time in seconds console sessions will live before needing to reauthenticate.
12281        '''
12282        self.subdomain = subdomain if subdomain is not None else ''
12283        '''
12284         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12285        '''
12286        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12287        '''
12288         Tags is a map of key, value pairs.
12289        '''
12290        self.workforce_pool_id = workforce_pool_id if workforce_pool_id is not None else ''
12291        '''
12292         The ID of the Workforce Identity Pool in GCP to use for federated authentication.
12293        '''
12294        self.workforce_provider_id = workforce_provider_id if workforce_provider_id is not None else ''
12295        '''
12296         The ID of the Workforce Identity Provider in GCP to use for federated authentication.
12297        '''
12298
12299    def __repr__(self):
12300        return '<sdm.GCPConsole ' + \
12301            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12302            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12303            'healthy: ' + repr(self.healthy) + ' ' +\
12304            'id: ' + repr(self.id) + ' ' +\
12305            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
12306            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
12307            'name: ' + repr(self.name) + ' ' +\
12308            'port_override: ' + repr(self.port_override) + ' ' +\
12309            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12310            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12311            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
12312            'subdomain: ' + repr(self.subdomain) + ' ' +\
12313            'tags: ' + repr(self.tags) + ' ' +\
12314            'workforce_pool_id: ' + repr(self.workforce_pool_id) + ' ' +\
12315            'workforce_provider_id: ' + repr(self.workforce_provider_id) + ' ' +\
12316            '>'
12317
12318    def to_dict(self):
12319        return {
12320            'bind_interface': self.bind_interface,
12321            'egress_filter': self.egress_filter,
12322            'healthy': self.healthy,
12323            'id': self.id,
12324            'identity_alias_healthcheck_username':
12325            self.identity_alias_healthcheck_username,
12326            'identity_set_id': self.identity_set_id,
12327            'name': self.name,
12328            'port_override': self.port_override,
12329            'proxy_cluster_id': self.proxy_cluster_id,
12330            'secret_store_id': self.secret_store_id,
12331            'session_expiry': self.session_expiry,
12332            'subdomain': self.subdomain,
12333            'tags': self.tags,
12334            'workforce_pool_id': self.workforce_pool_id,
12335            'workforce_provider_id': self.workforce_provider_id,
12336        }
12337
12338    @classmethod
12339    def from_dict(cls, d):
12340        return cls(
12341            bind_interface=d.get('bind_interface'),
12342            egress_filter=d.get('egress_filter'),
12343            healthy=d.get('healthy'),
12344            id=d.get('id'),
12345            identity_alias_healthcheck_username=d.get(
12346                'identity_alias_healthcheck_username'),
12347            identity_set_id=d.get('identity_set_id'),
12348            name=d.get('name'),
12349            port_override=d.get('port_override'),
12350            proxy_cluster_id=d.get('proxy_cluster_id'),
12351            secret_store_id=d.get('secret_store_id'),
12352            session_expiry=d.get('session_expiry'),
12353            subdomain=d.get('subdomain'),
12354            tags=d.get('tags'),
12355            workforce_pool_id=d.get('workforce_pool_id'),
12356            workforce_provider_id=d.get('workforce_provider_id'),
12357        )
12358
12359
12360class GCPStore:
12361    __slots__ = [
12362        'id',
12363        'name',
12364        'projectid',
12365        'tags',
12366    ]
12367
12368    def __init__(
12369        self,
12370        id=None,
12371        name=None,
12372        projectid=None,
12373        tags=None,
12374    ):
12375        self.id = id if id is not None else ''
12376        '''
12377         Unique identifier of the SecretStore.
12378        '''
12379        self.name = name if name is not None else ''
12380        '''
12381         Unique human-readable name of the SecretStore.
12382        '''
12383        self.projectid = projectid if projectid is not None else ''
12384        '''
12385         The GCP project ID to target.
12386        '''
12387        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12388        '''
12389         Tags is a map of key, value pairs.
12390        '''
12391
12392    def __repr__(self):
12393        return '<sdm.GCPStore ' + \
12394            'id: ' + repr(self.id) + ' ' +\
12395            'name: ' + repr(self.name) + ' ' +\
12396            'projectid: ' + repr(self.projectid) + ' ' +\
12397            'tags: ' + repr(self.tags) + ' ' +\
12398            '>'
12399
12400    def to_dict(self):
12401        return {
12402            'id': self.id,
12403            'name': self.name,
12404            'projectid': self.projectid,
12405            'tags': self.tags,
12406        }
12407
12408    @classmethod
12409    def from_dict(cls, d):
12410        return cls(
12411            id=d.get('id'),
12412            name=d.get('name'),
12413            projectid=d.get('projectid'),
12414            tags=d.get('tags'),
12415        )
12416
12417
12418class GCPWIF:
12419    __slots__ = [
12420        'bind_interface',
12421        'egress_filter',
12422        'healthy',
12423        'id',
12424        'identity_alias_healthcheck_username',
12425        'identity_set_id',
12426        'name',
12427        'port_override',
12428        'project_id',
12429        'proxy_cluster_id',
12430        'scopes',
12431        'secret_store_id',
12432        'session_expiry',
12433        'subdomain',
12434        'tags',
12435        'workforce_pool_id',
12436        'workforce_provider_id',
12437    ]
12438
12439    def __init__(
12440        self,
12441        bind_interface=None,
12442        egress_filter=None,
12443        healthy=None,
12444        id=None,
12445        identity_alias_healthcheck_username=None,
12446        identity_set_id=None,
12447        name=None,
12448        port_override=None,
12449        project_id=None,
12450        proxy_cluster_id=None,
12451        scopes=None,
12452        secret_store_id=None,
12453        session_expiry=None,
12454        subdomain=None,
12455        tags=None,
12456        workforce_pool_id=None,
12457        workforce_provider_id=None,
12458    ):
12459        self.bind_interface = bind_interface if bind_interface is not None else ''
12460        '''
12461         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12462        '''
12463        self.egress_filter = egress_filter if egress_filter is not None else ''
12464        '''
12465         A filter applied to the routing logic to pin datasource to nodes.
12466        '''
12467        self.healthy = healthy if healthy is not None else False
12468        '''
12469         True if the datasource is reachable and the credentials are valid.
12470        '''
12471        self.id = id if id is not None else ''
12472        '''
12473         Unique identifier of the Resource.
12474        '''
12475        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
12476        '''
12477         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
12478        '''
12479        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
12480        '''
12481         The ID of the identity set to use for identity connections.
12482        '''
12483        self.name = name if name is not None else ''
12484        '''
12485         Unique human-readable name of the Resource.
12486        '''
12487        self.port_override = port_override if port_override is not None else 0
12488        '''
12489         The local port used by clients to connect to this resource.
12490        '''
12491        self.project_id = project_id if project_id is not None else ''
12492        '''
12493         When specified, all project scoped requests will use this Project ID, overriding the project ID specified by clients
12494        '''
12495        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12496        '''
12497         ID of the proxy cluster for this resource, if any.
12498        '''
12499        self.scopes = scopes if scopes is not None else ''
12500        '''
12501         Space separated scopes that this login should assume into when authenticating.
12502        '''
12503        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12504        '''
12505         ID of the secret store containing credentials for this resource, if any.
12506        '''
12507        self.session_expiry = session_expiry if session_expiry is not None else 0
12508        '''
12509         The length of time in seconds console sessions will live before needing to reauthenticate.
12510        '''
12511        self.subdomain = subdomain if subdomain is not None else ''
12512        '''
12513         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12514        '''
12515        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12516        '''
12517         Tags is a map of key, value pairs.
12518        '''
12519        self.workforce_pool_id = workforce_pool_id if workforce_pool_id is not None else ''
12520        '''
12521         The ID of the Workforce Identity Pool in GCP to use for federated authentication.
12522        '''
12523        self.workforce_provider_id = workforce_provider_id if workforce_provider_id is not None else ''
12524        '''
12525         The ID of the Workforce Identity Provider in GCP to use for federated authentication.
12526        '''
12527
12528    def __repr__(self):
12529        return '<sdm.GCPWIF ' + \
12530            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12531            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12532            'healthy: ' + repr(self.healthy) + ' ' +\
12533            'id: ' + repr(self.id) + ' ' +\
12534            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
12535            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
12536            'name: ' + repr(self.name) + ' ' +\
12537            'port_override: ' + repr(self.port_override) + ' ' +\
12538            'project_id: ' + repr(self.project_id) + ' ' +\
12539            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12540            'scopes: ' + repr(self.scopes) + ' ' +\
12541            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12542            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
12543            'subdomain: ' + repr(self.subdomain) + ' ' +\
12544            'tags: ' + repr(self.tags) + ' ' +\
12545            'workforce_pool_id: ' + repr(self.workforce_pool_id) + ' ' +\
12546            'workforce_provider_id: ' + repr(self.workforce_provider_id) + ' ' +\
12547            '>'
12548
12549    def to_dict(self):
12550        return {
12551            'bind_interface': self.bind_interface,
12552            'egress_filter': self.egress_filter,
12553            'healthy': self.healthy,
12554            'id': self.id,
12555            'identity_alias_healthcheck_username':
12556            self.identity_alias_healthcheck_username,
12557            'identity_set_id': self.identity_set_id,
12558            'name': self.name,
12559            'port_override': self.port_override,
12560            'project_id': self.project_id,
12561            'proxy_cluster_id': self.proxy_cluster_id,
12562            'scopes': self.scopes,
12563            'secret_store_id': self.secret_store_id,
12564            'session_expiry': self.session_expiry,
12565            'subdomain': self.subdomain,
12566            'tags': self.tags,
12567            'workforce_pool_id': self.workforce_pool_id,
12568            'workforce_provider_id': self.workforce_provider_id,
12569        }
12570
12571    @classmethod
12572    def from_dict(cls, d):
12573        return cls(
12574            bind_interface=d.get('bind_interface'),
12575            egress_filter=d.get('egress_filter'),
12576            healthy=d.get('healthy'),
12577            id=d.get('id'),
12578            identity_alias_healthcheck_username=d.get(
12579                'identity_alias_healthcheck_username'),
12580            identity_set_id=d.get('identity_set_id'),
12581            name=d.get('name'),
12582            port_override=d.get('port_override'),
12583            project_id=d.get('project_id'),
12584            proxy_cluster_id=d.get('proxy_cluster_id'),
12585            scopes=d.get('scopes'),
12586            secret_store_id=d.get('secret_store_id'),
12587            session_expiry=d.get('session_expiry'),
12588            subdomain=d.get('subdomain'),
12589            tags=d.get('tags'),
12590            workforce_pool_id=d.get('workforce_pool_id'),
12591            workforce_provider_id=d.get('workforce_provider_id'),
12592        )
12593
12594
12595class Gateway:
12596    '''
12597         Gateway represents a StrongDM CLI installation running in gateway mode.
12598    '''
12599    __slots__ = [
12600        'bind_address',
12601        'device',
12602        'gateway_filter',
12603        'id',
12604        'listen_address',
12605        'location',
12606        'maintenance_windows',
12607        'name',
12608        'state',
12609        'tags',
12610        'version',
12611    ]
12612
12613    def __init__(
12614        self,
12615        bind_address=None,
12616        device=None,
12617        gateway_filter=None,
12618        id=None,
12619        listen_address=None,
12620        location=None,
12621        maintenance_windows=None,
12622        name=None,
12623        state=None,
12624        tags=None,
12625        version=None,
12626    ):
12627        self.bind_address = bind_address if bind_address is not None else ''
12628        '''
12629         The hostname/port tuple which the gateway daemon will bind to.
12630         If not provided on create, set to "0.0.0.0:listen_address_port".
12631        '''
12632        self.device = device if device is not None else ''
12633        '''
12634         Device is a read only device name uploaded by the gateway process when
12635         it comes online.
12636        '''
12637        self.gateway_filter = gateway_filter if gateway_filter is not None else ''
12638        '''
12639         GatewayFilter can be used to restrict the peering between relays and
12640         gateways. Deprecated.
12641        '''
12642        self.id = id if id is not None else ''
12643        '''
12644         Unique identifier of the Gateway.
12645        '''
12646        self.listen_address = listen_address if listen_address is not None else ''
12647        '''
12648         The public hostname/port tuple at which the gateway will be accessible to clients.
12649        '''
12650        self.location = location if location is not None else ''
12651        '''
12652         Location is a read only network location uploaded by the gateway process
12653         when it comes online.
12654        '''
12655        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
12656        '''
12657         Maintenance Windows define when this node is allowed to restart. If a node
12658         is requested to restart, it will check each window to determine if any of
12659         them permit it to restart, and if any do, it will. This check is repeated
12660         per window until the restart is successfully completed.
12661         
12662         If not set here, may be set on the command line or via an environment variable
12663         on the process itself; any server setting will take precedence over local
12664         settings. This setting is ineffective for nodes below version 38.44.0.
12665         
12666         If this setting is not applied via this remote configuration or via local
12667         configuration, the default setting is used: always allow restarts if serving
12668         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
12669        '''
12670        self.name = name if name is not None else ''
12671        '''
12672         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.
12673        '''
12674        self.state = state if state is not None else ''
12675        '''
12676         The current state of the gateway. One of: "new", "verifying_restart",
12677         "restarting", "started", "stopped", "dead", "unknown"
12678        '''
12679        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12680        '''
12681         Tags is a map of key, value pairs.
12682        '''
12683        self.version = version if version is not None else ''
12684        '''
12685         Version is a read only sdm binary version uploaded by the gateway process
12686         when it comes online.
12687        '''
12688
12689    def __repr__(self):
12690        return '<sdm.Gateway ' + \
12691            'bind_address: ' + repr(self.bind_address) + ' ' +\
12692            'device: ' + repr(self.device) + ' ' +\
12693            'gateway_filter: ' + repr(self.gateway_filter) + ' ' +\
12694            'id: ' + repr(self.id) + ' ' +\
12695            'listen_address: ' + repr(self.listen_address) + ' ' +\
12696            'location: ' + repr(self.location) + ' ' +\
12697            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
12698            'name: ' + repr(self.name) + ' ' +\
12699            'state: ' + repr(self.state) + ' ' +\
12700            'tags: ' + repr(self.tags) + ' ' +\
12701            'version: ' + repr(self.version) + ' ' +\
12702            '>'
12703
12704    def to_dict(self):
12705        return {
12706            'bind_address': self.bind_address,
12707            'device': self.device,
12708            'gateway_filter': self.gateway_filter,
12709            'id': self.id,
12710            'listen_address': self.listen_address,
12711            'location': self.location,
12712            'maintenance_windows': self.maintenance_windows,
12713            'name': self.name,
12714            'state': self.state,
12715            'tags': self.tags,
12716            'version': self.version,
12717        }
12718
12719    @classmethod
12720    def from_dict(cls, d):
12721        return cls(
12722            bind_address=d.get('bind_address'),
12723            device=d.get('device'),
12724            gateway_filter=d.get('gateway_filter'),
12725            id=d.get('id'),
12726            listen_address=d.get('listen_address'),
12727            location=d.get('location'),
12728            maintenance_windows=d.get('maintenance_windows'),
12729            name=d.get('name'),
12730            state=d.get('state'),
12731            tags=d.get('tags'),
12732            version=d.get('version'),
12733        )
12734
12735
12736class GenerateKeysRequest:
12737    __slots__ = [
12738        'secret_engine_id',
12739    ]
12740
12741    def __init__(
12742        self,
12743        secret_engine_id=None,
12744    ):
12745        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
12746        '''
12747         required
12748        '''
12749
12750    def __repr__(self):
12751        return '<sdm.GenerateKeysRequest ' + \
12752            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
12753            '>'
12754
12755    def to_dict(self):
12756        return {
12757            'secret_engine_id': self.secret_engine_id,
12758        }
12759
12760    @classmethod
12761    def from_dict(cls, d):
12762        return cls(secret_engine_id=d.get('secret_engine_id'), )
12763
12764
12765class GenerateKeysResponse:
12766    __slots__ = [
12767        'rate_limit',
12768    ]
12769
12770    def __init__(
12771        self,
12772        rate_limit=None,
12773    ):
12774        self.rate_limit = rate_limit if rate_limit is not None else None
12775        '''
12776         Rate limit information.
12777        '''
12778
12779    def __repr__(self):
12780        return '<sdm.GenerateKeysResponse ' + \
12781            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
12782            '>'
12783
12784    def to_dict(self):
12785        return {
12786            'rate_limit': self.rate_limit,
12787        }
12788
12789    @classmethod
12790    def from_dict(cls, d):
12791        return cls(rate_limit=d.get('rate_limit'), )
12792
12793
12794class GenericResponseMetadata:
12795    '''
12796         GenericResponseMetadata contains common headers for generic request
12797     responses.
12798    '''
12799    __slots__ = []
12800
12801    def __init__(self, ):
12802        pass
12803
12804    def __repr__(self):
12805        return '<sdm.GenericResponseMetadata ' + \
12806            '>'
12807
12808    def to_dict(self):
12809        return {}
12810
12811    @classmethod
12812    def from_dict(cls, d):
12813        return cls()
12814
12815
12816class GetResponseMetadata:
12817    '''
12818         GetResponseMetadata is reserved for future use.
12819    '''
12820    __slots__ = []
12821
12822    def __init__(self, ):
12823        pass
12824
12825    def __repr__(self):
12826        return '<sdm.GetResponseMetadata ' + \
12827            '>'
12828
12829    def to_dict(self):
12830        return {}
12831
12832    @classmethod
12833    def from_dict(cls, d):
12834        return cls()
12835
12836
12837class GoogleGKE:
12838    __slots__ = [
12839        'allow_resource_role_bypass',
12840        'bind_interface',
12841        'certificate_authority',
12842        'discovery_enabled',
12843        'discovery_username',
12844        'egress_filter',
12845        'endpoint',
12846        'healthcheck_namespace',
12847        'healthy',
12848        'id',
12849        'identity_alias_healthcheck_username',
12850        'identity_set_id',
12851        'name',
12852        'port_override',
12853        'proxy_cluster_id',
12854        'secret_store_id',
12855        'service_account_key',
12856        'subdomain',
12857        'tags',
12858    ]
12859
12860    def __init__(
12861        self,
12862        allow_resource_role_bypass=None,
12863        bind_interface=None,
12864        certificate_authority=None,
12865        discovery_enabled=None,
12866        discovery_username=None,
12867        egress_filter=None,
12868        endpoint=None,
12869        healthcheck_namespace=None,
12870        healthy=None,
12871        id=None,
12872        identity_alias_healthcheck_username=None,
12873        identity_set_id=None,
12874        name=None,
12875        port_override=None,
12876        proxy_cluster_id=None,
12877        secret_store_id=None,
12878        service_account_key=None,
12879        subdomain=None,
12880        tags=None,
12881    ):
12882        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
12883        '''
12884         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
12885         when a resource role is not provided.
12886        '''
12887        self.bind_interface = bind_interface if bind_interface is not None else ''
12888        '''
12889         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12890        '''
12891        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
12892        '''
12893         The CA to authenticate TLS connections with.
12894        '''
12895        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
12896        '''
12897         If true, configures discovery of a cluster to be run from a node.
12898        '''
12899        self.discovery_username = discovery_username if discovery_username is not None else ''
12900        '''
12901         If a cluster is configured for user impersonation, this is the user to impersonate when
12902         running discovery.
12903        '''
12904        self.egress_filter = egress_filter if egress_filter is not None else ''
12905        '''
12906         A filter applied to the routing logic to pin datasource to nodes.
12907        '''
12908        self.endpoint = endpoint if endpoint is not None else ''
12909        '''
12910         The endpoint to dial.
12911        '''
12912        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
12913        '''
12914         The path used to check the health of your connection.  Defaults to `default`.
12915        '''
12916        self.healthy = healthy if healthy is not None else False
12917        '''
12918         True if the datasource is reachable and the credentials are valid.
12919        '''
12920        self.id = id if id is not None else ''
12921        '''
12922         Unique identifier of the Resource.
12923        '''
12924        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
12925        '''
12926         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
12927        '''
12928        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
12929        '''
12930         The ID of the identity set to use for identity connections.
12931        '''
12932        self.name = name if name is not None else ''
12933        '''
12934         Unique human-readable name of the Resource.
12935        '''
12936        self.port_override = port_override if port_override is not None else 0
12937        '''
12938         The local port used by clients to connect to this resource.
12939        '''
12940        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12941        '''
12942         ID of the proxy cluster for this resource, if any.
12943        '''
12944        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12945        '''
12946         ID of the secret store containing credentials for this resource, if any.
12947        '''
12948        self.service_account_key = service_account_key if service_account_key is not None else ''
12949        '''
12950         The service account key to authenticate with.
12951        '''
12952        self.subdomain = subdomain if subdomain is not None else ''
12953        '''
12954         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12955        '''
12956        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12957        '''
12958         Tags is a map of key, value pairs.
12959        '''
12960
12961    def __repr__(self):
12962        return '<sdm.GoogleGKE ' + \
12963            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
12964            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12965            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
12966            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
12967            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
12968            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12969            'endpoint: ' + repr(self.endpoint) + ' ' +\
12970            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
12971            'healthy: ' + repr(self.healthy) + ' ' +\
12972            'id: ' + repr(self.id) + ' ' +\
12973            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
12974            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
12975            'name: ' + repr(self.name) + ' ' +\
12976            'port_override: ' + repr(self.port_override) + ' ' +\
12977            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12978            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12979            'service_account_key: ' + repr(self.service_account_key) + ' ' +\
12980            'subdomain: ' + repr(self.subdomain) + ' ' +\
12981            'tags: ' + repr(self.tags) + ' ' +\
12982            '>'
12983
12984    def to_dict(self):
12985        return {
12986            'allow_resource_role_bypass': self.allow_resource_role_bypass,
12987            'bind_interface': self.bind_interface,
12988            'certificate_authority': self.certificate_authority,
12989            'discovery_enabled': self.discovery_enabled,
12990            'discovery_username': self.discovery_username,
12991            'egress_filter': self.egress_filter,
12992            'endpoint': self.endpoint,
12993            'healthcheck_namespace': self.healthcheck_namespace,
12994            'healthy': self.healthy,
12995            'id': self.id,
12996            'identity_alias_healthcheck_username':
12997            self.identity_alias_healthcheck_username,
12998            'identity_set_id': self.identity_set_id,
12999            'name': self.name,
13000            'port_override': self.port_override,
13001            'proxy_cluster_id': self.proxy_cluster_id,
13002            'secret_store_id': self.secret_store_id,
13003            'service_account_key': self.service_account_key,
13004            'subdomain': self.subdomain,
13005            'tags': self.tags,
13006        }
13007
13008    @classmethod
13009    def from_dict(cls, d):
13010        return cls(
13011            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
13012            bind_interface=d.get('bind_interface'),
13013            certificate_authority=d.get('certificate_authority'),
13014            discovery_enabled=d.get('discovery_enabled'),
13015            discovery_username=d.get('discovery_username'),
13016            egress_filter=d.get('egress_filter'),
13017            endpoint=d.get('endpoint'),
13018            healthcheck_namespace=d.get('healthcheck_namespace'),
13019            healthy=d.get('healthy'),
13020            id=d.get('id'),
13021            identity_alias_healthcheck_username=d.get(
13022                'identity_alias_healthcheck_username'),
13023            identity_set_id=d.get('identity_set_id'),
13024            name=d.get('name'),
13025            port_override=d.get('port_override'),
13026            proxy_cluster_id=d.get('proxy_cluster_id'),
13027            secret_store_id=d.get('secret_store_id'),
13028            service_account_key=d.get('service_account_key'),
13029            subdomain=d.get('subdomain'),
13030            tags=d.get('tags'),
13031        )
13032
13033
13034class GoogleGKEUserImpersonation:
13035    __slots__ = [
13036        'bind_interface',
13037        'certificate_authority',
13038        'egress_filter',
13039        'endpoint',
13040        'healthcheck_namespace',
13041        'healthy',
13042        'id',
13043        'name',
13044        'port_override',
13045        'proxy_cluster_id',
13046        'secret_store_id',
13047        'service_account_key',
13048        'subdomain',
13049        'tags',
13050    ]
13051
13052    def __init__(
13053        self,
13054        bind_interface=None,
13055        certificate_authority=None,
13056        egress_filter=None,
13057        endpoint=None,
13058        healthcheck_namespace=None,
13059        healthy=None,
13060        id=None,
13061        name=None,
13062        port_override=None,
13063        proxy_cluster_id=None,
13064        secret_store_id=None,
13065        service_account_key=None,
13066        subdomain=None,
13067        tags=None,
13068    ):
13069        self.bind_interface = bind_interface if bind_interface is not None else ''
13070        '''
13071         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13072        '''
13073        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
13074        '''
13075         The CA to authenticate TLS connections with.
13076        '''
13077        self.egress_filter = egress_filter if egress_filter is not None else ''
13078        '''
13079         A filter applied to the routing logic to pin datasource to nodes.
13080        '''
13081        self.endpoint = endpoint if endpoint is not None else ''
13082        '''
13083         The endpoint to dial.
13084        '''
13085        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
13086        '''
13087         The path used to check the health of your connection.  Defaults to `default`.
13088        '''
13089        self.healthy = healthy if healthy is not None else False
13090        '''
13091         True if the datasource is reachable and the credentials are valid.
13092        '''
13093        self.id = id if id is not None else ''
13094        '''
13095         Unique identifier of the Resource.
13096        '''
13097        self.name = name if name is not None else ''
13098        '''
13099         Unique human-readable name of the Resource.
13100        '''
13101        self.port_override = port_override if port_override is not None else 0
13102        '''
13103         The local port used by clients to connect to this resource.
13104        '''
13105        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13106        '''
13107         ID of the proxy cluster for this resource, if any.
13108        '''
13109        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13110        '''
13111         ID of the secret store containing credentials for this resource, if any.
13112        '''
13113        self.service_account_key = service_account_key if service_account_key is not None else ''
13114        '''
13115         The service account key to authenticate with.
13116        '''
13117        self.subdomain = subdomain if subdomain is not None else ''
13118        '''
13119         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13120        '''
13121        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13122        '''
13123         Tags is a map of key, value pairs.
13124        '''
13125
13126    def __repr__(self):
13127        return '<sdm.GoogleGKEUserImpersonation ' + \
13128            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13129            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
13130            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13131            'endpoint: ' + repr(self.endpoint) + ' ' +\
13132            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
13133            'healthy: ' + repr(self.healthy) + ' ' +\
13134            'id: ' + repr(self.id) + ' ' +\
13135            'name: ' + repr(self.name) + ' ' +\
13136            'port_override: ' + repr(self.port_override) + ' ' +\
13137            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13138            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13139            'service_account_key: ' + repr(self.service_account_key) + ' ' +\
13140            'subdomain: ' + repr(self.subdomain) + ' ' +\
13141            'tags: ' + repr(self.tags) + ' ' +\
13142            '>'
13143
13144    def to_dict(self):
13145        return {
13146            'bind_interface': self.bind_interface,
13147            'certificate_authority': self.certificate_authority,
13148            'egress_filter': self.egress_filter,
13149            'endpoint': self.endpoint,
13150            'healthcheck_namespace': self.healthcheck_namespace,
13151            'healthy': self.healthy,
13152            'id': self.id,
13153            'name': self.name,
13154            'port_override': self.port_override,
13155            'proxy_cluster_id': self.proxy_cluster_id,
13156            'secret_store_id': self.secret_store_id,
13157            'service_account_key': self.service_account_key,
13158            'subdomain': self.subdomain,
13159            'tags': self.tags,
13160        }
13161
13162    @classmethod
13163    def from_dict(cls, d):
13164        return cls(
13165            bind_interface=d.get('bind_interface'),
13166            certificate_authority=d.get('certificate_authority'),
13167            egress_filter=d.get('egress_filter'),
13168            endpoint=d.get('endpoint'),
13169            healthcheck_namespace=d.get('healthcheck_namespace'),
13170            healthy=d.get('healthy'),
13171            id=d.get('id'),
13172            name=d.get('name'),
13173            port_override=d.get('port_override'),
13174            proxy_cluster_id=d.get('proxy_cluster_id'),
13175            secret_store_id=d.get('secret_store_id'),
13176            service_account_key=d.get('service_account_key'),
13177            subdomain=d.get('subdomain'),
13178            tags=d.get('tags'),
13179        )
13180
13181
13182class Greenplum:
13183    __slots__ = [
13184        'bind_interface',
13185        'database',
13186        'egress_filter',
13187        'healthy',
13188        'hostname',
13189        'id',
13190        'name',
13191        'override_database',
13192        'password',
13193        'port',
13194        'port_override',
13195        'proxy_cluster_id',
13196        'secret_store_id',
13197        'subdomain',
13198        'tags',
13199        'username',
13200    ]
13201
13202    def __init__(
13203        self,
13204        bind_interface=None,
13205        database=None,
13206        egress_filter=None,
13207        healthy=None,
13208        hostname=None,
13209        id=None,
13210        name=None,
13211        override_database=None,
13212        password=None,
13213        port=None,
13214        port_override=None,
13215        proxy_cluster_id=None,
13216        secret_store_id=None,
13217        subdomain=None,
13218        tags=None,
13219        username=None,
13220    ):
13221        self.bind_interface = bind_interface if bind_interface is not None else ''
13222        '''
13223         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13224        '''
13225        self.database = database if database is not None else ''
13226        '''
13227         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
13228        '''
13229        self.egress_filter = egress_filter if egress_filter is not None else ''
13230        '''
13231         A filter applied to the routing logic to pin datasource to nodes.
13232        '''
13233        self.healthy = healthy if healthy is not None else False
13234        '''
13235         True if the datasource is reachable and the credentials are valid.
13236        '''
13237        self.hostname = hostname if hostname is not None else ''
13238        '''
13239         The host to dial to initiate a connection from the egress node to this resource.
13240        '''
13241        self.id = id if id is not None else ''
13242        '''
13243         Unique identifier of the Resource.
13244        '''
13245        self.name = name if name is not None else ''
13246        '''
13247         Unique human-readable name of the Resource.
13248        '''
13249        self.override_database = override_database if override_database is not None else False
13250        '''
13251         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
13252        '''
13253        self.password = password if password is not None else ''
13254        '''
13255         The password to authenticate with.
13256        '''
13257        self.port = port if port is not None else 0
13258        '''
13259         The port to dial to initiate a connection from the egress node to this resource.
13260        '''
13261        self.port_override = port_override if port_override is not None else 0
13262        '''
13263         The local port used by clients to connect to this resource.
13264        '''
13265        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13266        '''
13267         ID of the proxy cluster for this resource, if any.
13268        '''
13269        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13270        '''
13271         ID of the secret store containing credentials for this resource, if any.
13272        '''
13273        self.subdomain = subdomain if subdomain is not None else ''
13274        '''
13275         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13276        '''
13277        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13278        '''
13279         Tags is a map of key, value pairs.
13280        '''
13281        self.username = username if username is not None else ''
13282        '''
13283         The username to authenticate with.
13284        '''
13285
13286    def __repr__(self):
13287        return '<sdm.Greenplum ' + \
13288            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13289            'database: ' + repr(self.database) + ' ' +\
13290            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13291            'healthy: ' + repr(self.healthy) + ' ' +\
13292            'hostname: ' + repr(self.hostname) + ' ' +\
13293            'id: ' + repr(self.id) + ' ' +\
13294            'name: ' + repr(self.name) + ' ' +\
13295            'override_database: ' + repr(self.override_database) + ' ' +\
13296            'password: ' + repr(self.password) + ' ' +\
13297            'port: ' + repr(self.port) + ' ' +\
13298            'port_override: ' + repr(self.port_override) + ' ' +\
13299            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13300            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13301            'subdomain: ' + repr(self.subdomain) + ' ' +\
13302            'tags: ' + repr(self.tags) + ' ' +\
13303            'username: ' + repr(self.username) + ' ' +\
13304            '>'
13305
13306    def to_dict(self):
13307        return {
13308            'bind_interface': self.bind_interface,
13309            'database': self.database,
13310            'egress_filter': self.egress_filter,
13311            'healthy': self.healthy,
13312            'hostname': self.hostname,
13313            'id': self.id,
13314            'name': self.name,
13315            'override_database': self.override_database,
13316            'password': self.password,
13317            'port': self.port,
13318            'port_override': self.port_override,
13319            'proxy_cluster_id': self.proxy_cluster_id,
13320            'secret_store_id': self.secret_store_id,
13321            'subdomain': self.subdomain,
13322            'tags': self.tags,
13323            'username': self.username,
13324        }
13325
13326    @classmethod
13327    def from_dict(cls, d):
13328        return cls(
13329            bind_interface=d.get('bind_interface'),
13330            database=d.get('database'),
13331            egress_filter=d.get('egress_filter'),
13332            healthy=d.get('healthy'),
13333            hostname=d.get('hostname'),
13334            id=d.get('id'),
13335            name=d.get('name'),
13336            override_database=d.get('override_database'),
13337            password=d.get('password'),
13338            port=d.get('port'),
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            subdomain=d.get('subdomain'),
13343            tags=d.get('tags'),
13344            username=d.get('username'),
13345        )
13346
13347
13348class HTTPAuth:
13349    __slots__ = [
13350        'auth_header',
13351        'bind_interface',
13352        'default_path',
13353        'egress_filter',
13354        'headers_blacklist',
13355        'healthcheck_path',
13356        'healthy',
13357        'host_override',
13358        'id',
13359        'name',
13360        'proxy_cluster_id',
13361        'secret_store_id',
13362        'subdomain',
13363        'tags',
13364        'url',
13365    ]
13366
13367    def __init__(
13368        self,
13369        auth_header=None,
13370        bind_interface=None,
13371        default_path=None,
13372        egress_filter=None,
13373        headers_blacklist=None,
13374        healthcheck_path=None,
13375        healthy=None,
13376        host_override=None,
13377        id=None,
13378        name=None,
13379        proxy_cluster_id=None,
13380        secret_store_id=None,
13381        subdomain=None,
13382        tags=None,
13383        url=None,
13384    ):
13385        self.auth_header = auth_header if auth_header is not None else ''
13386        '''
13387         The content to set as the authorization header.
13388        '''
13389        self.bind_interface = bind_interface if bind_interface is not None else ''
13390        '''
13391         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13392        '''
13393        self.default_path = default_path if default_path is not None else ''
13394        '''
13395         Automatically redirect to this path upon connecting.
13396        '''
13397        self.egress_filter = egress_filter if egress_filter is not None else ''
13398        '''
13399         A filter applied to the routing logic to pin datasource to nodes.
13400        '''
13401        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
13402        '''
13403         Header names (e.g. Authorization), to omit from logs.
13404        '''
13405        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
13406        '''
13407         This path will be used to check the health of your site.
13408        '''
13409        self.healthy = healthy if healthy is not None else False
13410        '''
13411         True if the datasource is reachable and the credentials are valid.
13412        '''
13413        self.host_override = host_override if host_override is not None else ''
13414        '''
13415         The host header will be overwritten with this field if provided.
13416        '''
13417        self.id = id if id is not None else ''
13418        '''
13419         Unique identifier of the Resource.
13420        '''
13421        self.name = name if name is not None else ''
13422        '''
13423         Unique human-readable name of the Resource.
13424        '''
13425        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13426        '''
13427         ID of the proxy cluster for this resource, if any.
13428        '''
13429        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13430        '''
13431         ID of the secret store containing credentials for this resource, if any.
13432        '''
13433        self.subdomain = subdomain if subdomain is not None else ''
13434        '''
13435         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13436        '''
13437        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13438        '''
13439         Tags is a map of key, value pairs.
13440        '''
13441        self.url = url if url is not None else ''
13442        '''
13443         The base address of your website without the path.
13444        '''
13445
13446    def __repr__(self):
13447        return '<sdm.HTTPAuth ' + \
13448            'auth_header: ' + repr(self.auth_header) + ' ' +\
13449            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13450            'default_path: ' + repr(self.default_path) + ' ' +\
13451            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13452            'headers_blacklist: ' + repr(self.headers_blacklist) + ' ' +\
13453            'healthcheck_path: ' + repr(self.healthcheck_path) + ' ' +\
13454            'healthy: ' + repr(self.healthy) + ' ' +\
13455            'host_override: ' + repr(self.host_override) + ' ' +\
13456            'id: ' + repr(self.id) + ' ' +\
13457            'name: ' + repr(self.name) + ' ' +\
13458            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13459            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13460            'subdomain: ' + repr(self.subdomain) + ' ' +\
13461            'tags: ' + repr(self.tags) + ' ' +\
13462            'url: ' + repr(self.url) + ' ' +\
13463            '>'
13464
13465    def to_dict(self):
13466        return {
13467            'auth_header': self.auth_header,
13468            'bind_interface': self.bind_interface,
13469            'default_path': self.default_path,
13470            'egress_filter': self.egress_filter,
13471            'headers_blacklist': self.headers_blacklist,
13472            'healthcheck_path': self.healthcheck_path,
13473            'healthy': self.healthy,
13474            'host_override': self.host_override,
13475            'id': self.id,
13476            'name': self.name,
13477            'proxy_cluster_id': self.proxy_cluster_id,
13478            'secret_store_id': self.secret_store_id,
13479            'subdomain': self.subdomain,
13480            'tags': self.tags,
13481            'url': self.url,
13482        }
13483
13484    @classmethod
13485    def from_dict(cls, d):
13486        return cls(
13487            auth_header=d.get('auth_header'),
13488            bind_interface=d.get('bind_interface'),
13489            default_path=d.get('default_path'),
13490            egress_filter=d.get('egress_filter'),
13491            headers_blacklist=d.get('headers_blacklist'),
13492            healthcheck_path=d.get('healthcheck_path'),
13493            healthy=d.get('healthy'),
13494            host_override=d.get('host_override'),
13495            id=d.get('id'),
13496            name=d.get('name'),
13497            proxy_cluster_id=d.get('proxy_cluster_id'),
13498            secret_store_id=d.get('secret_store_id'),
13499            subdomain=d.get('subdomain'),
13500            tags=d.get('tags'),
13501            url=d.get('url'),
13502        )
13503
13504
13505class HTTPBasicAuth:
13506    __slots__ = [
13507        'bind_interface',
13508        'default_path',
13509        'egress_filter',
13510        'headers_blacklist',
13511        'healthcheck_path',
13512        'healthy',
13513        'host_override',
13514        'id',
13515        'name',
13516        'password',
13517        'proxy_cluster_id',
13518        'secret_store_id',
13519        'subdomain',
13520        'tags',
13521        'url',
13522        'username',
13523    ]
13524
13525    def __init__(
13526        self,
13527        bind_interface=None,
13528        default_path=None,
13529        egress_filter=None,
13530        headers_blacklist=None,
13531        healthcheck_path=None,
13532        healthy=None,
13533        host_override=None,
13534        id=None,
13535        name=None,
13536        password=None,
13537        proxy_cluster_id=None,
13538        secret_store_id=None,
13539        subdomain=None,
13540        tags=None,
13541        url=None,
13542        username=None,
13543    ):
13544        self.bind_interface = bind_interface if bind_interface is not None else ''
13545        '''
13546         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13547        '''
13548        self.default_path = default_path if default_path is not None else ''
13549        '''
13550         Automatically redirect to this path upon connecting.
13551        '''
13552        self.egress_filter = egress_filter if egress_filter is not None else ''
13553        '''
13554         A filter applied to the routing logic to pin datasource to nodes.
13555        '''
13556        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
13557        '''
13558         Header names (e.g. Authorization), to omit from logs.
13559        '''
13560        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
13561        '''
13562         This path will be used to check the health of your site.
13563        '''
13564        self.healthy = healthy if healthy is not None else False
13565        '''
13566         True if the datasource is reachable and the credentials are valid.
13567        '''
13568        self.host_override = host_override if host_override is not None else ''
13569        '''
13570         The host header will be overwritten with this field if provided.
13571        '''
13572        self.id = id if id is not None else ''
13573        '''
13574         Unique identifier of the Resource.
13575        '''
13576        self.name = name if name is not None else ''
13577        '''
13578         Unique human-readable name of the Resource.
13579        '''
13580        self.password = password if password is not None else ''
13581        '''
13582         The password to authenticate with.
13583        '''
13584        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13585        '''
13586         ID of the proxy cluster for this resource, if any.
13587        '''
13588        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13589        '''
13590         ID of the secret store containing credentials for this resource, if any.
13591        '''
13592        self.subdomain = subdomain if subdomain is not None else ''
13593        '''
13594         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13595        '''
13596        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13597        '''
13598         Tags is a map of key, value pairs.
13599        '''
13600        self.url = url if url is not None else ''
13601        '''
13602         The base address of your website without the path.
13603        '''
13604        self.username = username if username is not None else ''
13605        '''
13606         The username to authenticate with.
13607        '''
13608
13609    def __repr__(self):
13610        return '<sdm.HTTPBasicAuth ' + \
13611            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13612            'default_path: ' + repr(self.default_path) + ' ' +\
13613            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13614            'headers_blacklist: ' + repr(self.headers_blacklist) + ' ' +\
13615            'healthcheck_path: ' + repr(self.healthcheck_path) + ' ' +\
13616            'healthy: ' + repr(self.healthy) + ' ' +\
13617            'host_override: ' + repr(self.host_override) + ' ' +\
13618            'id: ' + repr(self.id) + ' ' +\
13619            'name: ' + repr(self.name) + ' ' +\
13620            'password: ' + repr(self.password) + ' ' +\
13621            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13622            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13623            'subdomain: ' + repr(self.subdomain) + ' ' +\
13624            'tags: ' + repr(self.tags) + ' ' +\
13625            'url: ' + repr(self.url) + ' ' +\
13626            'username: ' + repr(self.username) + ' ' +\
13627            '>'
13628
13629    def to_dict(self):
13630        return {
13631            'bind_interface': self.bind_interface,
13632            'default_path': self.default_path,
13633            'egress_filter': self.egress_filter,
13634            'headers_blacklist': self.headers_blacklist,
13635            'healthcheck_path': self.healthcheck_path,
13636            'healthy': self.healthy,
13637            'host_override': self.host_override,
13638            'id': self.id,
13639            'name': self.name,
13640            'password': self.password,
13641            'proxy_cluster_id': self.proxy_cluster_id,
13642            'secret_store_id': self.secret_store_id,
13643            'subdomain': self.subdomain,
13644            'tags': self.tags,
13645            'url': self.url,
13646            'username': self.username,
13647        }
13648
13649    @classmethod
13650    def from_dict(cls, d):
13651        return cls(
13652            bind_interface=d.get('bind_interface'),
13653            default_path=d.get('default_path'),
13654            egress_filter=d.get('egress_filter'),
13655            headers_blacklist=d.get('headers_blacklist'),
13656            healthcheck_path=d.get('healthcheck_path'),
13657            healthy=d.get('healthy'),
13658            host_override=d.get('host_override'),
13659            id=d.get('id'),
13660            name=d.get('name'),
13661            password=d.get('password'),
13662            proxy_cluster_id=d.get('proxy_cluster_id'),
13663            secret_store_id=d.get('secret_store_id'),
13664            subdomain=d.get('subdomain'),
13665            tags=d.get('tags'),
13666            url=d.get('url'),
13667            username=d.get('username'),
13668        )
13669
13670
13671class HTTPNoAuth:
13672    __slots__ = [
13673        'bind_interface',
13674        'default_path',
13675        'egress_filter',
13676        'headers_blacklist',
13677        'healthcheck_path',
13678        'healthy',
13679        'host_override',
13680        'id',
13681        'name',
13682        'proxy_cluster_id',
13683        'secret_store_id',
13684        'subdomain',
13685        'tags',
13686        'url',
13687    ]
13688
13689    def __init__(
13690        self,
13691        bind_interface=None,
13692        default_path=None,
13693        egress_filter=None,
13694        headers_blacklist=None,
13695        healthcheck_path=None,
13696        healthy=None,
13697        host_override=None,
13698        id=None,
13699        name=None,
13700        proxy_cluster_id=None,
13701        secret_store_id=None,
13702        subdomain=None,
13703        tags=None,
13704        url=None,
13705    ):
13706        self.bind_interface = bind_interface if bind_interface is not None else ''
13707        '''
13708         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13709        '''
13710        self.default_path = default_path if default_path is not None else ''
13711        '''
13712         Automatically redirect to this path upon connecting.
13713        '''
13714        self.egress_filter = egress_filter if egress_filter is not None else ''
13715        '''
13716         A filter applied to the routing logic to pin datasource to nodes.
13717        '''
13718        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
13719        '''
13720         Header names (e.g. Authorization), to omit from logs.
13721        '''
13722        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
13723        '''
13724         This path will be used to check the health of your site.
13725        '''
13726        self.healthy = healthy if healthy is not None else False
13727        '''
13728         True if the datasource is reachable and the credentials are valid.
13729        '''
13730        self.host_override = host_override if host_override is not None else ''
13731        '''
13732         The host header will be overwritten with this field if provided.
13733        '''
13734        self.id = id if id is not None else ''
13735        '''
13736         Unique identifier of the Resource.
13737        '''
13738        self.name = name if name is not None else ''
13739        '''
13740         Unique human-readable name of the Resource.
13741        '''
13742        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13743        '''
13744         ID of the proxy cluster for this resource, if any.
13745        '''
13746        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13747        '''
13748         ID of the secret store containing credentials for this resource, if any.
13749        '''
13750        self.subdomain = subdomain if subdomain is not None else ''
13751        '''
13752         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13753        '''
13754        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13755        '''
13756         Tags is a map of key, value pairs.
13757        '''
13758        self.url = url if url is not None else ''
13759        '''
13760         The base address of your website without the path.
13761        '''
13762
13763    def __repr__(self):
13764        return '<sdm.HTTPNoAuth ' + \
13765            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13766            'default_path: ' + repr(self.default_path) + ' ' +\
13767            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13768            'headers_blacklist: ' + repr(self.headers_blacklist) + ' ' +\
13769            'healthcheck_path: ' + repr(self.healthcheck_path) + ' ' +\
13770            'healthy: ' + repr(self.healthy) + ' ' +\
13771            'host_override: ' + repr(self.host_override) + ' ' +\
13772            'id: ' + repr(self.id) + ' ' +\
13773            'name: ' + repr(self.name) + ' ' +\
13774            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13775            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13776            'subdomain: ' + repr(self.subdomain) + ' ' +\
13777            'tags: ' + repr(self.tags) + ' ' +\
13778            'url: ' + repr(self.url) + ' ' +\
13779            '>'
13780
13781    def to_dict(self):
13782        return {
13783            'bind_interface': self.bind_interface,
13784            'default_path': self.default_path,
13785            'egress_filter': self.egress_filter,
13786            'headers_blacklist': self.headers_blacklist,
13787            'healthcheck_path': self.healthcheck_path,
13788            'healthy': self.healthy,
13789            'host_override': self.host_override,
13790            'id': self.id,
13791            'name': self.name,
13792            'proxy_cluster_id': self.proxy_cluster_id,
13793            'secret_store_id': self.secret_store_id,
13794            'subdomain': self.subdomain,
13795            'tags': self.tags,
13796            'url': self.url,
13797        }
13798
13799    @classmethod
13800    def from_dict(cls, d):
13801        return cls(
13802            bind_interface=d.get('bind_interface'),
13803            default_path=d.get('default_path'),
13804            egress_filter=d.get('egress_filter'),
13805            headers_blacklist=d.get('headers_blacklist'),
13806            healthcheck_path=d.get('healthcheck_path'),
13807            healthy=d.get('healthy'),
13808            host_override=d.get('host_override'),
13809            id=d.get('id'),
13810            name=d.get('name'),
13811            proxy_cluster_id=d.get('proxy_cluster_id'),
13812            secret_store_id=d.get('secret_store_id'),
13813            subdomain=d.get('subdomain'),
13814            tags=d.get('tags'),
13815            url=d.get('url'),
13816        )
13817
13818
13819class Healthcheck:
13820    '''
13821         Healthcheck defines the status of the link between a node and a resource
13822    '''
13823    __slots__ = [
13824        'error_msg',
13825        'healthy',
13826        'id',
13827        'node_id',
13828        'node_name',
13829        'resource_id',
13830        'resource_name',
13831        'timestamp',
13832    ]
13833
13834    def __init__(
13835        self,
13836        error_msg=None,
13837        healthy=None,
13838        id=None,
13839        node_id=None,
13840        node_name=None,
13841        resource_id=None,
13842        resource_name=None,
13843        timestamp=None,
13844    ):
13845        self.error_msg = error_msg if error_msg is not None else ''
13846        '''
13847         The error if unhealthy
13848        '''
13849        self.healthy = healthy if healthy is not None else False
13850        '''
13851         Whether the healthcheck succeeded.
13852        '''
13853        self.id = id if id is not None else ''
13854        '''
13855         Unique identifier of the healthcheck.
13856        '''
13857        self.node_id = node_id if node_id is not None else ''
13858        '''
13859         Unique identifier of the healthcheck node.
13860        '''
13861        self.node_name = node_name if node_name is not None else ''
13862        '''
13863         The name of the node.
13864        '''
13865        self.resource_id = resource_id if resource_id is not None else ''
13866        '''
13867         Unique identifier of the healthcheck resource.
13868        '''
13869        self.resource_name = resource_name if resource_name is not None else ''
13870        '''
13871         The name of the resource.
13872        '''
13873        self.timestamp = timestamp if timestamp is not None else None
13874        '''
13875         The time at which the healthcheck state was recorded.
13876        '''
13877
13878    def __repr__(self):
13879        return '<sdm.Healthcheck ' + \
13880            'error_msg: ' + repr(self.error_msg) + ' ' +\
13881            'healthy: ' + repr(self.healthy) + ' ' +\
13882            'id: ' + repr(self.id) + ' ' +\
13883            'node_id: ' + repr(self.node_id) + ' ' +\
13884            'node_name: ' + repr(self.node_name) + ' ' +\
13885            'resource_id: ' + repr(self.resource_id) + ' ' +\
13886            'resource_name: ' + repr(self.resource_name) + ' ' +\
13887            'timestamp: ' + repr(self.timestamp) + ' ' +\
13888            '>'
13889
13890    def to_dict(self):
13891        return {
13892            'error_msg': self.error_msg,
13893            'healthy': self.healthy,
13894            'id': self.id,
13895            'node_id': self.node_id,
13896            'node_name': self.node_name,
13897            'resource_id': self.resource_id,
13898            'resource_name': self.resource_name,
13899            'timestamp': self.timestamp,
13900        }
13901
13902    @classmethod
13903    def from_dict(cls, d):
13904        return cls(
13905            error_msg=d.get('error_msg'),
13906            healthy=d.get('healthy'),
13907            id=d.get('id'),
13908            node_id=d.get('node_id'),
13909            node_name=d.get('node_name'),
13910            resource_id=d.get('resource_id'),
13911            resource_name=d.get('resource_name'),
13912            timestamp=d.get('timestamp'),
13913        )
13914
13915
13916class HealthcheckListResponse:
13917    '''
13918         HealthcheckListResponse returns a list of Healthchecks that meet the criteria of a
13919     HealthcheckListRequest.
13920    '''
13921    __slots__ = [
13922        'rate_limit',
13923    ]
13924
13925    def __init__(
13926        self,
13927        rate_limit=None,
13928    ):
13929        self.rate_limit = rate_limit if rate_limit is not None else None
13930        '''
13931         Rate limit information.
13932        '''
13933
13934    def __repr__(self):
13935        return '<sdm.HealthcheckListResponse ' + \
13936            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
13937            '>'
13938
13939    def to_dict(self):
13940        return {
13941            'rate_limit': self.rate_limit,
13942        }
13943
13944    @classmethod
13945    def from_dict(cls, d):
13946        return cls(rate_limit=d.get('rate_limit'), )
13947
13948
13949class HealthcheckRequest:
13950    __slots__ = [
13951        'secret_engine_id',
13952    ]
13953
13954    def __init__(
13955        self,
13956        secret_engine_id=None,
13957    ):
13958        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
13959        '''
13960         required
13961        '''
13962
13963    def __repr__(self):
13964        return '<sdm.HealthcheckRequest ' + \
13965            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
13966            '>'
13967
13968    def to_dict(self):
13969        return {
13970            'secret_engine_id': self.secret_engine_id,
13971        }
13972
13973    @classmethod
13974    def from_dict(cls, d):
13975        return cls(secret_engine_id=d.get('secret_engine_id'), )
13976
13977
13978class HealthcheckResponse:
13979    __slots__ = [
13980        'rate_limit',
13981        'status',
13982    ]
13983
13984    def __init__(
13985        self,
13986        rate_limit=None,
13987        status=None,
13988    ):
13989        self.rate_limit = rate_limit if rate_limit is not None else None
13990        '''
13991         Rate limit information.
13992        '''
13993        self.status = status if status is not None else []
13994        '''
13995         Array of statuses of all nodes serving a secret engine
13996        '''
13997
13998    def __repr__(self):
13999        return '<sdm.HealthcheckResponse ' + \
14000            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14001            'status: ' + repr(self.status) + ' ' +\
14002            '>'
14003
14004    def to_dict(self):
14005        return {
14006            'rate_limit': self.rate_limit,
14007            'status': self.status,
14008        }
14009
14010    @classmethod
14011    def from_dict(cls, d):
14012        return cls(
14013            rate_limit=d.get('rate_limit'),
14014            status=d.get('status'),
14015        )
14016
14017
14018class HealthcheckStatus:
14019    '''
14020         HealthcheckStatus contains status of a node health
14021    '''
14022    __slots__ = [
14023        'node_id',
14024        'status',
14025    ]
14026
14027    def __init__(
14028        self,
14029        node_id=None,
14030        status=None,
14031    ):
14032        self.node_id = node_id if node_id is not None else ''
14033        '''
14034         ID of node
14035        '''
14036        self.status = status if status is not None else ''
14037        '''
14038         Status of node's health
14039        '''
14040
14041    def __repr__(self):
14042        return '<sdm.HealthcheckStatus ' + \
14043            'node_id: ' + repr(self.node_id) + ' ' +\
14044            'status: ' + repr(self.status) + ' ' +\
14045            '>'
14046
14047    def to_dict(self):
14048        return {
14049            'node_id': self.node_id,
14050            'status': self.status,
14051        }
14052
14053    @classmethod
14054    def from_dict(cls, d):
14055        return cls(
14056            node_id=d.get('node_id'),
14057            status=d.get('status'),
14058        )
14059
14060
14061class IdentityAlias:
14062    '''
14063         IdentityAliases define the username to be used for a specific account
14064     when connecting to a remote resource using that identity set.
14065    '''
14066    __slots__ = [
14067        'account_id',
14068        'id',
14069        'identity_set_id',
14070        'username',
14071    ]
14072
14073    def __init__(
14074        self,
14075        account_id=None,
14076        id=None,
14077        identity_set_id=None,
14078        username=None,
14079    ):
14080        self.account_id = account_id if account_id is not None else ''
14081        '''
14082         The account for this identity alias.
14083        '''
14084        self.id = id if id is not None else ''
14085        '''
14086         Unique identifier of the IdentityAlias.
14087        '''
14088        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
14089        '''
14090         The identity set.
14091        '''
14092        self.username = username if username is not None else ''
14093        '''
14094         The username to be used as the identity alias for this account.
14095        '''
14096
14097    def __repr__(self):
14098        return '<sdm.IdentityAlias ' + \
14099            'account_id: ' + repr(self.account_id) + ' ' +\
14100            'id: ' + repr(self.id) + ' ' +\
14101            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
14102            'username: ' + repr(self.username) + ' ' +\
14103            '>'
14104
14105    def to_dict(self):
14106        return {
14107            'account_id': self.account_id,
14108            'id': self.id,
14109            'identity_set_id': self.identity_set_id,
14110            'username': self.username,
14111        }
14112
14113    @classmethod
14114    def from_dict(cls, d):
14115        return cls(
14116            account_id=d.get('account_id'),
14117            id=d.get('id'),
14118            identity_set_id=d.get('identity_set_id'),
14119            username=d.get('username'),
14120        )
14121
14122
14123class IdentityAliasCreateResponse:
14124    '''
14125         IdentityAliasCreateResponse reports how the IdentityAliases were created in the system.
14126    '''
14127    __slots__ = [
14128        'identity_alias',
14129        'meta',
14130        'rate_limit',
14131    ]
14132
14133    def __init__(
14134        self,
14135        identity_alias=None,
14136        meta=None,
14137        rate_limit=None,
14138    ):
14139        self.identity_alias = identity_alias if identity_alias is not None else None
14140        '''
14141         The created IdentityAlias.
14142        '''
14143        self.meta = meta if meta is not None else None
14144        '''
14145         Reserved for future use.
14146        '''
14147        self.rate_limit = rate_limit if rate_limit is not None else None
14148        '''
14149         Rate limit information.
14150        '''
14151
14152    def __repr__(self):
14153        return '<sdm.IdentityAliasCreateResponse ' + \
14154            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
14155            'meta: ' + repr(self.meta) + ' ' +\
14156            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14157            '>'
14158
14159    def to_dict(self):
14160        return {
14161            'identity_alias': self.identity_alias,
14162            'meta': self.meta,
14163            'rate_limit': self.rate_limit,
14164        }
14165
14166    @classmethod
14167    def from_dict(cls, d):
14168        return cls(
14169            identity_alias=d.get('identity_alias'),
14170            meta=d.get('meta'),
14171            rate_limit=d.get('rate_limit'),
14172        )
14173
14174
14175class IdentityAliasDeleteResponse:
14176    '''
14177         IdentityAliasDeleteResponse returns information about a IdentityAlias that was deleted.
14178    '''
14179    __slots__ = [
14180        'meta',
14181        'rate_limit',
14182    ]
14183
14184    def __init__(
14185        self,
14186        meta=None,
14187        rate_limit=None,
14188    ):
14189        self.meta = meta if meta is not None else None
14190        '''
14191         Reserved for future use.
14192        '''
14193        self.rate_limit = rate_limit if rate_limit is not None else None
14194        '''
14195         Rate limit information.
14196        '''
14197
14198    def __repr__(self):
14199        return '<sdm.IdentityAliasDeleteResponse ' + \
14200            'meta: ' + repr(self.meta) + ' ' +\
14201            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14202            '>'
14203
14204    def to_dict(self):
14205        return {
14206            'meta': self.meta,
14207            'rate_limit': self.rate_limit,
14208        }
14209
14210    @classmethod
14211    def from_dict(cls, d):
14212        return cls(
14213            meta=d.get('meta'),
14214            rate_limit=d.get('rate_limit'),
14215        )
14216
14217
14218class IdentityAliasGetResponse:
14219    '''
14220         IdentityAliasGetResponse returns a requested IdentityAlias.
14221    '''
14222    __slots__ = [
14223        'identity_alias',
14224        'meta',
14225        'rate_limit',
14226    ]
14227
14228    def __init__(
14229        self,
14230        identity_alias=None,
14231        meta=None,
14232        rate_limit=None,
14233    ):
14234        self.identity_alias = identity_alias if identity_alias is not None else None
14235        '''
14236         The requested IdentityAlias.
14237        '''
14238        self.meta = meta if meta is not None else None
14239        '''
14240         Reserved for future use.
14241        '''
14242        self.rate_limit = rate_limit if rate_limit is not None else None
14243        '''
14244         Rate limit information.
14245        '''
14246
14247    def __repr__(self):
14248        return '<sdm.IdentityAliasGetResponse ' + \
14249            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
14250            'meta: ' + repr(self.meta) + ' ' +\
14251            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14252            '>'
14253
14254    def to_dict(self):
14255        return {
14256            'identity_alias': self.identity_alias,
14257            'meta': self.meta,
14258            'rate_limit': self.rate_limit,
14259        }
14260
14261    @classmethod
14262    def from_dict(cls, d):
14263        return cls(
14264            identity_alias=d.get('identity_alias'),
14265            meta=d.get('meta'),
14266            rate_limit=d.get('rate_limit'),
14267        )
14268
14269
14270class IdentityAliasHistory:
14271    '''
14272         IdentityAliasHistory records the state of a IdentityAlias at a given point in time,
14273     where every change (create, update and delete) to a IdentityAlias produces an
14274     IdentityAliasHistory record.
14275    '''
14276    __slots__ = [
14277        'activity_id',
14278        'deleted_at',
14279        'identity_alias',
14280        'timestamp',
14281    ]
14282
14283    def __init__(
14284        self,
14285        activity_id=None,
14286        deleted_at=None,
14287        identity_alias=None,
14288        timestamp=None,
14289    ):
14290        self.activity_id = activity_id if activity_id is not None else ''
14291        '''
14292         The unique identifier of the Activity that produced this change to the IdentityAlias.
14293         May be empty for some system-initiated updates.
14294        '''
14295        self.deleted_at = deleted_at if deleted_at is not None else None
14296        '''
14297         If this IdentityAlias was deleted, the time it was deleted.
14298        '''
14299        self.identity_alias = identity_alias if identity_alias is not None else None
14300        '''
14301         The complete IdentityAlias state at this time.
14302        '''
14303        self.timestamp = timestamp if timestamp is not None else None
14304        '''
14305         The time at which the IdentityAlias state was recorded.
14306        '''
14307
14308    def __repr__(self):
14309        return '<sdm.IdentityAliasHistory ' + \
14310            'activity_id: ' + repr(self.activity_id) + ' ' +\
14311            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
14312            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
14313            'timestamp: ' + repr(self.timestamp) + ' ' +\
14314            '>'
14315
14316    def to_dict(self):
14317        return {
14318            'activity_id': self.activity_id,
14319            'deleted_at': self.deleted_at,
14320            'identity_alias': self.identity_alias,
14321            'timestamp': self.timestamp,
14322        }
14323
14324    @classmethod
14325    def from_dict(cls, d):
14326        return cls(
14327            activity_id=d.get('activity_id'),
14328            deleted_at=d.get('deleted_at'),
14329            identity_alias=d.get('identity_alias'),
14330            timestamp=d.get('timestamp'),
14331        )
14332
14333
14334class IdentityAliasUpdateResponse:
14335    '''
14336         IdentityAliasUpdateResponse returns the fields of a IdentityAlias after it has been updated by
14337     a IdentityAliasUpdateRequest.
14338    '''
14339    __slots__ = [
14340        'identity_alias',
14341        'meta',
14342        'rate_limit',
14343    ]
14344
14345    def __init__(
14346        self,
14347        identity_alias=None,
14348        meta=None,
14349        rate_limit=None,
14350    ):
14351        self.identity_alias = identity_alias if identity_alias is not None else None
14352        '''
14353         The updated IdentityAlias.
14354        '''
14355        self.meta = meta if meta is not None else None
14356        '''
14357         Reserved for future use.
14358        '''
14359        self.rate_limit = rate_limit if rate_limit is not None else None
14360        '''
14361         Rate limit information.
14362        '''
14363
14364    def __repr__(self):
14365        return '<sdm.IdentityAliasUpdateResponse ' + \
14366            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
14367            'meta: ' + repr(self.meta) + ' ' +\
14368            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14369            '>'
14370
14371    def to_dict(self):
14372        return {
14373            'identity_alias': self.identity_alias,
14374            'meta': self.meta,
14375            'rate_limit': self.rate_limit,
14376        }
14377
14378    @classmethod
14379    def from_dict(cls, d):
14380        return cls(
14381            identity_alias=d.get('identity_alias'),
14382            meta=d.get('meta'),
14383            rate_limit=d.get('rate_limit'),
14384        )
14385
14386
14387class IdentitySet:
14388    '''
14389         A IdentitySet defines a group of identity aliases.
14390    '''
14391    __slots__ = [
14392        'id',
14393        'name',
14394    ]
14395
14396    def __init__(
14397        self,
14398        id=None,
14399        name=None,
14400    ):
14401        self.id = id if id is not None else ''
14402        '''
14403         Unique identifier of the IdentitySet.
14404        '''
14405        self.name = name if name is not None else ''
14406        '''
14407         Unique human-readable name of the IdentitySet.
14408        '''
14409
14410    def __repr__(self):
14411        return '<sdm.IdentitySet ' + \
14412            'id: ' + repr(self.id) + ' ' +\
14413            'name: ' + repr(self.name) + ' ' +\
14414            '>'
14415
14416    def to_dict(self):
14417        return {
14418            'id': self.id,
14419            'name': self.name,
14420        }
14421
14422    @classmethod
14423    def from_dict(cls, d):
14424        return cls(
14425            id=d.get('id'),
14426            name=d.get('name'),
14427        )
14428
14429
14430class IdentitySetCreateResponse:
14431    '''
14432         IdentitySetCreateResponse reports how the IdentitySets were created in the system. It can
14433     communicate partial successes or failures.
14434    '''
14435    __slots__ = [
14436        'identity_set',
14437        'meta',
14438        'rate_limit',
14439    ]
14440
14441    def __init__(
14442        self,
14443        identity_set=None,
14444        meta=None,
14445        rate_limit=None,
14446    ):
14447        self.identity_set = identity_set if identity_set is not None else None
14448        '''
14449         The created IdentitySet.
14450        '''
14451        self.meta = meta if meta is not None else None
14452        '''
14453         Reserved for future use.
14454        '''
14455        self.rate_limit = rate_limit if rate_limit is not None else None
14456        '''
14457         Rate limit information.
14458        '''
14459
14460    def __repr__(self):
14461        return '<sdm.IdentitySetCreateResponse ' + \
14462            'identity_set: ' + repr(self.identity_set) + ' ' +\
14463            'meta: ' + repr(self.meta) + ' ' +\
14464            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14465            '>'
14466
14467    def to_dict(self):
14468        return {
14469            'identity_set': self.identity_set,
14470            'meta': self.meta,
14471            'rate_limit': self.rate_limit,
14472        }
14473
14474    @classmethod
14475    def from_dict(cls, d):
14476        return cls(
14477            identity_set=d.get('identity_set'),
14478            meta=d.get('meta'),
14479            rate_limit=d.get('rate_limit'),
14480        )
14481
14482
14483class IdentitySetDeleteResponse:
14484    '''
14485         IdentitySetDeleteResponse returns information about a IdentitySet that was deleted.
14486    '''
14487    __slots__ = [
14488        'meta',
14489        'rate_limit',
14490    ]
14491
14492    def __init__(
14493        self,
14494        meta=None,
14495        rate_limit=None,
14496    ):
14497        self.meta = meta if meta is not None else None
14498        '''
14499         Reserved for future use.
14500        '''
14501        self.rate_limit = rate_limit if rate_limit is not None else None
14502        '''
14503         Rate limit information.
14504        '''
14505
14506    def __repr__(self):
14507        return '<sdm.IdentitySetDeleteResponse ' + \
14508            'meta: ' + repr(self.meta) + ' ' +\
14509            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14510            '>'
14511
14512    def to_dict(self):
14513        return {
14514            'meta': self.meta,
14515            'rate_limit': self.rate_limit,
14516        }
14517
14518    @classmethod
14519    def from_dict(cls, d):
14520        return cls(
14521            meta=d.get('meta'),
14522            rate_limit=d.get('rate_limit'),
14523        )
14524
14525
14526class IdentitySetGetResponse:
14527    '''
14528         IdentitySetGetResponse returns a requested IdentitySet.
14529    '''
14530    __slots__ = [
14531        'identity_set',
14532        'meta',
14533        'rate_limit',
14534    ]
14535
14536    def __init__(
14537        self,
14538        identity_set=None,
14539        meta=None,
14540        rate_limit=None,
14541    ):
14542        self.identity_set = identity_set if identity_set is not None else None
14543        '''
14544         The requested IdentitySet.
14545        '''
14546        self.meta = meta if meta is not None else None
14547        '''
14548         Reserved for future use.
14549        '''
14550        self.rate_limit = rate_limit if rate_limit is not None else None
14551        '''
14552         Rate limit information.
14553        '''
14554
14555    def __repr__(self):
14556        return '<sdm.IdentitySetGetResponse ' + \
14557            'identity_set: ' + repr(self.identity_set) + ' ' +\
14558            'meta: ' + repr(self.meta) + ' ' +\
14559            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14560            '>'
14561
14562    def to_dict(self):
14563        return {
14564            'identity_set': self.identity_set,
14565            'meta': self.meta,
14566            'rate_limit': self.rate_limit,
14567        }
14568
14569    @classmethod
14570    def from_dict(cls, d):
14571        return cls(
14572            identity_set=d.get('identity_set'),
14573            meta=d.get('meta'),
14574            rate_limit=d.get('rate_limit'),
14575        )
14576
14577
14578class IdentitySetHistory:
14579    '''
14580         IdentitySetHistory records the state of a IdentitySet at a given point in time,
14581     where every change (create, update and delete) to a IdentitySet produces an
14582     IdentitySetHistory record.
14583    '''
14584    __slots__ = [
14585        'activity_id',
14586        'deleted_at',
14587        'identity_set',
14588        'timestamp',
14589    ]
14590
14591    def __init__(
14592        self,
14593        activity_id=None,
14594        deleted_at=None,
14595        identity_set=None,
14596        timestamp=None,
14597    ):
14598        self.activity_id = activity_id if activity_id is not None else ''
14599        '''
14600         The unique identifier of the Activity that produced this change to the IdentitySet.
14601         May be empty for some system-initiated updates.
14602        '''
14603        self.deleted_at = deleted_at if deleted_at is not None else None
14604        '''
14605         If this IdentitySet was deleted, the time it was deleted.
14606        '''
14607        self.identity_set = identity_set if identity_set is not None else None
14608        '''
14609         The complete IdentitySet state at this time.
14610        '''
14611        self.timestamp = timestamp if timestamp is not None else None
14612        '''
14613         The time at which the IdentitySet state was recorded.
14614        '''
14615
14616    def __repr__(self):
14617        return '<sdm.IdentitySetHistory ' + \
14618            'activity_id: ' + repr(self.activity_id) + ' ' +\
14619            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
14620            'identity_set: ' + repr(self.identity_set) + ' ' +\
14621            'timestamp: ' + repr(self.timestamp) + ' ' +\
14622            '>'
14623
14624    def to_dict(self):
14625        return {
14626            'activity_id': self.activity_id,
14627            'deleted_at': self.deleted_at,
14628            'identity_set': self.identity_set,
14629            'timestamp': self.timestamp,
14630        }
14631
14632    @classmethod
14633    def from_dict(cls, d):
14634        return cls(
14635            activity_id=d.get('activity_id'),
14636            deleted_at=d.get('deleted_at'),
14637            identity_set=d.get('identity_set'),
14638            timestamp=d.get('timestamp'),
14639        )
14640
14641
14642class IdentitySetUpdateResponse:
14643    '''
14644         IdentitySetUpdateResponse returns the fields of a IdentitySet after it has been updated by
14645     a IdentitySetUpdateRequest.
14646    '''
14647    __slots__ = [
14648        'identity_set',
14649        'meta',
14650        'rate_limit',
14651    ]
14652
14653    def __init__(
14654        self,
14655        identity_set=None,
14656        meta=None,
14657        rate_limit=None,
14658    ):
14659        self.identity_set = identity_set if identity_set is not None else None
14660        '''
14661         The updated IdentitySet.
14662        '''
14663        self.meta = meta if meta is not None else None
14664        '''
14665         Reserved for future use.
14666        '''
14667        self.rate_limit = rate_limit if rate_limit is not None else None
14668        '''
14669         Rate limit information.
14670        '''
14671
14672    def __repr__(self):
14673        return '<sdm.IdentitySetUpdateResponse ' + \
14674            'identity_set: ' + repr(self.identity_set) + ' ' +\
14675            'meta: ' + repr(self.meta) + ' ' +\
14676            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14677            '>'
14678
14679    def to_dict(self):
14680        return {
14681            'identity_set': self.identity_set,
14682            'meta': self.meta,
14683            'rate_limit': self.rate_limit,
14684        }
14685
14686    @classmethod
14687    def from_dict(cls, d):
14688        return cls(
14689            identity_set=d.get('identity_set'),
14690            meta=d.get('meta'),
14691            rate_limit=d.get('rate_limit'),
14692        )
14693
14694
14695class KeyValueEngine:
14696    '''
14697    KeyValueEngine is currently unstable, and its API may change, or it may be removed,
14698    without a major version bump.
14699    '''
14700    __slots__ = [
14701        'id',
14702        'key_rotation_interval_days',
14703        'name',
14704        'public_key',
14705        'secret_store_id',
14706        'secret_store_root_path',
14707        'tags',
14708    ]
14709
14710    def __init__(
14711        self,
14712        id=None,
14713        key_rotation_interval_days=None,
14714        name=None,
14715        public_key=None,
14716        secret_store_id=None,
14717        secret_store_root_path=None,
14718        tags=None,
14719    ):
14720        self.id = id if id is not None else ''
14721        '''
14722         Unique identifier of the Secret Engine.
14723        '''
14724        self.key_rotation_interval_days = key_rotation_interval_days if key_rotation_interval_days is not None else 0
14725        '''
14726         An interval of public/private key rotation for secret engine in days
14727        '''
14728        self.name = name if name is not None else ''
14729        '''
14730         Unique human-readable name of the Secret Engine.
14731        '''
14732        self.public_key = public_key if public_key is not None else b''
14733        '''
14734         Public key linked with a secret engine
14735        '''
14736        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14737        '''
14738         Backing secret store identifier
14739        '''
14740        self.secret_store_root_path = secret_store_root_path if secret_store_root_path is not None else ''
14741        '''
14742         Backing Secret Store root path where managed secrets are going to be stored
14743        '''
14744        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14745        '''
14746         Tags is a map of key, value pairs.
14747        '''
14748
14749    def __repr__(self):
14750        return '<sdm.KeyValueEngine ' + \
14751            'id: ' + repr(self.id) + ' ' +\
14752            'key_rotation_interval_days: ' + repr(self.key_rotation_interval_days) + ' ' +\
14753            'name: ' + repr(self.name) + ' ' +\
14754            'public_key: ' + repr(self.public_key) + ' ' +\
14755            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
14756            'secret_store_root_path: ' + repr(self.secret_store_root_path) + ' ' +\
14757            'tags: ' + repr(self.tags) + ' ' +\
14758            '>'
14759
14760    def to_dict(self):
14761        return {
14762            'id': self.id,
14763            'key_rotation_interval_days': self.key_rotation_interval_days,
14764            'name': self.name,
14765            'public_key': self.public_key,
14766            'secret_store_id': self.secret_store_id,
14767            'secret_store_root_path': self.secret_store_root_path,
14768            'tags': self.tags,
14769        }
14770
14771    @classmethod
14772    def from_dict(cls, d):
14773        return cls(
14774            id=d.get('id'),
14775            key_rotation_interval_days=d.get('key_rotation_interval_days'),
14776            name=d.get('name'),
14777            public_key=d.get('public_key'),
14778            secret_store_id=d.get('secret_store_id'),
14779            secret_store_root_path=d.get('secret_store_root_path'),
14780            tags=d.get('tags'),
14781        )
14782
14783
14784class KeyfactorSSHStore:
14785    __slots__ = [
14786        'ca_file_path',
14787        'certificate_file_path',
14788        'default_certificate_authority_name',
14789        'default_certificate_profile_name',
14790        'default_end_entity_profile_name',
14791        'enrollment_code_env_var',
14792        'enrollment_username_env_var',
14793        'id',
14794        'key_file_path',
14795        'name',
14796        'server_address',
14797        'tags',
14798    ]
14799
14800    def __init__(
14801        self,
14802        ca_file_path=None,
14803        certificate_file_path=None,
14804        default_certificate_authority_name=None,
14805        default_certificate_profile_name=None,
14806        default_end_entity_profile_name=None,
14807        enrollment_code_env_var=None,
14808        enrollment_username_env_var=None,
14809        id=None,
14810        key_file_path=None,
14811        name=None,
14812        server_address=None,
14813        tags=None,
14814    ):
14815        self.ca_file_path = ca_file_path if ca_file_path is not None else ''
14816        '''
14817         Path to the root CA that signed the certificate passed to the client for HTTPS connection.
14818         This is not required if the CA is trusted by the host operating system. This should be a PEM
14819         formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
14820        '''
14821        self.certificate_file_path = certificate_file_path if certificate_file_path is not None else ''
14822        '''
14823         Path to client certificate in PEM format. This certificate must contain a client certificate that
14824         is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
14825         key associated with the certificate, but KeyFile can also be set to configure the private key.
14826        '''
14827        self.default_certificate_authority_name = default_certificate_authority_name if default_certificate_authority_name is not None else ''
14828        '''
14829         Name of EJBCA certificate authority that will enroll CSR.
14830        '''
14831        self.default_certificate_profile_name = default_certificate_profile_name if default_certificate_profile_name is not None else ''
14832        '''
14833         Certificate profile name that EJBCA will enroll the CSR with.
14834        '''
14835        self.default_end_entity_profile_name = default_end_entity_profile_name if default_end_entity_profile_name is not None else ''
14836        '''
14837         End entity profile that EJBCA will enroll the CSR with.
14838        '''
14839        self.enrollment_code_env_var = enrollment_code_env_var if enrollment_code_env_var is not None else ''
14840        '''
14841         code used by EJBCA during enrollment. May be left blank if no code is required.
14842        '''
14843        self.enrollment_username_env_var = enrollment_username_env_var if enrollment_username_env_var is not None else ''
14844        '''
14845         username that used by the EJBCA during enrollment. This can be left out. 
14846         If so, the username must be auto-generated on the Keyfactor side.
14847        '''
14848        self.id = id if id is not None else ''
14849        '''
14850         Unique identifier of the SecretStore.
14851        '''
14852        self.key_file_path = key_file_path if key_file_path is not None else ''
14853        '''
14854         Path to private key in PEM format. This file should contain the private key associated with the
14855         client certificate configured in CertificateFile.
14856        '''
14857        self.name = name if name is not None else ''
14858        '''
14859         Unique human-readable name of the SecretStore.
14860        '''
14861        self.server_address = server_address if server_address is not None else ''
14862        '''
14863         the host of the Key Factor CA
14864        '''
14865        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14866        '''
14867         Tags is a map of key, value pairs.
14868        '''
14869
14870    def __repr__(self):
14871        return '<sdm.KeyfactorSSHStore ' + \
14872            'ca_file_path: ' + repr(self.ca_file_path) + ' ' +\
14873            'certificate_file_path: ' + repr(self.certificate_file_path) + ' ' +\
14874            'default_certificate_authority_name: ' + repr(self.default_certificate_authority_name) + ' ' +\
14875            'default_certificate_profile_name: ' + repr(self.default_certificate_profile_name) + ' ' +\
14876            'default_end_entity_profile_name: ' + repr(self.default_end_entity_profile_name) + ' ' +\
14877            'enrollment_code_env_var: ' + repr(self.enrollment_code_env_var) + ' ' +\
14878            'enrollment_username_env_var: ' + repr(self.enrollment_username_env_var) + ' ' +\
14879            'id: ' + repr(self.id) + ' ' +\
14880            'key_file_path: ' + repr(self.key_file_path) + ' ' +\
14881            'name: ' + repr(self.name) + ' ' +\
14882            'server_address: ' + repr(self.server_address) + ' ' +\
14883            'tags: ' + repr(self.tags) + ' ' +\
14884            '>'
14885
14886    def to_dict(self):
14887        return {
14888            'ca_file_path': self.ca_file_path,
14889            'certificate_file_path': self.certificate_file_path,
14890            'default_certificate_authority_name':
14891            self.default_certificate_authority_name,
14892            'default_certificate_profile_name':
14893            self.default_certificate_profile_name,
14894            'default_end_entity_profile_name':
14895            self.default_end_entity_profile_name,
14896            'enrollment_code_env_var': self.enrollment_code_env_var,
14897            'enrollment_username_env_var': self.enrollment_username_env_var,
14898            'id': self.id,
14899            'key_file_path': self.key_file_path,
14900            'name': self.name,
14901            'server_address': self.server_address,
14902            'tags': self.tags,
14903        }
14904
14905    @classmethod
14906    def from_dict(cls, d):
14907        return cls(
14908            ca_file_path=d.get('ca_file_path'),
14909            certificate_file_path=d.get('certificate_file_path'),
14910            default_certificate_authority_name=d.get(
14911                'default_certificate_authority_name'),
14912            default_certificate_profile_name=d.get(
14913                'default_certificate_profile_name'),
14914            default_end_entity_profile_name=d.get(
14915                'default_end_entity_profile_name'),
14916            enrollment_code_env_var=d.get('enrollment_code_env_var'),
14917            enrollment_username_env_var=d.get('enrollment_username_env_var'),
14918            id=d.get('id'),
14919            key_file_path=d.get('key_file_path'),
14920            name=d.get('name'),
14921            server_address=d.get('server_address'),
14922            tags=d.get('tags'),
14923        )
14924
14925
14926class KeyfactorX509Store:
14927    __slots__ = [
14928        'ca_file_path',
14929        'certificate_file_path',
14930        'default_certificate_authority_name',
14931        'default_certificate_profile_name',
14932        'default_end_entity_profile_name',
14933        'enrollment_code_env_var',
14934        'enrollment_username_env_var',
14935        'id',
14936        'key_file_path',
14937        'name',
14938        'server_address',
14939        'tags',
14940    ]
14941
14942    def __init__(
14943        self,
14944        ca_file_path=None,
14945        certificate_file_path=None,
14946        default_certificate_authority_name=None,
14947        default_certificate_profile_name=None,
14948        default_end_entity_profile_name=None,
14949        enrollment_code_env_var=None,
14950        enrollment_username_env_var=None,
14951        id=None,
14952        key_file_path=None,
14953        name=None,
14954        server_address=None,
14955        tags=None,
14956    ):
14957        self.ca_file_path = ca_file_path if ca_file_path is not None else ''
14958        '''
14959         Path to the root CA that signed the certificate passed to the client for HTTPS connection.
14960         This is not required if the CA is trusted by the host operating system. This should be a PEM
14961         formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
14962        '''
14963        self.certificate_file_path = certificate_file_path if certificate_file_path is not None else ''
14964        '''
14965         Path to client certificate in PEM format. This certificate must contain a client certificate that
14966         is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
14967         key associated with the certificate, but KeyFile can also be set to configure the private key.
14968        '''
14969        self.default_certificate_authority_name = default_certificate_authority_name if default_certificate_authority_name is not None else ''
14970        '''
14971         Name of EJBCA certificate authority that will enroll CSR.
14972        '''
14973        self.default_certificate_profile_name = default_certificate_profile_name if default_certificate_profile_name is not None else ''
14974        '''
14975         Certificate profile name that EJBCA will enroll the CSR with.
14976        '''
14977        self.default_end_entity_profile_name = default_end_entity_profile_name if default_end_entity_profile_name is not None else ''
14978        '''
14979         End entity profile that EJBCA will enroll the CSR with.
14980        '''
14981        self.enrollment_code_env_var = enrollment_code_env_var if enrollment_code_env_var is not None else ''
14982        '''
14983         code used by EJBCA during enrollment. May be left blank if no code is required.
14984        '''
14985        self.enrollment_username_env_var = enrollment_username_env_var if enrollment_username_env_var is not None else ''
14986        '''
14987         username that used by the EJBCA during enrollment. This can be left out. 
14988         If so, the username must be auto-generated on the Keyfactor side.
14989        '''
14990        self.id = id if id is not None else ''
14991        '''
14992         Unique identifier of the SecretStore.
14993        '''
14994        self.key_file_path = key_file_path if key_file_path is not None else ''
14995        '''
14996         Path to private key in PEM format. This file should contain the private key associated with the
14997         client certificate configured in CertificateFile.
14998        '''
14999        self.name = name if name is not None else ''
15000        '''
15001         Unique human-readable name of the SecretStore.
15002        '''
15003        self.server_address = server_address if server_address is not None else ''
15004        '''
15005         the host of the Key Factor CA
15006        '''
15007        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15008        '''
15009         Tags is a map of key, value pairs.
15010        '''
15011
15012    def __repr__(self):
15013        return '<sdm.KeyfactorX509Store ' + \
15014            'ca_file_path: ' + repr(self.ca_file_path) + ' ' +\
15015            'certificate_file_path: ' + repr(self.certificate_file_path) + ' ' +\
15016            'default_certificate_authority_name: ' + repr(self.default_certificate_authority_name) + ' ' +\
15017            'default_certificate_profile_name: ' + repr(self.default_certificate_profile_name) + ' ' +\
15018            'default_end_entity_profile_name: ' + repr(self.default_end_entity_profile_name) + ' ' +\
15019            'enrollment_code_env_var: ' + repr(self.enrollment_code_env_var) + ' ' +\
15020            'enrollment_username_env_var: ' + repr(self.enrollment_username_env_var) + ' ' +\
15021            'id: ' + repr(self.id) + ' ' +\
15022            'key_file_path: ' + repr(self.key_file_path) + ' ' +\
15023            'name: ' + repr(self.name) + ' ' +\
15024            'server_address: ' + repr(self.server_address) + ' ' +\
15025            'tags: ' + repr(self.tags) + ' ' +\
15026            '>'
15027
15028    def to_dict(self):
15029        return {
15030            'ca_file_path': self.ca_file_path,
15031            'certificate_file_path': self.certificate_file_path,
15032            'default_certificate_authority_name':
15033            self.default_certificate_authority_name,
15034            'default_certificate_profile_name':
15035            self.default_certificate_profile_name,
15036            'default_end_entity_profile_name':
15037            self.default_end_entity_profile_name,
15038            'enrollment_code_env_var': self.enrollment_code_env_var,
15039            'enrollment_username_env_var': self.enrollment_username_env_var,
15040            'id': self.id,
15041            'key_file_path': self.key_file_path,
15042            'name': self.name,
15043            'server_address': self.server_address,
15044            'tags': self.tags,
15045        }
15046
15047    @classmethod
15048    def from_dict(cls, d):
15049        return cls(
15050            ca_file_path=d.get('ca_file_path'),
15051            certificate_file_path=d.get('certificate_file_path'),
15052            default_certificate_authority_name=d.get(
15053                'default_certificate_authority_name'),
15054            default_certificate_profile_name=d.get(
15055                'default_certificate_profile_name'),
15056            default_end_entity_profile_name=d.get(
15057                'default_end_entity_profile_name'),
15058            enrollment_code_env_var=d.get('enrollment_code_env_var'),
15059            enrollment_username_env_var=d.get('enrollment_username_env_var'),
15060            id=d.get('id'),
15061            key_file_path=d.get('key_file_path'),
15062            name=d.get('name'),
15063            server_address=d.get('server_address'),
15064            tags=d.get('tags'),
15065        )
15066
15067
15068class Kubernetes:
15069    __slots__ = [
15070        'allow_resource_role_bypass',
15071        'bind_interface',
15072        'certificate_authority',
15073        'client_certificate',
15074        'client_key',
15075        'discovery_enabled',
15076        'discovery_username',
15077        'egress_filter',
15078        'healthcheck_namespace',
15079        'healthy',
15080        'hostname',
15081        'id',
15082        'identity_alias_healthcheck_username',
15083        'identity_set_id',
15084        'name',
15085        'port',
15086        'port_override',
15087        'proxy_cluster_id',
15088        'secret_store_id',
15089        'subdomain',
15090        'tags',
15091    ]
15092
15093    def __init__(
15094        self,
15095        allow_resource_role_bypass=None,
15096        bind_interface=None,
15097        certificate_authority=None,
15098        client_certificate=None,
15099        client_key=None,
15100        discovery_enabled=None,
15101        discovery_username=None,
15102        egress_filter=None,
15103        healthcheck_namespace=None,
15104        healthy=None,
15105        hostname=None,
15106        id=None,
15107        identity_alias_healthcheck_username=None,
15108        identity_set_id=None,
15109        name=None,
15110        port=None,
15111        port_override=None,
15112        proxy_cluster_id=None,
15113        secret_store_id=None,
15114        subdomain=None,
15115        tags=None,
15116    ):
15117        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
15118        '''
15119         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
15120         when a resource role is not provided.
15121        '''
15122        self.bind_interface = bind_interface if bind_interface is not None else ''
15123        '''
15124         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15125        '''
15126        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
15127        '''
15128         The CA to authenticate TLS connections with.
15129        '''
15130        self.client_certificate = client_certificate if client_certificate is not None else ''
15131        '''
15132         The certificate to authenticate TLS connections with.
15133        '''
15134        self.client_key = client_key if client_key is not None else ''
15135        '''
15136         The key to authenticate TLS connections with.
15137        '''
15138        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
15139        '''
15140         If true, configures discovery of a cluster to be run from a node.
15141        '''
15142        self.discovery_username = discovery_username if discovery_username is not None else ''
15143        '''
15144         If a cluster is configured for user impersonation, this is the user to impersonate when
15145         running discovery.
15146        '''
15147        self.egress_filter = egress_filter if egress_filter is not None else ''
15148        '''
15149         A filter applied to the routing logic to pin datasource to nodes.
15150        '''
15151        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15152        '''
15153         The path used to check the health of your connection.  Defaults to `default`.
15154        '''
15155        self.healthy = healthy if healthy is not None else False
15156        '''
15157         True if the datasource is reachable and the credentials are valid.
15158        '''
15159        self.hostname = hostname if hostname is not None else ''
15160        '''
15161         The host to dial to initiate a connection from the egress node to this resource.
15162        '''
15163        self.id = id if id is not None else ''
15164        '''
15165         Unique identifier of the Resource.
15166        '''
15167        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
15168        '''
15169         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
15170        '''
15171        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
15172        '''
15173         The ID of the identity set to use for identity connections.
15174        '''
15175        self.name = name if name is not None else ''
15176        '''
15177         Unique human-readable name of the Resource.
15178        '''
15179        self.port = port if port is not None else 0
15180        '''
15181         The port to dial to initiate a connection from the egress node to this resource.
15182        '''
15183        self.port_override = port_override if port_override is not None else 0
15184        '''
15185         The local port used by clients to connect to this resource.
15186        '''
15187        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15188        '''
15189         ID of the proxy cluster for this resource, if any.
15190        '''
15191        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15192        '''
15193         ID of the secret store containing credentials for this resource, if any.
15194        '''
15195        self.subdomain = subdomain if subdomain is not None else ''
15196        '''
15197         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15198        '''
15199        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15200        '''
15201         Tags is a map of key, value pairs.
15202        '''
15203
15204    def __repr__(self):
15205        return '<sdm.Kubernetes ' + \
15206            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
15207            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15208            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
15209            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
15210            'client_key: ' + repr(self.client_key) + ' ' +\
15211            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
15212            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
15213            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15214            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
15215            'healthy: ' + repr(self.healthy) + ' ' +\
15216            'hostname: ' + repr(self.hostname) + ' ' +\
15217            'id: ' + repr(self.id) + ' ' +\
15218            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
15219            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
15220            'name: ' + repr(self.name) + ' ' +\
15221            'port: ' + repr(self.port) + ' ' +\
15222            'port_override: ' + repr(self.port_override) + ' ' +\
15223            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15224            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15225            'subdomain: ' + repr(self.subdomain) + ' ' +\
15226            'tags: ' + repr(self.tags) + ' ' +\
15227            '>'
15228
15229    def to_dict(self):
15230        return {
15231            'allow_resource_role_bypass': self.allow_resource_role_bypass,
15232            'bind_interface': self.bind_interface,
15233            'certificate_authority': self.certificate_authority,
15234            'client_certificate': self.client_certificate,
15235            'client_key': self.client_key,
15236            'discovery_enabled': self.discovery_enabled,
15237            'discovery_username': self.discovery_username,
15238            'egress_filter': self.egress_filter,
15239            'healthcheck_namespace': self.healthcheck_namespace,
15240            'healthy': self.healthy,
15241            'hostname': self.hostname,
15242            'id': self.id,
15243            'identity_alias_healthcheck_username':
15244            self.identity_alias_healthcheck_username,
15245            'identity_set_id': self.identity_set_id,
15246            'name': self.name,
15247            'port': self.port,
15248            'port_override': self.port_override,
15249            'proxy_cluster_id': self.proxy_cluster_id,
15250            'secret_store_id': self.secret_store_id,
15251            'subdomain': self.subdomain,
15252            'tags': self.tags,
15253        }
15254
15255    @classmethod
15256    def from_dict(cls, d):
15257        return cls(
15258            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
15259            bind_interface=d.get('bind_interface'),
15260            certificate_authority=d.get('certificate_authority'),
15261            client_certificate=d.get('client_certificate'),
15262            client_key=d.get('client_key'),
15263            discovery_enabled=d.get('discovery_enabled'),
15264            discovery_username=d.get('discovery_username'),
15265            egress_filter=d.get('egress_filter'),
15266            healthcheck_namespace=d.get('healthcheck_namespace'),
15267            healthy=d.get('healthy'),
15268            hostname=d.get('hostname'),
15269            id=d.get('id'),
15270            identity_alias_healthcheck_username=d.get(
15271                'identity_alias_healthcheck_username'),
15272            identity_set_id=d.get('identity_set_id'),
15273            name=d.get('name'),
15274            port=d.get('port'),
15275            port_override=d.get('port_override'),
15276            proxy_cluster_id=d.get('proxy_cluster_id'),
15277            secret_store_id=d.get('secret_store_id'),
15278            subdomain=d.get('subdomain'),
15279            tags=d.get('tags'),
15280        )
15281
15282
15283class KubernetesBasicAuth:
15284    '''
15285    KubernetesBasicAuth is currently unstable, and its API may change, or it may be removed,
15286    without a major version bump.
15287    '''
15288    __slots__ = [
15289        'bind_interface',
15290        'egress_filter',
15291        'healthcheck_namespace',
15292        'healthy',
15293        'hostname',
15294        'id',
15295        'name',
15296        'password',
15297        'port',
15298        'port_override',
15299        'proxy_cluster_id',
15300        'secret_store_id',
15301        'subdomain',
15302        'tags',
15303        'username',
15304    ]
15305
15306    def __init__(
15307        self,
15308        bind_interface=None,
15309        egress_filter=None,
15310        healthcheck_namespace=None,
15311        healthy=None,
15312        hostname=None,
15313        id=None,
15314        name=None,
15315        password=None,
15316        port=None,
15317        port_override=None,
15318        proxy_cluster_id=None,
15319        secret_store_id=None,
15320        subdomain=None,
15321        tags=None,
15322        username=None,
15323    ):
15324        self.bind_interface = bind_interface if bind_interface is not None else ''
15325        '''
15326         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15327        '''
15328        self.egress_filter = egress_filter if egress_filter is not None else ''
15329        '''
15330         A filter applied to the routing logic to pin datasource to nodes.
15331        '''
15332        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15333        '''
15334         The path used to check the health of your connection.  Defaults to `default`.
15335        '''
15336        self.healthy = healthy if healthy is not None else False
15337        '''
15338         True if the datasource is reachable and the credentials are valid.
15339        '''
15340        self.hostname = hostname if hostname is not None else ''
15341        '''
15342         The host to dial to initiate a connection from the egress node to this resource.
15343        '''
15344        self.id = id if id is not None else ''
15345        '''
15346         Unique identifier of the Resource.
15347        '''
15348        self.name = name if name is not None else ''
15349        '''
15350         Unique human-readable name of the Resource.
15351        '''
15352        self.password = password if password is not None else ''
15353        '''
15354         The password to authenticate with.
15355        '''
15356        self.port = port if port is not None else 0
15357        '''
15358         The port to dial to initiate a connection from the egress node to this resource.
15359        '''
15360        self.port_override = port_override if port_override is not None else 0
15361        '''
15362         The local port used by clients to connect to this resource.
15363        '''
15364        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15365        '''
15366         ID of the proxy cluster for this resource, if any.
15367        '''
15368        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15369        '''
15370         ID of the secret store containing credentials for this resource, if any.
15371        '''
15372        self.subdomain = subdomain if subdomain is not None else ''
15373        '''
15374         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15375        '''
15376        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15377        '''
15378         Tags is a map of key, value pairs.
15379        '''
15380        self.username = username if username is not None else ''
15381        '''
15382         The username to authenticate with.
15383        '''
15384
15385    def __repr__(self):
15386        return '<sdm.KubernetesBasicAuth ' + \
15387            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15388            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15389            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
15390            'healthy: ' + repr(self.healthy) + ' ' +\
15391            'hostname: ' + repr(self.hostname) + ' ' +\
15392            'id: ' + repr(self.id) + ' ' +\
15393            'name: ' + repr(self.name) + ' ' +\
15394            'password: ' + repr(self.password) + ' ' +\
15395            'port: ' + repr(self.port) + ' ' +\
15396            'port_override: ' + repr(self.port_override) + ' ' +\
15397            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15398            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15399            'subdomain: ' + repr(self.subdomain) + ' ' +\
15400            'tags: ' + repr(self.tags) + ' ' +\
15401            'username: ' + repr(self.username) + ' ' +\
15402            '>'
15403
15404    def to_dict(self):
15405        return {
15406            'bind_interface': self.bind_interface,
15407            'egress_filter': self.egress_filter,
15408            'healthcheck_namespace': self.healthcheck_namespace,
15409            'healthy': self.healthy,
15410            'hostname': self.hostname,
15411            'id': self.id,
15412            'name': self.name,
15413            'password': self.password,
15414            'port': self.port,
15415            'port_override': self.port_override,
15416            'proxy_cluster_id': self.proxy_cluster_id,
15417            'secret_store_id': self.secret_store_id,
15418            'subdomain': self.subdomain,
15419            'tags': self.tags,
15420            'username': self.username,
15421        }
15422
15423    @classmethod
15424    def from_dict(cls, d):
15425        return cls(
15426            bind_interface=d.get('bind_interface'),
15427            egress_filter=d.get('egress_filter'),
15428            healthcheck_namespace=d.get('healthcheck_namespace'),
15429            healthy=d.get('healthy'),
15430            hostname=d.get('hostname'),
15431            id=d.get('id'),
15432            name=d.get('name'),
15433            password=d.get('password'),
15434            port=d.get('port'),
15435            port_override=d.get('port_override'),
15436            proxy_cluster_id=d.get('proxy_cluster_id'),
15437            secret_store_id=d.get('secret_store_id'),
15438            subdomain=d.get('subdomain'),
15439            tags=d.get('tags'),
15440            username=d.get('username'),
15441        )
15442
15443
15444class KubernetesPodIdentity:
15445    __slots__ = [
15446        'allow_resource_role_bypass',
15447        'bind_interface',
15448        'certificate_authority',
15449        'egress_filter',
15450        'healthcheck_namespace',
15451        'healthy',
15452        'id',
15453        'identity_alias_healthcheck_username',
15454        'identity_set_id',
15455        'name',
15456        'port_override',
15457        'proxy_cluster_id',
15458        'secret_store_id',
15459        'subdomain',
15460        'tags',
15461    ]
15462
15463    def __init__(
15464        self,
15465        allow_resource_role_bypass=None,
15466        bind_interface=None,
15467        certificate_authority=None,
15468        egress_filter=None,
15469        healthcheck_namespace=None,
15470        healthy=None,
15471        id=None,
15472        identity_alias_healthcheck_username=None,
15473        identity_set_id=None,
15474        name=None,
15475        port_override=None,
15476        proxy_cluster_id=None,
15477        secret_store_id=None,
15478        subdomain=None,
15479        tags=None,
15480    ):
15481        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
15482        '''
15483         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
15484         when a resource role is not provided.
15485        '''
15486        self.bind_interface = bind_interface if bind_interface is not None else ''
15487        '''
15488         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15489        '''
15490        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
15491        '''
15492         The CA to authenticate TLS connections with.
15493        '''
15494        self.egress_filter = egress_filter if egress_filter is not None else ''
15495        '''
15496         A filter applied to the routing logic to pin datasource to nodes.
15497        '''
15498        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15499        '''
15500         The path used to check the health of your connection.  Defaults to `default`.
15501        '''
15502        self.healthy = healthy if healthy is not None else False
15503        '''
15504         True if the datasource is reachable and the credentials are valid.
15505        '''
15506        self.id = id if id is not None else ''
15507        '''
15508         Unique identifier of the Resource.
15509        '''
15510        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
15511        '''
15512         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
15513        '''
15514        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
15515        '''
15516         The ID of the identity set to use for identity connections.
15517        '''
15518        self.name = name if name is not None else ''
15519        '''
15520         Unique human-readable name of the Resource.
15521        '''
15522        self.port_override = port_override if port_override is not None else 0
15523        '''
15524         The local port used by clients to connect to this resource.
15525        '''
15526        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15527        '''
15528         ID of the proxy cluster for this resource, if any.
15529        '''
15530        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15531        '''
15532         ID of the secret store containing credentials for this resource, if any.
15533        '''
15534        self.subdomain = subdomain if subdomain is not None else ''
15535        '''
15536         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15537        '''
15538        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15539        '''
15540         Tags is a map of key, value pairs.
15541        '''
15542
15543    def __repr__(self):
15544        return '<sdm.KubernetesPodIdentity ' + \
15545            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
15546            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15547            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
15548            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15549            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
15550            'healthy: ' + repr(self.healthy) + ' ' +\
15551            'id: ' + repr(self.id) + ' ' +\
15552            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
15553            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
15554            'name: ' + repr(self.name) + ' ' +\
15555            'port_override: ' + repr(self.port_override) + ' ' +\
15556            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15557            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15558            'subdomain: ' + repr(self.subdomain) + ' ' +\
15559            'tags: ' + repr(self.tags) + ' ' +\
15560            '>'
15561
15562    def to_dict(self):
15563        return {
15564            'allow_resource_role_bypass': self.allow_resource_role_bypass,
15565            'bind_interface': self.bind_interface,
15566            'certificate_authority': self.certificate_authority,
15567            'egress_filter': self.egress_filter,
15568            'healthcheck_namespace': self.healthcheck_namespace,
15569            'healthy': self.healthy,
15570            'id': self.id,
15571            'identity_alias_healthcheck_username':
15572            self.identity_alias_healthcheck_username,
15573            'identity_set_id': self.identity_set_id,
15574            'name': self.name,
15575            'port_override': self.port_override,
15576            'proxy_cluster_id': self.proxy_cluster_id,
15577            'secret_store_id': self.secret_store_id,
15578            'subdomain': self.subdomain,
15579            'tags': self.tags,
15580        }
15581
15582    @classmethod
15583    def from_dict(cls, d):
15584        return cls(
15585            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
15586            bind_interface=d.get('bind_interface'),
15587            certificate_authority=d.get('certificate_authority'),
15588            egress_filter=d.get('egress_filter'),
15589            healthcheck_namespace=d.get('healthcheck_namespace'),
15590            healthy=d.get('healthy'),
15591            id=d.get('id'),
15592            identity_alias_healthcheck_username=d.get(
15593                'identity_alias_healthcheck_username'),
15594            identity_set_id=d.get('identity_set_id'),
15595            name=d.get('name'),
15596            port_override=d.get('port_override'),
15597            proxy_cluster_id=d.get('proxy_cluster_id'),
15598            secret_store_id=d.get('secret_store_id'),
15599            subdomain=d.get('subdomain'),
15600            tags=d.get('tags'),
15601        )
15602
15603
15604class KubernetesServiceAccount:
15605    __slots__ = [
15606        'allow_resource_role_bypass',
15607        'bind_interface',
15608        'discovery_enabled',
15609        'discovery_username',
15610        'egress_filter',
15611        'healthcheck_namespace',
15612        'healthy',
15613        'hostname',
15614        'id',
15615        'identity_alias_healthcheck_username',
15616        'identity_set_id',
15617        'name',
15618        'port',
15619        'port_override',
15620        'proxy_cluster_id',
15621        'secret_store_id',
15622        'subdomain',
15623        'tags',
15624        'token',
15625    ]
15626
15627    def __init__(
15628        self,
15629        allow_resource_role_bypass=None,
15630        bind_interface=None,
15631        discovery_enabled=None,
15632        discovery_username=None,
15633        egress_filter=None,
15634        healthcheck_namespace=None,
15635        healthy=None,
15636        hostname=None,
15637        id=None,
15638        identity_alias_healthcheck_username=None,
15639        identity_set_id=None,
15640        name=None,
15641        port=None,
15642        port_override=None,
15643        proxy_cluster_id=None,
15644        secret_store_id=None,
15645        subdomain=None,
15646        tags=None,
15647        token=None,
15648    ):
15649        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
15650        '''
15651         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
15652         when a resource role is not provided.
15653        '''
15654        self.bind_interface = bind_interface if bind_interface is not None else ''
15655        '''
15656         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15657        '''
15658        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
15659        '''
15660         If true, configures discovery of a cluster to be run from a node.
15661        '''
15662        self.discovery_username = discovery_username if discovery_username is not None else ''
15663        '''
15664         If a cluster is configured for user impersonation, this is the user to impersonate when
15665         running discovery.
15666        '''
15667        self.egress_filter = egress_filter if egress_filter is not None else ''
15668        '''
15669         A filter applied to the routing logic to pin datasource to nodes.
15670        '''
15671        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15672        '''
15673         The path used to check the health of your connection.  Defaults to `default`.
15674        '''
15675        self.healthy = healthy if healthy is not None else False
15676        '''
15677         True if the datasource is reachable and the credentials are valid.
15678        '''
15679        self.hostname = hostname if hostname is not None else ''
15680        '''
15681         The host to dial to initiate a connection from the egress node to this resource.
15682        '''
15683        self.id = id if id is not None else ''
15684        '''
15685         Unique identifier of the Resource.
15686        '''
15687        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
15688        '''
15689         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
15690        '''
15691        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
15692        '''
15693         The ID of the identity set to use for identity connections.
15694        '''
15695        self.name = name if name is not None else ''
15696        '''
15697         Unique human-readable name of the Resource.
15698        '''
15699        self.port = port if port is not None else 0
15700        '''
15701         The port to dial to initiate a connection from the egress node to this resource.
15702        '''
15703        self.port_override = port_override if port_override is not None else 0
15704        '''
15705         The local port used by clients to connect to this resource.
15706        '''
15707        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15708        '''
15709         ID of the proxy cluster for this resource, if any.
15710        '''
15711        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15712        '''
15713         ID of the secret store containing credentials for this resource, if any.
15714        '''
15715        self.subdomain = subdomain if subdomain is not None else ''
15716        '''
15717         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15718        '''
15719        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15720        '''
15721         Tags is a map of key, value pairs.
15722        '''
15723        self.token = token if token is not None else ''
15724        '''
15725         The API token to authenticate with.
15726        '''
15727
15728    def __repr__(self):
15729        return '<sdm.KubernetesServiceAccount ' + \
15730            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
15731            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15732            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
15733            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
15734            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15735            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
15736            'healthy: ' + repr(self.healthy) + ' ' +\
15737            'hostname: ' + repr(self.hostname) + ' ' +\
15738            'id: ' + repr(self.id) + ' ' +\
15739            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
15740            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
15741            'name: ' + repr(self.name) + ' ' +\
15742            'port: ' + repr(self.port) + ' ' +\
15743            'port_override: ' + repr(self.port_override) + ' ' +\
15744            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15745            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15746            'subdomain: ' + repr(self.subdomain) + ' ' +\
15747            'tags: ' + repr(self.tags) + ' ' +\
15748            'token: ' + repr(self.token) + ' ' +\
15749            '>'
15750
15751    def to_dict(self):
15752        return {
15753            'allow_resource_role_bypass': self.allow_resource_role_bypass,
15754            'bind_interface': self.bind_interface,
15755            'discovery_enabled': self.discovery_enabled,
15756            'discovery_username': self.discovery_username,
15757            'egress_filter': self.egress_filter,
15758            'healthcheck_namespace': self.healthcheck_namespace,
15759            'healthy': self.healthy,
15760            'hostname': self.hostname,
15761            'id': self.id,
15762            'identity_alias_healthcheck_username':
15763            self.identity_alias_healthcheck_username,
15764            'identity_set_id': self.identity_set_id,
15765            'name': self.name,
15766            'port': self.port,
15767            'port_override': self.port_override,
15768            'proxy_cluster_id': self.proxy_cluster_id,
15769            'secret_store_id': self.secret_store_id,
15770            'subdomain': self.subdomain,
15771            'tags': self.tags,
15772            'token': self.token,
15773        }
15774
15775    @classmethod
15776    def from_dict(cls, d):
15777        return cls(
15778            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
15779            bind_interface=d.get('bind_interface'),
15780            discovery_enabled=d.get('discovery_enabled'),
15781            discovery_username=d.get('discovery_username'),
15782            egress_filter=d.get('egress_filter'),
15783            healthcheck_namespace=d.get('healthcheck_namespace'),
15784            healthy=d.get('healthy'),
15785            hostname=d.get('hostname'),
15786            id=d.get('id'),
15787            identity_alias_healthcheck_username=d.get(
15788                'identity_alias_healthcheck_username'),
15789            identity_set_id=d.get('identity_set_id'),
15790            name=d.get('name'),
15791            port=d.get('port'),
15792            port_override=d.get('port_override'),
15793            proxy_cluster_id=d.get('proxy_cluster_id'),
15794            secret_store_id=d.get('secret_store_id'),
15795            subdomain=d.get('subdomain'),
15796            tags=d.get('tags'),
15797            token=d.get('token'),
15798        )
15799
15800
15801class KubernetesServiceAccountUserImpersonation:
15802    __slots__ = [
15803        'bind_interface',
15804        'egress_filter',
15805        'healthcheck_namespace',
15806        'healthy',
15807        'hostname',
15808        'id',
15809        'name',
15810        'port',
15811        'port_override',
15812        'proxy_cluster_id',
15813        'secret_store_id',
15814        'subdomain',
15815        'tags',
15816        'token',
15817    ]
15818
15819    def __init__(
15820        self,
15821        bind_interface=None,
15822        egress_filter=None,
15823        healthcheck_namespace=None,
15824        healthy=None,
15825        hostname=None,
15826        id=None,
15827        name=None,
15828        port=None,
15829        port_override=None,
15830        proxy_cluster_id=None,
15831        secret_store_id=None,
15832        subdomain=None,
15833        tags=None,
15834        token=None,
15835    ):
15836        self.bind_interface = bind_interface if bind_interface is not None else ''
15837        '''
15838         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15839        '''
15840        self.egress_filter = egress_filter if egress_filter is not None else ''
15841        '''
15842         A filter applied to the routing logic to pin datasource to nodes.
15843        '''
15844        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15845        '''
15846         The path used to check the health of your connection.  Defaults to `default`.
15847        '''
15848        self.healthy = healthy if healthy is not None else False
15849        '''
15850         True if the datasource is reachable and the credentials are valid.
15851        '''
15852        self.hostname = hostname if hostname is not None else ''
15853        '''
15854         The host to dial to initiate a connection from the egress node to this resource.
15855        '''
15856        self.id = id if id is not None else ''
15857        '''
15858         Unique identifier of the Resource.
15859        '''
15860        self.name = name if name is not None else ''
15861        '''
15862         Unique human-readable name of the Resource.
15863        '''
15864        self.port = port if port is not None else 0
15865        '''
15866         The port to dial to initiate a connection from the egress node to this resource.
15867        '''
15868        self.port_override = port_override if port_override is not None else 0
15869        '''
15870         The local port used by clients to connect to this resource.
15871        '''
15872        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15873        '''
15874         ID of the proxy cluster for this resource, if any.
15875        '''
15876        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15877        '''
15878         ID of the secret store containing credentials for this resource, if any.
15879        '''
15880        self.subdomain = subdomain if subdomain is not None else ''
15881        '''
15882         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15883        '''
15884        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15885        '''
15886         Tags is a map of key, value pairs.
15887        '''
15888        self.token = token if token is not None else ''
15889        '''
15890         The API token to authenticate with.
15891        '''
15892
15893    def __repr__(self):
15894        return '<sdm.KubernetesServiceAccountUserImpersonation ' + \
15895            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15896            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15897            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
15898            'healthy: ' + repr(self.healthy) + ' ' +\
15899            'hostname: ' + repr(self.hostname) + ' ' +\
15900            'id: ' + repr(self.id) + ' ' +\
15901            'name: ' + repr(self.name) + ' ' +\
15902            'port: ' + repr(self.port) + ' ' +\
15903            'port_override: ' + repr(self.port_override) + ' ' +\
15904            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15905            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15906            'subdomain: ' + repr(self.subdomain) + ' ' +\
15907            'tags: ' + repr(self.tags) + ' ' +\
15908            'token: ' + repr(self.token) + ' ' +\
15909            '>'
15910
15911    def to_dict(self):
15912        return {
15913            'bind_interface': self.bind_interface,
15914            'egress_filter': self.egress_filter,
15915            'healthcheck_namespace': self.healthcheck_namespace,
15916            'healthy': self.healthy,
15917            'hostname': self.hostname,
15918            'id': self.id,
15919            'name': self.name,
15920            'port': self.port,
15921            'port_override': self.port_override,
15922            'proxy_cluster_id': self.proxy_cluster_id,
15923            'secret_store_id': self.secret_store_id,
15924            'subdomain': self.subdomain,
15925            'tags': self.tags,
15926            'token': self.token,
15927        }
15928
15929    @classmethod
15930    def from_dict(cls, d):
15931        return cls(
15932            bind_interface=d.get('bind_interface'),
15933            egress_filter=d.get('egress_filter'),
15934            healthcheck_namespace=d.get('healthcheck_namespace'),
15935            healthy=d.get('healthy'),
15936            hostname=d.get('hostname'),
15937            id=d.get('id'),
15938            name=d.get('name'),
15939            port=d.get('port'),
15940            port_override=d.get('port_override'),
15941            proxy_cluster_id=d.get('proxy_cluster_id'),
15942            secret_store_id=d.get('secret_store_id'),
15943            subdomain=d.get('subdomain'),
15944            tags=d.get('tags'),
15945            token=d.get('token'),
15946        )
15947
15948
15949class KubernetesUserImpersonation:
15950    __slots__ = [
15951        'bind_interface',
15952        'certificate_authority',
15953        'client_certificate',
15954        'client_key',
15955        'egress_filter',
15956        'healthcheck_namespace',
15957        'healthy',
15958        'hostname',
15959        'id',
15960        'name',
15961        'port',
15962        'port_override',
15963        'proxy_cluster_id',
15964        'secret_store_id',
15965        'subdomain',
15966        'tags',
15967    ]
15968
15969    def __init__(
15970        self,
15971        bind_interface=None,
15972        certificate_authority=None,
15973        client_certificate=None,
15974        client_key=None,
15975        egress_filter=None,
15976        healthcheck_namespace=None,
15977        healthy=None,
15978        hostname=None,
15979        id=None,
15980        name=None,
15981        port=None,
15982        port_override=None,
15983        proxy_cluster_id=None,
15984        secret_store_id=None,
15985        subdomain=None,
15986        tags=None,
15987    ):
15988        self.bind_interface = bind_interface if bind_interface is not None else ''
15989        '''
15990         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15991        '''
15992        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
15993        '''
15994         The CA to authenticate TLS connections with.
15995        '''
15996        self.client_certificate = client_certificate if client_certificate is not None else ''
15997        '''
15998         The certificate to authenticate TLS connections with.
15999        '''
16000        self.client_key = client_key if client_key is not None else ''
16001        '''
16002         The key to authenticate TLS connections with.
16003        '''
16004        self.egress_filter = egress_filter if egress_filter is not None else ''
16005        '''
16006         A filter applied to the routing logic to pin datasource to nodes.
16007        '''
16008        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
16009        '''
16010         The path used to check the health of your connection.  Defaults to `default`.
16011        '''
16012        self.healthy = healthy if healthy is not None else False
16013        '''
16014         True if the datasource is reachable and the credentials are valid.
16015        '''
16016        self.hostname = hostname if hostname is not None else ''
16017        '''
16018         The host to dial to initiate a connection from the egress node to this resource.
16019        '''
16020        self.id = id if id is not None else ''
16021        '''
16022         Unique identifier of the Resource.
16023        '''
16024        self.name = name if name is not None else ''
16025        '''
16026         Unique human-readable name of the Resource.
16027        '''
16028        self.port = port if port is not None else 0
16029        '''
16030         The port to dial to initiate a connection from the egress node to this resource.
16031        '''
16032        self.port_override = port_override if port_override is not None else 0
16033        '''
16034         The local port used by clients to connect to this resource.
16035        '''
16036        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16037        '''
16038         ID of the proxy cluster for this resource, if any.
16039        '''
16040        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16041        '''
16042         ID of the secret store containing credentials for this resource, if any.
16043        '''
16044        self.subdomain = subdomain if subdomain is not None else ''
16045        '''
16046         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16047        '''
16048        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16049        '''
16050         Tags is a map of key, value pairs.
16051        '''
16052
16053    def __repr__(self):
16054        return '<sdm.KubernetesUserImpersonation ' + \
16055            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
16056            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
16057            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
16058            'client_key: ' + repr(self.client_key) + ' ' +\
16059            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
16060            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
16061            'healthy: ' + repr(self.healthy) + ' ' +\
16062            'hostname: ' + repr(self.hostname) + ' ' +\
16063            'id: ' + repr(self.id) + ' ' +\
16064            'name: ' + repr(self.name) + ' ' +\
16065            'port: ' + repr(self.port) + ' ' +\
16066            'port_override: ' + repr(self.port_override) + ' ' +\
16067            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
16068            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
16069            'subdomain: ' + repr(self.subdomain) + ' ' +\
16070            'tags: ' + repr(self.tags) + ' ' +\
16071            '>'
16072
16073    def to_dict(self):
16074        return {
16075            'bind_interface': self.bind_interface,
16076            'certificate_authority': self.certificate_authority,
16077            'client_certificate': self.client_certificate,
16078            'client_key': self.client_key,
16079            'egress_filter': self.egress_filter,
16080            'healthcheck_namespace': self.healthcheck_namespace,
16081            'healthy': self.healthy,
16082            'hostname': self.hostname,
16083            'id': self.id,
16084            'name': self.name,
16085            'port': self.port,
16086            'port_override': self.port_override,
16087            'proxy_cluster_id': self.proxy_cluster_id,
16088            'secret_store_id': self.secret_store_id,
16089            'subdomain': self.subdomain,
16090            'tags': self.tags,
16091        }
16092
16093    @classmethod
16094    def from_dict(cls, d):
16095        return cls(
16096            bind_interface=d.get('bind_interface'),
16097            certificate_authority=d.get('certificate_authority'),
16098            client_certificate=d.get('client_certificate'),
16099            client_key=d.get('client_key'),
16100            egress_filter=d.get('egress_filter'),
16101            healthcheck_namespace=d.get('healthcheck_namespace'),
16102            healthy=d.get('healthy'),
16103            hostname=d.get('hostname'),
16104            id=d.get('id'),
16105            name=d.get('name'),
16106            port=d.get('port'),
16107            port_override=d.get('port_override'),
16108            proxy_cluster_id=d.get('proxy_cluster_id'),
16109            secret_store_id=d.get('secret_store_id'),
16110            subdomain=d.get('subdomain'),
16111            tags=d.get('tags'),
16112        )
16113
16114
16115class MTLSMysql:
16116    '''
16117    MTLSMysql is currently unstable, and its API may change, or it may be removed,
16118    without a major version bump.
16119    '''
16120    __slots__ = [
16121        'bind_interface',
16122        'certificate_authority',
16123        'client_certificate',
16124        'client_key',
16125        'database',
16126        'egress_filter',
16127        'healthy',
16128        'hostname',
16129        'id',
16130        'name',
16131        'password',
16132        'port',
16133        'port_override',
16134        'proxy_cluster_id',
16135        'require_native_auth',
16136        'secret_store_id',
16137        'server_name',
16138        'subdomain',
16139        'tags',
16140        'use_azure_single_server_usernames',
16141        'username',
16142    ]
16143
16144    def __init__(
16145        self,
16146        bind_interface=None,
16147        certificate_authority=None,
16148        client_certificate=None,
16149        client_key=None,
16150        database=None,
16151        egress_filter=None,
16152        healthy=None,
16153        hostname=None,
16154        id=None,
16155        name=None,
16156        password=None,
16157        port=None,
16158        port_override=None,
16159        proxy_cluster_id=None,
16160        require_native_auth=None,
16161        secret_store_id=None,
16162        server_name=None,
16163        subdomain=None,
16164        tags=None,
16165        use_azure_single_server_usernames=None,
16166        username=None,
16167    ):
16168        self.bind_interface = bind_interface if bind_interface is not None else ''
16169        '''
16170         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16171        '''
16172        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
16173        '''
16174         The CA to authenticate TLS connections with.
16175        '''
16176        self.client_certificate = client_certificate if client_certificate is not None else ''
16177        '''
16178         The certificate to authenticate TLS connections with.
16179        '''
16180        self.client_key = client_key if client_key is not None else ''
16181        '''
16182         The key to authenticate TLS connections with.
16183        '''
16184        self.database = database if database is not None else ''
16185        '''
16186         The database for healthchecks. Does not affect client requests.
16187        '''
16188        self.egress_filter = egress_filter if egress_filter is not None else ''
16189        '''
16190         A filter applied to the routing logic to pin datasource to nodes.
16191        '''
16192        self.healthy = healthy if healthy is not None else False
16193        '''
16194         True if the datasource is reachable and the credentials are valid.
16195        '''
16196        self.hostname = hostname if hostname is not None else ''
16197        '''
16198         The host to dial to initiate a connection from the egress node to this resource.
16199        '''
16200        self.id = id if id is not None else ''
16201        '''
16202         Unique identifier of the Resource.
16203        '''
16204        self.name = name if name is not None else ''
16205        '''
16206         Unique human-readable name of the Resource.
16207        '''
16208        self.password = password if password is not None else ''
16209        '''
16210         The password to authenticate with.
16211        '''
16212        self.port = port if port is not None else 0
16213        '''
16214         The port to dial to initiate a connection from the egress node to this resource.
16215        '''
16216        self.port_override = port_override if port_override is not None else 0
16217        '''
16218         The local port used by clients to connect to this resource.
16219        '''
16220        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16221        '''
16222         ID of the proxy cluster for this resource, if any.
16223        '''
16224        self.require_native_auth = require_native_auth if require_native_auth is not None else False
16225        '''
16226         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
16227        '''
16228        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16229        '''
16230         ID of the secret store containing credentials for this resource, if any.
16231        '''
16232        self.server_name = server_name if server_name is not None else ''
16233        '''
16234         Server name for TLS verification (unverified by StrongDM if empty)
16235        '''
16236        self.subdomain = subdomain if subdomain is not None else ''
16237        '''
16238         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16239        '''
16240        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16241        '''
16242         Tags is a map of key, value pairs.
16243        '''
16244        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
16245        '''
16246         If true, appends the hostname to the username when hitting a database.azure.com address
16247        '''
16248        self.username = username if username is not None else ''
16249        '''
16250         The username to authenticate with.
16251        '''
16252
16253    def __repr__(self):
16254        return '<sdm.MTLSMysql ' + \
16255            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
16256            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
16257            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
16258            'client_key: ' + repr(self.client_key) + ' ' +\
16259            'database: ' + repr(self.database) + ' ' +\
16260            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
16261            'healthy: ' + repr(self.healthy) + ' ' +\
16262            'hostname: ' + repr(self.hostname) + ' ' +\
16263            'id: ' + repr(self.id) + ' ' +\
16264            'name: ' + repr(self.name) + ' ' +\
16265            'password: ' + repr(self.password) + ' ' +\
16266            'port: ' + repr(self.port) + ' ' +\
16267            'port_override: ' + repr(self.port_override) + ' ' +\
16268            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
16269            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
16270            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
16271            'server_name: ' + repr(self.server_name) + ' ' +\
16272            'subdomain: ' + repr(self.subdomain) + ' ' +\
16273            'tags: ' + repr(self.tags) + ' ' +\
16274            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
16275            'username: ' + repr(self.username) + ' ' +\
16276            '>'
16277
16278    def to_dict(self):
16279        return {
16280            'bind_interface': self.bind_interface,
16281            'certificate_authority': self.certificate_authority,
16282            'client_certificate': self.client_certificate,
16283            'client_key': self.client_key,
16284            'database': self.database,
16285            'egress_filter': self.egress_filter,
16286            'healthy': self.healthy,
16287            'hostname': self.hostname,
16288            'id': self.id,
16289            'name': self.name,
16290            'password': self.password,
16291            'port': self.port,
16292            'port_override': self.port_override,
16293            'proxy_cluster_id': self.proxy_cluster_id,
16294            'require_native_auth': self.require_native_auth,
16295            'secret_store_id': self.secret_store_id,
16296            'server_name': self.server_name,
16297            'subdomain': self.subdomain,
16298            'tags': self.tags,
16299            'use_azure_single_server_usernames':
16300            self.use_azure_single_server_usernames,
16301            'username': self.username,
16302        }
16303
16304    @classmethod
16305    def from_dict(cls, d):
16306        return cls(
16307            bind_interface=d.get('bind_interface'),
16308            certificate_authority=d.get('certificate_authority'),
16309            client_certificate=d.get('client_certificate'),
16310            client_key=d.get('client_key'),
16311            database=d.get('database'),
16312            egress_filter=d.get('egress_filter'),
16313            healthy=d.get('healthy'),
16314            hostname=d.get('hostname'),
16315            id=d.get('id'),
16316            name=d.get('name'),
16317            password=d.get('password'),
16318            port=d.get('port'),
16319            port_override=d.get('port_override'),
16320            proxy_cluster_id=d.get('proxy_cluster_id'),
16321            require_native_auth=d.get('require_native_auth'),
16322            secret_store_id=d.get('secret_store_id'),
16323            server_name=d.get('server_name'),
16324            subdomain=d.get('subdomain'),
16325            tags=d.get('tags'),
16326            use_azure_single_server_usernames=d.get(
16327                'use_azure_single_server_usernames'),
16328            username=d.get('username'),
16329        )
16330
16331
16332class MTLSPostgres:
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        'override_database',
16345        'password',
16346        'port',
16347        'port_override',
16348        'proxy_cluster_id',
16349        'secret_store_id',
16350        'server_name',
16351        'subdomain',
16352        'tags',
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        override_database=None,
16369        password=None,
16370        port=None,
16371        port_override=None,
16372        proxy_cluster_id=None,
16373        secret_store_id=None,
16374        server_name=None,
16375        subdomain=None,
16376        tags=None,
16377        username=None,
16378    ):
16379        self.bind_interface = bind_interface if bind_interface is not None else ''
16380        '''
16381         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16382        '''
16383        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
16384        '''
16385         The CA to authenticate TLS connections with.
16386        '''
16387        self.client_certificate = client_certificate if client_certificate is not None else ''
16388        '''
16389         The certificate to authenticate TLS connections with.
16390        '''
16391        self.client_key = client_key if client_key is not None else ''
16392        '''
16393         The key to authenticate TLS connections with.
16394        '''
16395        self.database = database if database is not None else ''
16396        '''
16397         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
16398        '''
16399        self.egress_filter = egress_filter if egress_filter is not None else ''
16400        '''
16401         A filter applied to the routing logic to pin datasource to nodes.
16402        '''
16403        self.healthy = healthy if healthy is not None else False
16404        '''
16405         True if the datasource is reachable and the credentials are valid.
16406        '''
16407        self.hostname = hostname if hostname is not None else ''
16408        '''
16409         The host to dial to initiate a connection from the egress node to this resource.
16410        '''
16411        self.id = id if id is not None else ''
16412        '''
16413         Unique identifier of the Resource.
16414        '''
16415        self.name = name if name is not None else ''
16416        '''
16417         Unique human-readable name of the Resource.
16418        '''
16419        self.override_database = override_database if override_database is not None else False
16420        '''
16421         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
16422        '''
16423        self.password = password if password is not None else ''
16424        '''
16425         The password to authenticate with.
16426        '''
16427        self.port = port if port is not None else 0
16428        '''
16429         The port to dial to initiate a connection from the egress node to this resource.
16430        '''
16431        self.port_override = port_override if port_override is not None else 0
16432        '''
16433         The local port used by clients to connect to this resource.
16434        '''
16435        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16436        '''
16437         ID of the proxy cluster for this resource, if any.
16438        '''
16439        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16440        '''
16441         ID of the secret store containing credentials for this resource, if any.
16442        '''
16443        self.server_name = server_name if server_name is not None else ''
16444        '''
16445         Server name for TLS verification (unverified by StrongDM if empty)
16446        '''
16447        self.subdomain = subdomain if subdomain is not None else ''
16448        '''
16449         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16450        '''
16451        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16452        '''
16453         Tags is a map of key, value pairs.
16454        '''
16455        self.username = username if username is not None else ''
16456        '''
16457         The username to authenticate with.
16458        '''
16459
16460    def __repr__(self):
16461        return '<sdm.MTLSPostgres ' + \
16462            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
16463            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
16464            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
16465            'client_key: ' + repr(self.client_key) + ' ' +\
16466            'database: ' + repr(self.database) + ' ' +\
16467            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
16468            'healthy: ' + repr(self.healthy) + ' ' +\
16469            'hostname: ' + repr(self.hostname) + ' ' +\
16470            'id: ' + repr(self.id) + ' ' +\
16471            'name: ' + repr(self.name) + ' ' +\
16472            'override_database: ' + repr(self.override_database) + ' ' +\
16473            'password: ' + repr(self.password) + ' ' +\
16474            'port: ' + repr(self.port) + ' ' +\
16475            'port_override: ' + repr(self.port_override) + ' ' +\
16476            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
16477            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
16478            'server_name: ' + repr(self.server_name) + ' ' +\
16479            'subdomain: ' + repr(self.subdomain) + ' ' +\
16480            'tags: ' + repr(self.tags) + ' ' +\
16481            'username: ' + repr(self.username) + ' ' +\
16482            '>'
16483
16484    def to_dict(self):
16485        return {
16486            'bind_interface': self.bind_interface,
16487            'certificate_authority': self.certificate_authority,
16488            'client_certificate': self.client_certificate,
16489            'client_key': self.client_key,
16490            'database': self.database,
16491            'egress_filter': self.egress_filter,
16492            'healthy': self.healthy,
16493            'hostname': self.hostname,
16494            'id': self.id,
16495            'name': self.name,
16496            'override_database': self.override_database,
16497            'password': self.password,
16498            'port': self.port,
16499            'port_override': self.port_override,
16500            'proxy_cluster_id': self.proxy_cluster_id,
16501            'secret_store_id': self.secret_store_id,
16502            'server_name': self.server_name,
16503            'subdomain': self.subdomain,
16504            'tags': self.tags,
16505            'username': self.username,
16506        }
16507
16508    @classmethod
16509    def from_dict(cls, d):
16510        return cls(
16511            bind_interface=d.get('bind_interface'),
16512            certificate_authority=d.get('certificate_authority'),
16513            client_certificate=d.get('client_certificate'),
16514            client_key=d.get('client_key'),
16515            database=d.get('database'),
16516            egress_filter=d.get('egress_filter'),
16517            healthy=d.get('healthy'),
16518            hostname=d.get('hostname'),
16519            id=d.get('id'),
16520            name=d.get('name'),
16521            override_database=d.get('override_database'),
16522            password=d.get('password'),
16523            port=d.get('port'),
16524            port_override=d.get('port_override'),
16525            proxy_cluster_id=d.get('proxy_cluster_id'),
16526            secret_store_id=d.get('secret_store_id'),
16527            server_name=d.get('server_name'),
16528            subdomain=d.get('subdomain'),
16529            tags=d.get('tags'),
16530            username=d.get('username'),
16531        )
16532
16533
16534class ManagedSecret:
16535    '''
16536         ManagedSecret contains details about managed secret
16537    '''
16538    __slots__ = [
16539        'config',
16540        'expires_at',
16541        'id',
16542        'last_rotated_at',
16543        'name',
16544        'policy',
16545        'secret_engine_id',
16546        'secret_store_path',
16547        'tags',
16548        'value',
16549    ]
16550
16551    def __init__(
16552        self,
16553        config=None,
16554        expires_at=None,
16555        id=None,
16556        last_rotated_at=None,
16557        name=None,
16558        policy=None,
16559        secret_engine_id=None,
16560        secret_store_path=None,
16561        tags=None,
16562        value=None,
16563    ):
16564        self.config = config if config is not None else ''
16565        '''
16566         public part of the secret value
16567        '''
16568        self.expires_at = expires_at if expires_at is not None else None
16569        '''
16570         Timestamp of when secret is going to be rotated
16571        '''
16572        self.id = id if id is not None else ''
16573        '''
16574         Unique identifier of the Managed Secret.
16575        '''
16576        self.last_rotated_at = last_rotated_at if last_rotated_at is not None else None
16577        '''
16578         Timestamp of when secret was last rotated
16579        '''
16580        self.name = name if name is not None else ''
16581        '''
16582         Unique human-readable name of the Managed Secret.
16583        '''
16584        self.policy = policy if policy is not None else None
16585        '''
16586         Password and rotation policy for the secret
16587        '''
16588        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
16589        '''
16590         An ID of a Secret Engine linked with the Managed Secret.
16591        '''
16592        self.secret_store_path = secret_store_path if secret_store_path is not None else ''
16593        '''
16594         Path in a secret store.
16595        '''
16596        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16597        '''
16598         Tags is a map of key, value pairs.
16599        '''
16600        self.value = value if value is not None else b''
16601        '''
16602         Sensitive value of the secret.
16603        '''
16604
16605    def __repr__(self):
16606        return '<sdm.ManagedSecret ' + \
16607            'config: ' + repr(self.config) + ' ' +\
16608            'expires_at: ' + repr(self.expires_at) + ' ' +\
16609            'id: ' + repr(self.id) + ' ' +\
16610            'last_rotated_at: ' + repr(self.last_rotated_at) + ' ' +\
16611            'name: ' + repr(self.name) + ' ' +\
16612            'policy: ' + repr(self.policy) + ' ' +\
16613            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
16614            'secret_store_path: ' + repr(self.secret_store_path) + ' ' +\
16615            'tags: ' + repr(self.tags) + ' ' +\
16616            'value: ' + repr(self.value) + ' ' +\
16617            '>'
16618
16619    def to_dict(self):
16620        return {
16621            'config': self.config,
16622            'expires_at': self.expires_at,
16623            'id': self.id,
16624            'last_rotated_at': self.last_rotated_at,
16625            'name': self.name,
16626            'policy': self.policy,
16627            'secret_engine_id': self.secret_engine_id,
16628            'secret_store_path': self.secret_store_path,
16629            'tags': self.tags,
16630            'value': self.value,
16631        }
16632
16633    @classmethod
16634    def from_dict(cls, d):
16635        return cls(
16636            config=d.get('config'),
16637            expires_at=d.get('expires_at'),
16638            id=d.get('id'),
16639            last_rotated_at=d.get('last_rotated_at'),
16640            name=d.get('name'),
16641            policy=d.get('policy'),
16642            secret_engine_id=d.get('secret_engine_id'),
16643            secret_store_path=d.get('secret_store_path'),
16644            tags=d.get('tags'),
16645            value=d.get('value'),
16646        )
16647
16648
16649class ManagedSecretCreateRequest:
16650    '''
16651         ManagedSecretCreateRequest specifies a Managed Secret to create.
16652    '''
16653    __slots__ = [
16654        'managed_secret',
16655    ]
16656
16657    def __init__(
16658        self,
16659        managed_secret=None,
16660    ):
16661        self.managed_secret = managed_secret if managed_secret is not None else None
16662        '''
16663         Parameters to define the new Managed Secret.
16664        '''
16665
16666    def __repr__(self):
16667        return '<sdm.ManagedSecretCreateRequest ' + \
16668            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
16669            '>'
16670
16671    def to_dict(self):
16672        return {
16673            'managed_secret': self.managed_secret,
16674        }
16675
16676    @classmethod
16677    def from_dict(cls, d):
16678        return cls(managed_secret=d.get('managed_secret'), )
16679
16680
16681class ManagedSecretCreateResponse:
16682    '''
16683         ManagedSecretCreateResponse contains information about a Managed Secret after
16684     successful creation.
16685    '''
16686    __slots__ = [
16687        'managed_secret',
16688        'meta',
16689        'rate_limit',
16690    ]
16691
16692    def __init__(
16693        self,
16694        managed_secret=None,
16695        meta=None,
16696        rate_limit=None,
16697    ):
16698        self.managed_secret = managed_secret if managed_secret is not None else None
16699        '''
16700         The requested Managed Secret.
16701        '''
16702        self.meta = meta if meta is not None else None
16703        '''
16704         Reserved for future use.
16705        '''
16706        self.rate_limit = rate_limit if rate_limit is not None else None
16707        '''
16708         Rate limit information.
16709        '''
16710
16711    def __repr__(self):
16712        return '<sdm.ManagedSecretCreateResponse ' + \
16713            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
16714            'meta: ' + repr(self.meta) + ' ' +\
16715            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16716            '>'
16717
16718    def to_dict(self):
16719        return {
16720            'managed_secret': self.managed_secret,
16721            'meta': self.meta,
16722            'rate_limit': self.rate_limit,
16723        }
16724
16725    @classmethod
16726    def from_dict(cls, d):
16727        return cls(
16728            managed_secret=d.get('managed_secret'),
16729            meta=d.get('meta'),
16730            rate_limit=d.get('rate_limit'),
16731        )
16732
16733
16734class ManagedSecretDeleteRequest:
16735    '''
16736         ManagedSecretDeleteRequest specified the ID of a Managed Secret to be
16737     deleted.
16738    '''
16739    __slots__ = [
16740        'id',
16741    ]
16742
16743    def __init__(
16744        self,
16745        id=None,
16746    ):
16747        self.id = id if id is not None else ''
16748        '''
16749         The unique identifier of the Managed Secret to delete.
16750        '''
16751
16752    def __repr__(self):
16753        return '<sdm.ManagedSecretDeleteRequest ' + \
16754            'id: ' + repr(self.id) + ' ' +\
16755            '>'
16756
16757    def to_dict(self):
16758        return {
16759            'id': self.id,
16760        }
16761
16762    @classmethod
16763    def from_dict(cls, d):
16764        return cls(id=d.get('id'), )
16765
16766
16767class ManagedSecretDeleteResponse:
16768    '''
16769         ManagedSecretDeleteResponse contains information about a Managed Secret after
16770     it was deleted.
16771    '''
16772    __slots__ = [
16773        'rate_limit',
16774    ]
16775
16776    def __init__(
16777        self,
16778        rate_limit=None,
16779    ):
16780        self.rate_limit = rate_limit if rate_limit is not None else None
16781        '''
16782         Rate limit information.
16783        '''
16784
16785    def __repr__(self):
16786        return '<sdm.ManagedSecretDeleteResponse ' + \
16787            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16788            '>'
16789
16790    def to_dict(self):
16791        return {
16792            'rate_limit': self.rate_limit,
16793        }
16794
16795    @classmethod
16796    def from_dict(cls, d):
16797        return cls(rate_limit=d.get('rate_limit'), )
16798
16799
16800class ManagedSecretGetRequest:
16801    '''
16802         ManagedSecretGetRequest specifies which Managed Secret to retrieve
16803    '''
16804    __slots__ = [
16805        'id',
16806    ]
16807
16808    def __init__(
16809        self,
16810        id=None,
16811    ):
16812        self.id = id if id is not None else ''
16813        '''
16814         The unique identifier of the Managed Secret to retrieve.
16815        '''
16816
16817    def __repr__(self):
16818        return '<sdm.ManagedSecretGetRequest ' + \
16819            'id: ' + repr(self.id) + ' ' +\
16820            '>'
16821
16822    def to_dict(self):
16823        return {
16824            'id': self.id,
16825        }
16826
16827    @classmethod
16828    def from_dict(cls, d):
16829        return cls(id=d.get('id'), )
16830
16831
16832class ManagedSecretGetResponse:
16833    '''
16834         ManagedSecretGetResponse contains information about requested Managed Secret
16835    '''
16836    __slots__ = [
16837        'managed_secret',
16838        'meta',
16839        'rate_limit',
16840    ]
16841
16842    def __init__(
16843        self,
16844        managed_secret=None,
16845        meta=None,
16846        rate_limit=None,
16847    ):
16848        self.managed_secret = managed_secret if managed_secret is not None else None
16849        '''
16850         The requested Managed Secret.
16851        '''
16852        self.meta = meta if meta is not None else None
16853        '''
16854         Reserved for future use.
16855        '''
16856        self.rate_limit = rate_limit if rate_limit is not None else None
16857        '''
16858         Rate limit information.
16859        '''
16860
16861    def __repr__(self):
16862        return '<sdm.ManagedSecretGetResponse ' + \
16863            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
16864            'meta: ' + repr(self.meta) + ' ' +\
16865            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16866            '>'
16867
16868    def to_dict(self):
16869        return {
16870            'managed_secret': self.managed_secret,
16871            'meta': self.meta,
16872            'rate_limit': self.rate_limit,
16873        }
16874
16875    @classmethod
16876    def from_dict(cls, d):
16877        return cls(
16878            managed_secret=d.get('managed_secret'),
16879            meta=d.get('meta'),
16880            rate_limit=d.get('rate_limit'),
16881        )
16882
16883
16884class ManagedSecretListRequest:
16885    '''
16886         ManagedSecretListRequest specifies criteria for retrieving a list of Managed
16887     Secrets.
16888    '''
16889    __slots__ = [
16890        'filter',
16891    ]
16892
16893    def __init__(
16894        self,
16895        filter=None,
16896    ):
16897        self.filter = filter if filter is not None else ''
16898        '''
16899         A human-readable filter query string.
16900        '''
16901
16902    def __repr__(self):
16903        return '<sdm.ManagedSecretListRequest ' + \
16904            'filter: ' + repr(self.filter) + ' ' +\
16905            '>'
16906
16907    def to_dict(self):
16908        return {
16909            'filter': self.filter,
16910        }
16911
16912    @classmethod
16913    def from_dict(cls, d):
16914        return cls(filter=d.get('filter'), )
16915
16916
16917class ManagedSecretListResponse:
16918    '''
16919         ManagedSecretListResponse contains a list of requested Managed Secrets
16920    '''
16921    __slots__ = [
16922        'rate_limit',
16923    ]
16924
16925    def __init__(
16926        self,
16927        rate_limit=None,
16928    ):
16929        self.rate_limit = rate_limit if rate_limit is not None else None
16930        '''
16931         Rate limit information.
16932        '''
16933
16934    def __repr__(self):
16935        return '<sdm.ManagedSecretListResponse ' + \
16936            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16937            '>'
16938
16939    def to_dict(self):
16940        return {
16941            'rate_limit': self.rate_limit,
16942        }
16943
16944    @classmethod
16945    def from_dict(cls, d):
16946        return cls(rate_limit=d.get('rate_limit'), )
16947
16948
16949class ManagedSecretLog:
16950    '''
16951         ManagedSecretLog contains details about action performed against a managed
16952     secret
16953    '''
16954    __slots__ = [
16955        'account_id',
16956        'action',
16957        'created_at',
16958        'debug',
16959        'id',
16960        'managed_secret_id',
16961        'secret_engine_id',
16962    ]
16963
16964    def __init__(
16965        self,
16966        account_id=None,
16967        action=None,
16968        created_at=None,
16969        debug=None,
16970        id=None,
16971        managed_secret_id=None,
16972        secret_engine_id=None,
16973    ):
16974        self.account_id = account_id if account_id is not None else ''
16975        '''
16976         An ID of the account the action was performed by.
16977        '''
16978        self.action = action if action is not None else ''
16979        '''
16980         The action performed by the account against the managed secret.
16981        '''
16982        self.created_at = created_at if created_at is not None else None
16983        '''
16984         Timestamp of when action was performed.
16985        '''
16986        self.debug = debug if debug is not None else ''
16987        '''
16988         Any debug logs associated with the action.
16989        '''
16990        self.id = id if id is not None else ''
16991        '''
16992         Unique identifier of the Managed Secret Log.
16993        '''
16994        self.managed_secret_id = managed_secret_id if managed_secret_id is not None else ''
16995        '''
16996         An ID of the Managed Secret the action was performed against.
16997        '''
16998        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
16999        '''
17000         An ID of the Secret Engine linked with the Managed Secret.
17001        '''
17002
17003    def __repr__(self):
17004        return '<sdm.ManagedSecretLog ' + \
17005            'account_id: ' + repr(self.account_id) + ' ' +\
17006            'action: ' + repr(self.action) + ' ' +\
17007            'created_at: ' + repr(self.created_at) + ' ' +\
17008            'debug: ' + repr(self.debug) + ' ' +\
17009            'id: ' + repr(self.id) + ' ' +\
17010            'managed_secret_id: ' + repr(self.managed_secret_id) + ' ' +\
17011            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
17012            '>'
17013
17014    def to_dict(self):
17015        return {
17016            'account_id': self.account_id,
17017            'action': self.action,
17018            'created_at': self.created_at,
17019            'debug': self.debug,
17020            'id': self.id,
17021            'managed_secret_id': self.managed_secret_id,
17022            'secret_engine_id': self.secret_engine_id,
17023        }
17024
17025    @classmethod
17026    def from_dict(cls, d):
17027        return cls(
17028            account_id=d.get('account_id'),
17029            action=d.get('action'),
17030            created_at=d.get('created_at'),
17031            debug=d.get('debug'),
17032            id=d.get('id'),
17033            managed_secret_id=d.get('managed_secret_id'),
17034            secret_engine_id=d.get('secret_engine_id'),
17035        )
17036
17037
17038class ManagedSecretLogsRequest:
17039    '''
17040         ManagedSecretLogsRequest specifies criteria for retrieving a log of Managed
17041     Secrets actions.
17042    '''
17043    __slots__ = [
17044        'filter',
17045    ]
17046
17047    def __init__(
17048        self,
17049        filter=None,
17050    ):
17051        self.filter = filter if filter is not None else ''
17052        '''
17053         A human-readable filter query string.
17054        '''
17055
17056    def __repr__(self):
17057        return '<sdm.ManagedSecretLogsRequest ' + \
17058            'filter: ' + repr(self.filter) + ' ' +\
17059            '>'
17060
17061    def to_dict(self):
17062        return {
17063            'filter': self.filter,
17064        }
17065
17066    @classmethod
17067    def from_dict(cls, d):
17068        return cls(filter=d.get('filter'), )
17069
17070
17071class ManagedSecretLogsResponse:
17072    '''
17073         ManagedSecretLogsResponse contains a list of requested Managed Secrets
17074    '''
17075    __slots__ = [
17076        'rate_limit',
17077    ]
17078
17079    def __init__(
17080        self,
17081        rate_limit=None,
17082    ):
17083        self.rate_limit = rate_limit if rate_limit is not None else None
17084        '''
17085         Rate limit information.
17086        '''
17087
17088    def __repr__(self):
17089        return '<sdm.ManagedSecretLogsResponse ' + \
17090            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17091            '>'
17092
17093    def to_dict(self):
17094        return {
17095            'rate_limit': self.rate_limit,
17096        }
17097
17098    @classmethod
17099    def from_dict(cls, d):
17100        return cls(rate_limit=d.get('rate_limit'), )
17101
17102
17103class ManagedSecretPasswordPolicy:
17104    __slots__ = [
17105        'allow_repeat',
17106        'exclude_characters',
17107        'exclude_upper_case',
17108        'length',
17109        'num_digits',
17110        'num_symbols',
17111    ]
17112
17113    def __init__(
17114        self,
17115        allow_repeat=None,
17116        exclude_characters=None,
17117        exclude_upper_case=None,
17118        length=None,
17119        num_digits=None,
17120        num_symbols=None,
17121    ):
17122        self.allow_repeat = allow_repeat if allow_repeat is not None else False
17123        '''
17124         If set to true allows for consecutive characters to repeat itself
17125        '''
17126        self.exclude_characters = exclude_characters if exclude_characters is not None else ''
17127        '''
17128         Characters to exclude when generating password
17129        '''
17130        self.exclude_upper_case = exclude_upper_case if exclude_upper_case is not None else False
17131        '''
17132         If set to true do not include upper case letters when generating password
17133        '''
17134        self.length = length if length is not None else 0
17135        '''
17136         Password length
17137        '''
17138        self.num_digits = num_digits if num_digits is not None else 0
17139        '''
17140         Numbers of digits to use when generating password
17141        '''
17142        self.num_symbols = num_symbols if num_symbols is not None else 0
17143        '''
17144         Number of symbols to use when generating password
17145        '''
17146
17147    def __repr__(self):
17148        return '<sdm.ManagedSecretPasswordPolicy ' + \
17149            'allow_repeat: ' + repr(self.allow_repeat) + ' ' +\
17150            'exclude_characters: ' + repr(self.exclude_characters) + ' ' +\
17151            'exclude_upper_case: ' + repr(self.exclude_upper_case) + ' ' +\
17152            'length: ' + repr(self.length) + ' ' +\
17153            'num_digits: ' + repr(self.num_digits) + ' ' +\
17154            'num_symbols: ' + repr(self.num_symbols) + ' ' +\
17155            '>'
17156
17157    def to_dict(self):
17158        return {
17159            'allow_repeat': self.allow_repeat,
17160            'exclude_characters': self.exclude_characters,
17161            'exclude_upper_case': self.exclude_upper_case,
17162            'length': self.length,
17163            'num_digits': self.num_digits,
17164            'num_symbols': self.num_symbols,
17165        }
17166
17167    @classmethod
17168    def from_dict(cls, d):
17169        return cls(
17170            allow_repeat=d.get('allow_repeat'),
17171            exclude_characters=d.get('exclude_characters'),
17172            exclude_upper_case=d.get('exclude_upper_case'),
17173            length=d.get('length'),
17174            num_digits=d.get('num_digits'),
17175            num_symbols=d.get('num_symbols'),
17176        )
17177
17178
17179class ManagedSecretPolicy:
17180    '''
17181         ManagedSecretPolicy contains password and rotation policy for managed secret
17182    '''
17183    __slots__ = [
17184        'password_policy',
17185        'rotation_policy',
17186    ]
17187
17188    def __init__(
17189        self,
17190        password_policy=None,
17191        rotation_policy=None,
17192    ):
17193        self.password_policy = password_policy if password_policy is not None else None
17194        '''
17195         Password policy for a managed secret
17196        '''
17197        self.rotation_policy = rotation_policy if rotation_policy is not None else None
17198        '''
17199         Rotation policy for a managed secret
17200        '''
17201
17202    def __repr__(self):
17203        return '<sdm.ManagedSecretPolicy ' + \
17204            'password_policy: ' + repr(self.password_policy) + ' ' +\
17205            'rotation_policy: ' + repr(self.rotation_policy) + ' ' +\
17206            '>'
17207
17208    def to_dict(self):
17209        return {
17210            'password_policy': self.password_policy,
17211            'rotation_policy': self.rotation_policy,
17212        }
17213
17214    @classmethod
17215    def from_dict(cls, d):
17216        return cls(
17217            password_policy=d.get('password_policy'),
17218            rotation_policy=d.get('rotation_policy'),
17219        )
17220
17221
17222class ManagedSecretRetrieveRequest:
17223    '''
17224         ManagedSecretRetrieveRequest specifies which Managed Secret to retrieve
17225    '''
17226    __slots__ = [
17227        'id',
17228        'public_key',
17229    ]
17230
17231    def __init__(
17232        self,
17233        id=None,
17234        public_key=None,
17235    ):
17236        self.id = id if id is not None else ''
17237        '''
17238         The unique identifier of the Managed Secret to retrieve.
17239        '''
17240        self.public_key = public_key if public_key is not None else b''
17241        '''
17242         Public key to encrypt a sensitive value with
17243        '''
17244
17245    def __repr__(self):
17246        return '<sdm.ManagedSecretRetrieveRequest ' + \
17247            'id: ' + repr(self.id) + ' ' +\
17248            'public_key: ' + repr(self.public_key) + ' ' +\
17249            '>'
17250
17251    def to_dict(self):
17252        return {
17253            'id': self.id,
17254            'public_key': self.public_key,
17255        }
17256
17257    @classmethod
17258    def from_dict(cls, d):
17259        return cls(
17260            id=d.get('id'),
17261            public_key=d.get('public_key'),
17262        )
17263
17264
17265class ManagedSecretRetrieveResponse:
17266    '''
17267         ManagedSecretRetrieveResponse contains information about requested Managed
17268     Secret
17269    '''
17270    __slots__ = [
17271        'managed_secret',
17272        'meta',
17273        'rate_limit',
17274    ]
17275
17276    def __init__(
17277        self,
17278        managed_secret=None,
17279        meta=None,
17280        rate_limit=None,
17281    ):
17282        self.managed_secret = managed_secret if managed_secret is not None else None
17283        '''
17284         The requested Managed Secret.
17285        '''
17286        self.meta = meta if meta is not None else None
17287        '''
17288         Reserved for future use.
17289        '''
17290        self.rate_limit = rate_limit if rate_limit is not None else None
17291        '''
17292         Rate limit information.
17293        '''
17294
17295    def __repr__(self):
17296        return '<sdm.ManagedSecretRetrieveResponse ' + \
17297            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
17298            'meta: ' + repr(self.meta) + ' ' +\
17299            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17300            '>'
17301
17302    def to_dict(self):
17303        return {
17304            'managed_secret': self.managed_secret,
17305            'meta': self.meta,
17306            'rate_limit': self.rate_limit,
17307        }
17308
17309    @classmethod
17310    def from_dict(cls, d):
17311        return cls(
17312            managed_secret=d.get('managed_secret'),
17313            meta=d.get('meta'),
17314            rate_limit=d.get('rate_limit'),
17315        )
17316
17317
17318class ManagedSecretRotateRequest:
17319    '''
17320         ManagedSecretRotateRequest specifies Managed Secret to rotate
17321    '''
17322    __slots__ = [
17323        'id',
17324    ]
17325
17326    def __init__(
17327        self,
17328        id=None,
17329    ):
17330        self.id = id if id is not None else ''
17331        '''
17332         The unique identifier of the Managed Secret to rotate.
17333        '''
17334
17335    def __repr__(self):
17336        return '<sdm.ManagedSecretRotateRequest ' + \
17337            'id: ' + repr(self.id) + ' ' +\
17338            '>'
17339
17340    def to_dict(self):
17341        return {
17342            'id': self.id,
17343        }
17344
17345    @classmethod
17346    def from_dict(cls, d):
17347        return cls(id=d.get('id'), )
17348
17349
17350class ManagedSecretRotateResponse:
17351    '''
17352         ManagedSecretRotateResponse contains information about Secret Engine after
17353     successful rotation.
17354    '''
17355    __slots__ = [
17356        'meta',
17357        'rate_limit',
17358    ]
17359
17360    def __init__(
17361        self,
17362        meta=None,
17363        rate_limit=None,
17364    ):
17365        self.meta = meta if meta is not None else None
17366        '''
17367         Reserved for future use.
17368        '''
17369        self.rate_limit = rate_limit if rate_limit is not None else None
17370        '''
17371         Rate limit information.
17372        '''
17373
17374    def __repr__(self):
17375        return '<sdm.ManagedSecretRotateResponse ' + \
17376            'meta: ' + repr(self.meta) + ' ' +\
17377            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17378            '>'
17379
17380    def to_dict(self):
17381        return {
17382            'meta': self.meta,
17383            'rate_limit': self.rate_limit,
17384        }
17385
17386    @classmethod
17387    def from_dict(cls, d):
17388        return cls(
17389            meta=d.get('meta'),
17390            rate_limit=d.get('rate_limit'),
17391        )
17392
17393
17394class ManagedSecretRotationPolicy:
17395    __slots__ = []
17396
17397    def __init__(self, ):
17398        pass
17399
17400    def __repr__(self):
17401        return '<sdm.ManagedSecretRotationPolicy ' + \
17402            '>'
17403
17404    def to_dict(self):
17405        return {}
17406
17407    @classmethod
17408    def from_dict(cls, d):
17409        return cls()
17410
17411
17412class ManagedSecretUpdateRequest:
17413    '''
17414         ManagedSecretUpdateRequest specifies Managed Secret to update
17415    '''
17416    __slots__ = [
17417        'managed_secret',
17418    ]
17419
17420    def __init__(
17421        self,
17422        managed_secret=None,
17423    ):
17424        self.managed_secret = managed_secret if managed_secret is not None else None
17425        '''
17426         Managed Secret to update
17427        '''
17428
17429    def __repr__(self):
17430        return '<sdm.ManagedSecretUpdateRequest ' + \
17431            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
17432            '>'
17433
17434    def to_dict(self):
17435        return {
17436            'managed_secret': self.managed_secret,
17437        }
17438
17439    @classmethod
17440    def from_dict(cls, d):
17441        return cls(managed_secret=d.get('managed_secret'), )
17442
17443
17444class ManagedSecretUpdateResponse:
17445    '''
17446         ManagedSecretUpdateResponse contains information about Secret Engine after
17447     successful update.
17448    '''
17449    __slots__ = [
17450        'managed_secret',
17451        'meta',
17452        'rate_limit',
17453    ]
17454
17455    def __init__(
17456        self,
17457        managed_secret=None,
17458        meta=None,
17459        rate_limit=None,
17460    ):
17461        self.managed_secret = managed_secret if managed_secret is not None else None
17462        '''
17463         The requested Managed Secret.
17464        '''
17465        self.meta = meta if meta is not None else None
17466        '''
17467         Reserved for future use.
17468        '''
17469        self.rate_limit = rate_limit if rate_limit is not None else None
17470        '''
17471         Rate limit information.
17472        '''
17473
17474    def __repr__(self):
17475        return '<sdm.ManagedSecretUpdateResponse ' + \
17476            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
17477            'meta: ' + repr(self.meta) + ' ' +\
17478            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17479            '>'
17480
17481    def to_dict(self):
17482        return {
17483            'managed_secret': self.managed_secret,
17484            'meta': self.meta,
17485            'rate_limit': self.rate_limit,
17486        }
17487
17488    @classmethod
17489    def from_dict(cls, d):
17490        return cls(
17491            managed_secret=d.get('managed_secret'),
17492            meta=d.get('meta'),
17493            rate_limit=d.get('rate_limit'),
17494        )
17495
17496
17497class ManagedSecretValidateRequest:
17498    '''
17499         ManagedSecretValidateRequest specifies which Managed Secret to validate
17500    '''
17501    __slots__ = [
17502        'id',
17503    ]
17504
17505    def __init__(
17506        self,
17507        id=None,
17508    ):
17509        self.id = id if id is not None else ''
17510        '''
17511         The unique identifier of the Managed Secret to validate.
17512        '''
17513
17514    def __repr__(self):
17515        return '<sdm.ManagedSecretValidateRequest ' + \
17516            'id: ' + repr(self.id) + ' ' +\
17517            '>'
17518
17519    def to_dict(self):
17520        return {
17521            'id': self.id,
17522        }
17523
17524    @classmethod
17525    def from_dict(cls, d):
17526        return cls(id=d.get('id'), )
17527
17528
17529class ManagedSecretValidateResponse:
17530    '''
17531         ManagedSecretValidateResponse contains validity of requested Managed
17532     Secret
17533    '''
17534    __slots__ = [
17535        'invalid_info',
17536        'meta',
17537        'rate_limit',
17538        'valid',
17539    ]
17540
17541    def __init__(
17542        self,
17543        invalid_info=None,
17544        meta=None,
17545        rate_limit=None,
17546        valid=None,
17547    ):
17548        self.invalid_info = invalid_info if invalid_info is not None else ''
17549        '''
17550         Information about why secret is invalid
17551        '''
17552        self.meta = meta if meta is not None else None
17553        '''
17554         Reserved for future use.
17555        '''
17556        self.rate_limit = rate_limit if rate_limit is not None else None
17557        '''
17558         Rate limit information.
17559        '''
17560        self.valid = valid if valid is not None else False
17561        '''
17562         Whether the secret is valid
17563        '''
17564
17565    def __repr__(self):
17566        return '<sdm.ManagedSecretValidateResponse ' + \
17567            'invalid_info: ' + repr(self.invalid_info) + ' ' +\
17568            'meta: ' + repr(self.meta) + ' ' +\
17569            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17570            'valid: ' + repr(self.valid) + ' ' +\
17571            '>'
17572
17573    def to_dict(self):
17574        return {
17575            'invalid_info': self.invalid_info,
17576            'meta': self.meta,
17577            'rate_limit': self.rate_limit,
17578            'valid': self.valid,
17579        }
17580
17581    @classmethod
17582    def from_dict(cls, d):
17583        return cls(
17584            invalid_info=d.get('invalid_info'),
17585            meta=d.get('meta'),
17586            rate_limit=d.get('rate_limit'),
17587            valid=d.get('valid'),
17588        )
17589
17590
17591class Maria:
17592    __slots__ = [
17593        'bind_interface',
17594        'database',
17595        'egress_filter',
17596        'healthy',
17597        'hostname',
17598        'id',
17599        'name',
17600        'password',
17601        'port',
17602        'port_override',
17603        'proxy_cluster_id',
17604        'require_native_auth',
17605        'secret_store_id',
17606        'subdomain',
17607        'tags',
17608        'use_azure_single_server_usernames',
17609        'username',
17610    ]
17611
17612    def __init__(
17613        self,
17614        bind_interface=None,
17615        database=None,
17616        egress_filter=None,
17617        healthy=None,
17618        hostname=None,
17619        id=None,
17620        name=None,
17621        password=None,
17622        port=None,
17623        port_override=None,
17624        proxy_cluster_id=None,
17625        require_native_auth=None,
17626        secret_store_id=None,
17627        subdomain=None,
17628        tags=None,
17629        use_azure_single_server_usernames=None,
17630        username=None,
17631    ):
17632        self.bind_interface = bind_interface if bind_interface is not None else ''
17633        '''
17634         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
17635        '''
17636        self.database = database if database is not None else ''
17637        '''
17638         The database for healthchecks. Does not affect client requests.
17639        '''
17640        self.egress_filter = egress_filter if egress_filter is not None else ''
17641        '''
17642         A filter applied to the routing logic to pin datasource to nodes.
17643        '''
17644        self.healthy = healthy if healthy is not None else False
17645        '''
17646         True if the datasource is reachable and the credentials are valid.
17647        '''
17648        self.hostname = hostname if hostname is not None else ''
17649        '''
17650         The host to dial to initiate a connection from the egress node to this resource.
17651        '''
17652        self.id = id if id is not None else ''
17653        '''
17654         Unique identifier of the Resource.
17655        '''
17656        self.name = name if name is not None else ''
17657        '''
17658         Unique human-readable name of the Resource.
17659        '''
17660        self.password = password if password is not None else ''
17661        '''
17662         The password to authenticate with.
17663        '''
17664        self.port = port if port is not None else 0
17665        '''
17666         The port to dial to initiate a connection from the egress node to this resource.
17667        '''
17668        self.port_override = port_override if port_override is not None else 0
17669        '''
17670         The local port used by clients to connect to this resource.
17671        '''
17672        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17673        '''
17674         ID of the proxy cluster for this resource, if any.
17675        '''
17676        self.require_native_auth = require_native_auth if require_native_auth is not None else False
17677        '''
17678         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
17679        '''
17680        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17681        '''
17682         ID of the secret store containing credentials for this resource, if any.
17683        '''
17684        self.subdomain = subdomain if subdomain is not None else ''
17685        '''
17686         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
17687        '''
17688        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17689        '''
17690         Tags is a map of key, value pairs.
17691        '''
17692        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
17693        '''
17694         If true, appends the hostname to the username when hitting a database.azure.com address
17695        '''
17696        self.username = username if username is not None else ''
17697        '''
17698         The username to authenticate with.
17699        '''
17700
17701    def __repr__(self):
17702        return '<sdm.Maria ' + \
17703            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
17704            'database: ' + repr(self.database) + ' ' +\
17705            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
17706            'healthy: ' + repr(self.healthy) + ' ' +\
17707            'hostname: ' + repr(self.hostname) + ' ' +\
17708            'id: ' + repr(self.id) + ' ' +\
17709            'name: ' + repr(self.name) + ' ' +\
17710            'password: ' + repr(self.password) + ' ' +\
17711            'port: ' + repr(self.port) + ' ' +\
17712            'port_override: ' + repr(self.port_override) + ' ' +\
17713            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
17714            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
17715            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
17716            'subdomain: ' + repr(self.subdomain) + ' ' +\
17717            'tags: ' + repr(self.tags) + ' ' +\
17718            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
17719            'username: ' + repr(self.username) + ' ' +\
17720            '>'
17721
17722    def to_dict(self):
17723        return {
17724            'bind_interface': self.bind_interface,
17725            'database': self.database,
17726            'egress_filter': self.egress_filter,
17727            'healthy': self.healthy,
17728            'hostname': self.hostname,
17729            'id': self.id,
17730            'name': self.name,
17731            'password': self.password,
17732            'port': self.port,
17733            'port_override': self.port_override,
17734            'proxy_cluster_id': self.proxy_cluster_id,
17735            'require_native_auth': self.require_native_auth,
17736            'secret_store_id': self.secret_store_id,
17737            'subdomain': self.subdomain,
17738            'tags': self.tags,
17739            'use_azure_single_server_usernames':
17740            self.use_azure_single_server_usernames,
17741            'username': self.username,
17742        }
17743
17744    @classmethod
17745    def from_dict(cls, d):
17746        return cls(
17747            bind_interface=d.get('bind_interface'),
17748            database=d.get('database'),
17749            egress_filter=d.get('egress_filter'),
17750            healthy=d.get('healthy'),
17751            hostname=d.get('hostname'),
17752            id=d.get('id'),
17753            name=d.get('name'),
17754            password=d.get('password'),
17755            port=d.get('port'),
17756            port_override=d.get('port_override'),
17757            proxy_cluster_id=d.get('proxy_cluster_id'),
17758            require_native_auth=d.get('require_native_auth'),
17759            secret_store_id=d.get('secret_store_id'),
17760            subdomain=d.get('subdomain'),
17761            tags=d.get('tags'),
17762            use_azure_single_server_usernames=d.get(
17763                'use_azure_single_server_usernames'),
17764            username=d.get('username'),
17765        )
17766
17767
17768class Memcached:
17769    __slots__ = [
17770        'bind_interface',
17771        'egress_filter',
17772        'healthy',
17773        'hostname',
17774        'id',
17775        'name',
17776        'port',
17777        'port_override',
17778        'proxy_cluster_id',
17779        'secret_store_id',
17780        'subdomain',
17781        'tags',
17782    ]
17783
17784    def __init__(
17785        self,
17786        bind_interface=None,
17787        egress_filter=None,
17788        healthy=None,
17789        hostname=None,
17790        id=None,
17791        name=None,
17792        port=None,
17793        port_override=None,
17794        proxy_cluster_id=None,
17795        secret_store_id=None,
17796        subdomain=None,
17797        tags=None,
17798    ):
17799        self.bind_interface = bind_interface if bind_interface is not None else ''
17800        '''
17801         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
17802        '''
17803        self.egress_filter = egress_filter if egress_filter is not None else ''
17804        '''
17805         A filter applied to the routing logic to pin datasource to nodes.
17806        '''
17807        self.healthy = healthy if healthy is not None else False
17808        '''
17809         True if the datasource is reachable and the credentials are valid.
17810        '''
17811        self.hostname = hostname if hostname is not None else ''
17812        '''
17813         The host to dial to initiate a connection from the egress node to this resource.
17814        '''
17815        self.id = id if id is not None else ''
17816        '''
17817         Unique identifier of the Resource.
17818        '''
17819        self.name = name if name is not None else ''
17820        '''
17821         Unique human-readable name of the Resource.
17822        '''
17823        self.port = port if port is not None else 0
17824        '''
17825         The port to dial to initiate a connection from the egress node to this resource.
17826        '''
17827        self.port_override = port_override if port_override is not None else 0
17828        '''
17829         The local port used by clients to connect to this resource.
17830        '''
17831        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17832        '''
17833         ID of the proxy cluster for this resource, if any.
17834        '''
17835        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17836        '''
17837         ID of the secret store containing credentials for this resource, if any.
17838        '''
17839        self.subdomain = subdomain if subdomain is not None else ''
17840        '''
17841         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
17842        '''
17843        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17844        '''
17845         Tags is a map of key, value pairs.
17846        '''
17847
17848    def __repr__(self):
17849        return '<sdm.Memcached ' + \
17850            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
17851            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
17852            'healthy: ' + repr(self.healthy) + ' ' +\
17853            'hostname: ' + repr(self.hostname) + ' ' +\
17854            'id: ' + repr(self.id) + ' ' +\
17855            'name: ' + repr(self.name) + ' ' +\
17856            'port: ' + repr(self.port) + ' ' +\
17857            'port_override: ' + repr(self.port_override) + ' ' +\
17858            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
17859            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
17860            'subdomain: ' + repr(self.subdomain) + ' ' +\
17861            'tags: ' + repr(self.tags) + ' ' +\
17862            '>'
17863
17864    def to_dict(self):
17865        return {
17866            'bind_interface': self.bind_interface,
17867            'egress_filter': self.egress_filter,
17868            'healthy': self.healthy,
17869            'hostname': self.hostname,
17870            'id': self.id,
17871            'name': self.name,
17872            'port': self.port,
17873            'port_override': self.port_override,
17874            'proxy_cluster_id': self.proxy_cluster_id,
17875            'secret_store_id': self.secret_store_id,
17876            'subdomain': self.subdomain,
17877            'tags': self.tags,
17878        }
17879
17880    @classmethod
17881    def from_dict(cls, d):
17882        return cls(
17883            bind_interface=d.get('bind_interface'),
17884            egress_filter=d.get('egress_filter'),
17885            healthy=d.get('healthy'),
17886            hostname=d.get('hostname'),
17887            id=d.get('id'),
17888            name=d.get('name'),
17889            port=d.get('port'),
17890            port_override=d.get('port_override'),
17891            proxy_cluster_id=d.get('proxy_cluster_id'),
17892            secret_store_id=d.get('secret_store_id'),
17893            subdomain=d.get('subdomain'),
17894            tags=d.get('tags'),
17895        )
17896
17897
17898class Memsql:
17899    __slots__ = [
17900        'bind_interface',
17901        'database',
17902        'egress_filter',
17903        'healthy',
17904        'hostname',
17905        'id',
17906        'name',
17907        'password',
17908        'port',
17909        'port_override',
17910        'proxy_cluster_id',
17911        'require_native_auth',
17912        'secret_store_id',
17913        'subdomain',
17914        'tags',
17915        'use_azure_single_server_usernames',
17916        'username',
17917    ]
17918
17919    def __init__(
17920        self,
17921        bind_interface=None,
17922        database=None,
17923        egress_filter=None,
17924        healthy=None,
17925        hostname=None,
17926        id=None,
17927        name=None,
17928        password=None,
17929        port=None,
17930        port_override=None,
17931        proxy_cluster_id=None,
17932        require_native_auth=None,
17933        secret_store_id=None,
17934        subdomain=None,
17935        tags=None,
17936        use_azure_single_server_usernames=None,
17937        username=None,
17938    ):
17939        self.bind_interface = bind_interface if bind_interface is not None else ''
17940        '''
17941         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
17942        '''
17943        self.database = database if database is not None else ''
17944        '''
17945         The database for healthchecks. Does not affect client requests.
17946        '''
17947        self.egress_filter = egress_filter if egress_filter is not None else ''
17948        '''
17949         A filter applied to the routing logic to pin datasource to nodes.
17950        '''
17951        self.healthy = healthy if healthy is not None else False
17952        '''
17953         True if the datasource is reachable and the credentials are valid.
17954        '''
17955        self.hostname = hostname if hostname is not None else ''
17956        '''
17957         The host to dial to initiate a connection from the egress node to this resource.
17958        '''
17959        self.id = id if id is not None else ''
17960        '''
17961         Unique identifier of the Resource.
17962        '''
17963        self.name = name if name is not None else ''
17964        '''
17965         Unique human-readable name of the Resource.
17966        '''
17967        self.password = password if password is not None else ''
17968        '''
17969         The password to authenticate with.
17970        '''
17971        self.port = port if port is not None else 0
17972        '''
17973         The port to dial to initiate a connection from the egress node to this resource.
17974        '''
17975        self.port_override = port_override if port_override is not None else 0
17976        '''
17977         The local port used by clients to connect to this resource.
17978        '''
17979        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17980        '''
17981         ID of the proxy cluster for this resource, if any.
17982        '''
17983        self.require_native_auth = require_native_auth if require_native_auth is not None else False
17984        '''
17985         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
17986        '''
17987        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17988        '''
17989         ID of the secret store containing credentials for this resource, if any.
17990        '''
17991        self.subdomain = subdomain if subdomain is not None else ''
17992        '''
17993         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
17994        '''
17995        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17996        '''
17997         Tags is a map of key, value pairs.
17998        '''
17999        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
18000        '''
18001         If true, appends the hostname to the username when hitting a database.azure.com address
18002        '''
18003        self.username = username if username is not None else ''
18004        '''
18005         The username to authenticate with.
18006        '''
18007
18008    def __repr__(self):
18009        return '<sdm.Memsql ' + \
18010            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18011            'database: ' + repr(self.database) + ' ' +\
18012            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18013            'healthy: ' + repr(self.healthy) + ' ' +\
18014            'hostname: ' + repr(self.hostname) + ' ' +\
18015            'id: ' + repr(self.id) + ' ' +\
18016            'name: ' + repr(self.name) + ' ' +\
18017            'password: ' + repr(self.password) + ' ' +\
18018            'port: ' + repr(self.port) + ' ' +\
18019            'port_override: ' + repr(self.port_override) + ' ' +\
18020            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18021            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
18022            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18023            'subdomain: ' + repr(self.subdomain) + ' ' +\
18024            'tags: ' + repr(self.tags) + ' ' +\
18025            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
18026            'username: ' + repr(self.username) + ' ' +\
18027            '>'
18028
18029    def to_dict(self):
18030        return {
18031            'bind_interface': self.bind_interface,
18032            'database': self.database,
18033            'egress_filter': self.egress_filter,
18034            'healthy': self.healthy,
18035            'hostname': self.hostname,
18036            'id': self.id,
18037            'name': self.name,
18038            'password': self.password,
18039            'port': self.port,
18040            'port_override': self.port_override,
18041            'proxy_cluster_id': self.proxy_cluster_id,
18042            'require_native_auth': self.require_native_auth,
18043            'secret_store_id': self.secret_store_id,
18044            'subdomain': self.subdomain,
18045            'tags': self.tags,
18046            'use_azure_single_server_usernames':
18047            self.use_azure_single_server_usernames,
18048            'username': self.username,
18049        }
18050
18051    @classmethod
18052    def from_dict(cls, d):
18053        return cls(
18054            bind_interface=d.get('bind_interface'),
18055            database=d.get('database'),
18056            egress_filter=d.get('egress_filter'),
18057            healthy=d.get('healthy'),
18058            hostname=d.get('hostname'),
18059            id=d.get('id'),
18060            name=d.get('name'),
18061            password=d.get('password'),
18062            port=d.get('port'),
18063            port_override=d.get('port_override'),
18064            proxy_cluster_id=d.get('proxy_cluster_id'),
18065            require_native_auth=d.get('require_native_auth'),
18066            secret_store_id=d.get('secret_store_id'),
18067            subdomain=d.get('subdomain'),
18068            tags=d.get('tags'),
18069            use_azure_single_server_usernames=d.get(
18070                'use_azure_single_server_usernames'),
18071            username=d.get('username'),
18072        )
18073
18074
18075class MongoHost:
18076    __slots__ = [
18077        'auth_database',
18078        'bind_interface',
18079        'egress_filter',
18080        'healthy',
18081        'hostname',
18082        'id',
18083        'name',
18084        'password',
18085        'port',
18086        'port_override',
18087        'proxy_cluster_id',
18088        'secret_store_id',
18089        'subdomain',
18090        'tags',
18091        'tls_required',
18092        'username',
18093    ]
18094
18095    def __init__(
18096        self,
18097        auth_database=None,
18098        bind_interface=None,
18099        egress_filter=None,
18100        healthy=None,
18101        hostname=None,
18102        id=None,
18103        name=None,
18104        password=None,
18105        port=None,
18106        port_override=None,
18107        proxy_cluster_id=None,
18108        secret_store_id=None,
18109        subdomain=None,
18110        tags=None,
18111        tls_required=None,
18112        username=None,
18113    ):
18114        self.auth_database = auth_database if auth_database is not None else ''
18115        '''
18116         The authentication database to use.
18117        '''
18118        self.bind_interface = bind_interface if bind_interface is not None else ''
18119        '''
18120         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18121        '''
18122        self.egress_filter = egress_filter if egress_filter is not None else ''
18123        '''
18124         A filter applied to the routing logic to pin datasource to nodes.
18125        '''
18126        self.healthy = healthy if healthy is not None else False
18127        '''
18128         True if the datasource is reachable and the credentials are valid.
18129        '''
18130        self.hostname = hostname if hostname is not None else ''
18131        '''
18132         The host to dial to initiate a connection from the egress node to this resource.
18133        '''
18134        self.id = id if id is not None else ''
18135        '''
18136         Unique identifier of the Resource.
18137        '''
18138        self.name = name if name is not None else ''
18139        '''
18140         Unique human-readable name of the Resource.
18141        '''
18142        self.password = password if password is not None else ''
18143        '''
18144         The password to authenticate with.
18145        '''
18146        self.port = port if port is not None else 0
18147        '''
18148         The port to dial to initiate a connection from the egress node to this resource.
18149        '''
18150        self.port_override = port_override if port_override is not None else 0
18151        '''
18152         The local port used by clients to connect to this resource.
18153        '''
18154        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18155        '''
18156         ID of the proxy cluster for this resource, if any.
18157        '''
18158        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18159        '''
18160         ID of the secret store containing credentials for this resource, if any.
18161        '''
18162        self.subdomain = subdomain if subdomain is not None else ''
18163        '''
18164         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18165        '''
18166        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18167        '''
18168         Tags is a map of key, value pairs.
18169        '''
18170        self.tls_required = tls_required if tls_required is not None else False
18171        '''
18172         If set, TLS must be used to connect to this resource.
18173        '''
18174        self.username = username if username is not None else ''
18175        '''
18176         The username to authenticate with.
18177        '''
18178
18179    def __repr__(self):
18180        return '<sdm.MongoHost ' + \
18181            'auth_database: ' + repr(self.auth_database) + ' ' +\
18182            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18183            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18184            'healthy: ' + repr(self.healthy) + ' ' +\
18185            'hostname: ' + repr(self.hostname) + ' ' +\
18186            'id: ' + repr(self.id) + ' ' +\
18187            'name: ' + repr(self.name) + ' ' +\
18188            'password: ' + repr(self.password) + ' ' +\
18189            'port: ' + repr(self.port) + ' ' +\
18190            'port_override: ' + repr(self.port_override) + ' ' +\
18191            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18192            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18193            'subdomain: ' + repr(self.subdomain) + ' ' +\
18194            'tags: ' + repr(self.tags) + ' ' +\
18195            'tls_required: ' + repr(self.tls_required) + ' ' +\
18196            'username: ' + repr(self.username) + ' ' +\
18197            '>'
18198
18199    def to_dict(self):
18200        return {
18201            'auth_database': self.auth_database,
18202            'bind_interface': self.bind_interface,
18203            'egress_filter': self.egress_filter,
18204            'healthy': self.healthy,
18205            'hostname': self.hostname,
18206            'id': self.id,
18207            'name': self.name,
18208            'password': self.password,
18209            'port': self.port,
18210            'port_override': self.port_override,
18211            'proxy_cluster_id': self.proxy_cluster_id,
18212            'secret_store_id': self.secret_store_id,
18213            'subdomain': self.subdomain,
18214            'tags': self.tags,
18215            'tls_required': self.tls_required,
18216            'username': self.username,
18217        }
18218
18219    @classmethod
18220    def from_dict(cls, d):
18221        return cls(
18222            auth_database=d.get('auth_database'),
18223            bind_interface=d.get('bind_interface'),
18224            egress_filter=d.get('egress_filter'),
18225            healthy=d.get('healthy'),
18226            hostname=d.get('hostname'),
18227            id=d.get('id'),
18228            name=d.get('name'),
18229            password=d.get('password'),
18230            port=d.get('port'),
18231            port_override=d.get('port_override'),
18232            proxy_cluster_id=d.get('proxy_cluster_id'),
18233            secret_store_id=d.get('secret_store_id'),
18234            subdomain=d.get('subdomain'),
18235            tags=d.get('tags'),
18236            tls_required=d.get('tls_required'),
18237            username=d.get('username'),
18238        )
18239
18240
18241class MongoLegacyHost:
18242    '''
18243    MongoLegacyHost is currently unstable, and its API may change, or it may be removed,
18244    without a major version bump.
18245    '''
18246    __slots__ = [
18247        'auth_database',
18248        'bind_interface',
18249        'egress_filter',
18250        'healthy',
18251        'hostname',
18252        'id',
18253        'name',
18254        'password',
18255        'port',
18256        'port_override',
18257        'proxy_cluster_id',
18258        'secret_store_id',
18259        'subdomain',
18260        'tags',
18261        'tls_required',
18262        'username',
18263    ]
18264
18265    def __init__(
18266        self,
18267        auth_database=None,
18268        bind_interface=None,
18269        egress_filter=None,
18270        healthy=None,
18271        hostname=None,
18272        id=None,
18273        name=None,
18274        password=None,
18275        port=None,
18276        port_override=None,
18277        proxy_cluster_id=None,
18278        secret_store_id=None,
18279        subdomain=None,
18280        tags=None,
18281        tls_required=None,
18282        username=None,
18283    ):
18284        self.auth_database = auth_database if auth_database is not None else ''
18285        '''
18286         The authentication database to use.
18287        '''
18288        self.bind_interface = bind_interface if bind_interface is not None else ''
18289        '''
18290         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18291        '''
18292        self.egress_filter = egress_filter if egress_filter is not None else ''
18293        '''
18294         A filter applied to the routing logic to pin datasource to nodes.
18295        '''
18296        self.healthy = healthy if healthy is not None else False
18297        '''
18298         True if the datasource is reachable and the credentials are valid.
18299        '''
18300        self.hostname = hostname if hostname is not None else ''
18301        '''
18302         The host to dial to initiate a connection from the egress node to this resource.
18303        '''
18304        self.id = id if id is not None else ''
18305        '''
18306         Unique identifier of the Resource.
18307        '''
18308        self.name = name if name is not None else ''
18309        '''
18310         Unique human-readable name of the Resource.
18311        '''
18312        self.password = password if password is not None else ''
18313        '''
18314         The password to authenticate with.
18315        '''
18316        self.port = port if port is not None else 0
18317        '''
18318         The port to dial to initiate a connection from the egress node to this resource.
18319        '''
18320        self.port_override = port_override if port_override is not None else 0
18321        '''
18322         The local port used by clients to connect to this resource.
18323        '''
18324        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18325        '''
18326         ID of the proxy cluster for this resource, if any.
18327        '''
18328        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18329        '''
18330         ID of the secret store containing credentials for this resource, if any.
18331        '''
18332        self.subdomain = subdomain if subdomain is not None else ''
18333        '''
18334         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18335        '''
18336        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18337        '''
18338         Tags is a map of key, value pairs.
18339        '''
18340        self.tls_required = tls_required if tls_required is not None else False
18341        '''
18342         If set, TLS must be used to connect to this resource.
18343        '''
18344        self.username = username if username is not None else ''
18345        '''
18346         The username to authenticate with.
18347        '''
18348
18349    def __repr__(self):
18350        return '<sdm.MongoLegacyHost ' + \
18351            'auth_database: ' + repr(self.auth_database) + ' ' +\
18352            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18353            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18354            'healthy: ' + repr(self.healthy) + ' ' +\
18355            'hostname: ' + repr(self.hostname) + ' ' +\
18356            'id: ' + repr(self.id) + ' ' +\
18357            'name: ' + repr(self.name) + ' ' +\
18358            'password: ' + repr(self.password) + ' ' +\
18359            'port: ' + repr(self.port) + ' ' +\
18360            'port_override: ' + repr(self.port_override) + ' ' +\
18361            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18362            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18363            'subdomain: ' + repr(self.subdomain) + ' ' +\
18364            'tags: ' + repr(self.tags) + ' ' +\
18365            'tls_required: ' + repr(self.tls_required) + ' ' +\
18366            'username: ' + repr(self.username) + ' ' +\
18367            '>'
18368
18369    def to_dict(self):
18370        return {
18371            'auth_database': self.auth_database,
18372            'bind_interface': self.bind_interface,
18373            'egress_filter': self.egress_filter,
18374            'healthy': self.healthy,
18375            'hostname': self.hostname,
18376            'id': self.id,
18377            'name': self.name,
18378            'password': self.password,
18379            'port': self.port,
18380            'port_override': self.port_override,
18381            'proxy_cluster_id': self.proxy_cluster_id,
18382            'secret_store_id': self.secret_store_id,
18383            'subdomain': self.subdomain,
18384            'tags': self.tags,
18385            'tls_required': self.tls_required,
18386            'username': self.username,
18387        }
18388
18389    @classmethod
18390    def from_dict(cls, d):
18391        return cls(
18392            auth_database=d.get('auth_database'),
18393            bind_interface=d.get('bind_interface'),
18394            egress_filter=d.get('egress_filter'),
18395            healthy=d.get('healthy'),
18396            hostname=d.get('hostname'),
18397            id=d.get('id'),
18398            name=d.get('name'),
18399            password=d.get('password'),
18400            port=d.get('port'),
18401            port_override=d.get('port_override'),
18402            proxy_cluster_id=d.get('proxy_cluster_id'),
18403            secret_store_id=d.get('secret_store_id'),
18404            subdomain=d.get('subdomain'),
18405            tags=d.get('tags'),
18406            tls_required=d.get('tls_required'),
18407            username=d.get('username'),
18408        )
18409
18410
18411class MongoLegacyReplicaset:
18412    '''
18413    MongoLegacyReplicaset is currently unstable, and its API may change, or it may be removed,
18414    without a major version bump.
18415    '''
18416    __slots__ = [
18417        'auth_database',
18418        'bind_interface',
18419        'connect_to_replica',
18420        'egress_filter',
18421        'healthy',
18422        'hostname',
18423        'id',
18424        'name',
18425        'password',
18426        'port',
18427        'port_override',
18428        'proxy_cluster_id',
18429        'replica_set',
18430        'secret_store_id',
18431        'subdomain',
18432        'tags',
18433        'tls_required',
18434        'username',
18435    ]
18436
18437    def __init__(
18438        self,
18439        auth_database=None,
18440        bind_interface=None,
18441        connect_to_replica=None,
18442        egress_filter=None,
18443        healthy=None,
18444        hostname=None,
18445        id=None,
18446        name=None,
18447        password=None,
18448        port=None,
18449        port_override=None,
18450        proxy_cluster_id=None,
18451        replica_set=None,
18452        secret_store_id=None,
18453        subdomain=None,
18454        tags=None,
18455        tls_required=None,
18456        username=None,
18457    ):
18458        self.auth_database = auth_database if auth_database is not None else ''
18459        '''
18460         The authentication database to use.
18461        '''
18462        self.bind_interface = bind_interface if bind_interface is not None else ''
18463        '''
18464         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18465        '''
18466        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
18467        '''
18468         Set to connect to a replica instead of the primary node.
18469        '''
18470        self.egress_filter = egress_filter if egress_filter is not None else ''
18471        '''
18472         A filter applied to the routing logic to pin datasource to nodes.
18473        '''
18474        self.healthy = healthy if healthy is not None else False
18475        '''
18476         True if the datasource is reachable and the credentials are valid.
18477        '''
18478        self.hostname = hostname if hostname is not None else ''
18479        '''
18480         The host to dial to initiate a connection from the egress node to this resource.
18481        '''
18482        self.id = id if id is not None else ''
18483        '''
18484         Unique identifier of the Resource.
18485        '''
18486        self.name = name if name is not None else ''
18487        '''
18488         Unique human-readable name of the Resource.
18489        '''
18490        self.password = password if password is not None else ''
18491        '''
18492         The password to authenticate with.
18493        '''
18494        self.port = port if port is not None else 0
18495        '''
18496         The port to dial to initiate a connection from the egress node to this resource.
18497        '''
18498        self.port_override = port_override if port_override is not None else 0
18499        '''
18500         The local port used by clients to connect to this resource.
18501        '''
18502        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18503        '''
18504         ID of the proxy cluster for this resource, if any.
18505        '''
18506        self.replica_set = replica_set if replica_set is not None else ''
18507        '''
18508         The name of the mongo replicaset.
18509        '''
18510        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18511        '''
18512         ID of the secret store containing credentials for this resource, if any.
18513        '''
18514        self.subdomain = subdomain if subdomain is not None else ''
18515        '''
18516         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18517        '''
18518        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18519        '''
18520         Tags is a map of key, value pairs.
18521        '''
18522        self.tls_required = tls_required if tls_required is not None else False
18523        '''
18524         If set, TLS must be used to connect to this resource.
18525        '''
18526        self.username = username if username is not None else ''
18527        '''
18528         The username to authenticate with.
18529        '''
18530
18531    def __repr__(self):
18532        return '<sdm.MongoLegacyReplicaset ' + \
18533            'auth_database: ' + repr(self.auth_database) + ' ' +\
18534            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18535            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
18536            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18537            'healthy: ' + repr(self.healthy) + ' ' +\
18538            'hostname: ' + repr(self.hostname) + ' ' +\
18539            'id: ' + repr(self.id) + ' ' +\
18540            'name: ' + repr(self.name) + ' ' +\
18541            'password: ' + repr(self.password) + ' ' +\
18542            'port: ' + repr(self.port) + ' ' +\
18543            'port_override: ' + repr(self.port_override) + ' ' +\
18544            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18545            'replica_set: ' + repr(self.replica_set) + ' ' +\
18546            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18547            'subdomain: ' + repr(self.subdomain) + ' ' +\
18548            'tags: ' + repr(self.tags) + ' ' +\
18549            'tls_required: ' + repr(self.tls_required) + ' ' +\
18550            'username: ' + repr(self.username) + ' ' +\
18551            '>'
18552
18553    def to_dict(self):
18554        return {
18555            'auth_database': self.auth_database,
18556            'bind_interface': self.bind_interface,
18557            'connect_to_replica': self.connect_to_replica,
18558            'egress_filter': self.egress_filter,
18559            'healthy': self.healthy,
18560            'hostname': self.hostname,
18561            'id': self.id,
18562            'name': self.name,
18563            'password': self.password,
18564            'port': self.port,
18565            'port_override': self.port_override,
18566            'proxy_cluster_id': self.proxy_cluster_id,
18567            'replica_set': self.replica_set,
18568            'secret_store_id': self.secret_store_id,
18569            'subdomain': self.subdomain,
18570            'tags': self.tags,
18571            'tls_required': self.tls_required,
18572            'username': self.username,
18573        }
18574
18575    @classmethod
18576    def from_dict(cls, d):
18577        return cls(
18578            auth_database=d.get('auth_database'),
18579            bind_interface=d.get('bind_interface'),
18580            connect_to_replica=d.get('connect_to_replica'),
18581            egress_filter=d.get('egress_filter'),
18582            healthy=d.get('healthy'),
18583            hostname=d.get('hostname'),
18584            id=d.get('id'),
18585            name=d.get('name'),
18586            password=d.get('password'),
18587            port=d.get('port'),
18588            port_override=d.get('port_override'),
18589            proxy_cluster_id=d.get('proxy_cluster_id'),
18590            replica_set=d.get('replica_set'),
18591            secret_store_id=d.get('secret_store_id'),
18592            subdomain=d.get('subdomain'),
18593            tags=d.get('tags'),
18594            tls_required=d.get('tls_required'),
18595            username=d.get('username'),
18596        )
18597
18598
18599class MongoReplicaSet:
18600    __slots__ = [
18601        'auth_database',
18602        'bind_interface',
18603        'connect_to_replica',
18604        'egress_filter',
18605        'healthy',
18606        'hostname',
18607        'id',
18608        'name',
18609        'password',
18610        'port',
18611        'port_override',
18612        'proxy_cluster_id',
18613        'replica_set',
18614        'secret_store_id',
18615        'subdomain',
18616        'tags',
18617        'tls_required',
18618        'username',
18619    ]
18620
18621    def __init__(
18622        self,
18623        auth_database=None,
18624        bind_interface=None,
18625        connect_to_replica=None,
18626        egress_filter=None,
18627        healthy=None,
18628        hostname=None,
18629        id=None,
18630        name=None,
18631        password=None,
18632        port=None,
18633        port_override=None,
18634        proxy_cluster_id=None,
18635        replica_set=None,
18636        secret_store_id=None,
18637        subdomain=None,
18638        tags=None,
18639        tls_required=None,
18640        username=None,
18641    ):
18642        self.auth_database = auth_database if auth_database is not None else ''
18643        '''
18644         The authentication database to use.
18645        '''
18646        self.bind_interface = bind_interface if bind_interface is not None else ''
18647        '''
18648         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18649        '''
18650        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
18651        '''
18652         Set to connect to a replica instead of the primary node.
18653        '''
18654        self.egress_filter = egress_filter if egress_filter is not None else ''
18655        '''
18656         A filter applied to the routing logic to pin datasource to nodes.
18657        '''
18658        self.healthy = healthy if healthy is not None else False
18659        '''
18660         True if the datasource is reachable and the credentials are valid.
18661        '''
18662        self.hostname = hostname if hostname is not None else ''
18663        '''
18664         The host to dial to initiate a connection from the egress node to this resource.
18665        '''
18666        self.id = id if id is not None else ''
18667        '''
18668         Unique identifier of the Resource.
18669        '''
18670        self.name = name if name is not None else ''
18671        '''
18672         Unique human-readable name of the Resource.
18673        '''
18674        self.password = password if password is not None else ''
18675        '''
18676         The password to authenticate with.
18677        '''
18678        self.port = port if port is not None else 0
18679        '''
18680         The port to dial to initiate a connection from the egress node to this resource.
18681        '''
18682        self.port_override = port_override if port_override is not None else 0
18683        '''
18684         The local port used by clients to connect to this resource.
18685        '''
18686        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18687        '''
18688         ID of the proxy cluster for this resource, if any.
18689        '''
18690        self.replica_set = replica_set if replica_set is not None else ''
18691        '''
18692         The name of the mongo replicaset.
18693        '''
18694        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18695        '''
18696         ID of the secret store containing credentials for this resource, if any.
18697        '''
18698        self.subdomain = subdomain if subdomain is not None else ''
18699        '''
18700         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18701        '''
18702        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18703        '''
18704         Tags is a map of key, value pairs.
18705        '''
18706        self.tls_required = tls_required if tls_required is not None else False
18707        '''
18708         If set, TLS must be used to connect to this resource.
18709        '''
18710        self.username = username if username is not None else ''
18711        '''
18712         The username to authenticate with.
18713        '''
18714
18715    def __repr__(self):
18716        return '<sdm.MongoReplicaSet ' + \
18717            'auth_database: ' + repr(self.auth_database) + ' ' +\
18718            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18719            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
18720            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18721            'healthy: ' + repr(self.healthy) + ' ' +\
18722            'hostname: ' + repr(self.hostname) + ' ' +\
18723            'id: ' + repr(self.id) + ' ' +\
18724            'name: ' + repr(self.name) + ' ' +\
18725            'password: ' + repr(self.password) + ' ' +\
18726            'port: ' + repr(self.port) + ' ' +\
18727            'port_override: ' + repr(self.port_override) + ' ' +\
18728            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18729            'replica_set: ' + repr(self.replica_set) + ' ' +\
18730            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18731            'subdomain: ' + repr(self.subdomain) + ' ' +\
18732            'tags: ' + repr(self.tags) + ' ' +\
18733            'tls_required: ' + repr(self.tls_required) + ' ' +\
18734            'username: ' + repr(self.username) + ' ' +\
18735            '>'
18736
18737    def to_dict(self):
18738        return {
18739            'auth_database': self.auth_database,
18740            'bind_interface': self.bind_interface,
18741            'connect_to_replica': self.connect_to_replica,
18742            'egress_filter': self.egress_filter,
18743            'healthy': self.healthy,
18744            'hostname': self.hostname,
18745            'id': self.id,
18746            'name': self.name,
18747            'password': self.password,
18748            'port': self.port,
18749            'port_override': self.port_override,
18750            'proxy_cluster_id': self.proxy_cluster_id,
18751            'replica_set': self.replica_set,
18752            'secret_store_id': self.secret_store_id,
18753            'subdomain': self.subdomain,
18754            'tags': self.tags,
18755            'tls_required': self.tls_required,
18756            'username': self.username,
18757        }
18758
18759    @classmethod
18760    def from_dict(cls, d):
18761        return cls(
18762            auth_database=d.get('auth_database'),
18763            bind_interface=d.get('bind_interface'),
18764            connect_to_replica=d.get('connect_to_replica'),
18765            egress_filter=d.get('egress_filter'),
18766            healthy=d.get('healthy'),
18767            hostname=d.get('hostname'),
18768            id=d.get('id'),
18769            name=d.get('name'),
18770            password=d.get('password'),
18771            port=d.get('port'),
18772            port_override=d.get('port_override'),
18773            proxy_cluster_id=d.get('proxy_cluster_id'),
18774            replica_set=d.get('replica_set'),
18775            secret_store_id=d.get('secret_store_id'),
18776            subdomain=d.get('subdomain'),
18777            tags=d.get('tags'),
18778            tls_required=d.get('tls_required'),
18779            username=d.get('username'),
18780        )
18781
18782
18783class MongoShardedCluster:
18784    __slots__ = [
18785        'auth_database',
18786        'bind_interface',
18787        'egress_filter',
18788        'healthy',
18789        'hostname',
18790        'id',
18791        'name',
18792        'password',
18793        'port_override',
18794        'proxy_cluster_id',
18795        'secret_store_id',
18796        'subdomain',
18797        'tags',
18798        'tls_required',
18799        'username',
18800    ]
18801
18802    def __init__(
18803        self,
18804        auth_database=None,
18805        bind_interface=None,
18806        egress_filter=None,
18807        healthy=None,
18808        hostname=None,
18809        id=None,
18810        name=None,
18811        password=None,
18812        port_override=None,
18813        proxy_cluster_id=None,
18814        secret_store_id=None,
18815        subdomain=None,
18816        tags=None,
18817        tls_required=None,
18818        username=None,
18819    ):
18820        self.auth_database = auth_database if auth_database is not None else ''
18821        '''
18822         The authentication database to use.
18823        '''
18824        self.bind_interface = bind_interface if bind_interface is not None else ''
18825        '''
18826         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18827        '''
18828        self.egress_filter = egress_filter if egress_filter is not None else ''
18829        '''
18830         A filter applied to the routing logic to pin datasource to nodes.
18831        '''
18832        self.healthy = healthy if healthy is not None else False
18833        '''
18834         True if the datasource is reachable and the credentials are valid.
18835        '''
18836        self.hostname = hostname if hostname is not None else ''
18837        '''
18838         The host to dial to initiate a connection from the egress node to this resource.
18839        '''
18840        self.id = id if id is not None else ''
18841        '''
18842         Unique identifier of the Resource.
18843        '''
18844        self.name = name if name is not None else ''
18845        '''
18846         Unique human-readable name of the Resource.
18847        '''
18848        self.password = password if password is not None else ''
18849        '''
18850         The password to authenticate with.
18851        '''
18852        self.port_override = port_override if port_override is not None else 0
18853        '''
18854         The local port used by clients to connect to this resource.
18855        '''
18856        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18857        '''
18858         ID of the proxy cluster for this resource, if any.
18859        '''
18860        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18861        '''
18862         ID of the secret store containing credentials for this resource, if any.
18863        '''
18864        self.subdomain = subdomain if subdomain is not None else ''
18865        '''
18866         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18867        '''
18868        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18869        '''
18870         Tags is a map of key, value pairs.
18871        '''
18872        self.tls_required = tls_required if tls_required is not None else False
18873        '''
18874         If set, TLS must be used to connect to this resource.
18875        '''
18876        self.username = username if username is not None else ''
18877        '''
18878         The username to authenticate with.
18879        '''
18880
18881    def __repr__(self):
18882        return '<sdm.MongoShardedCluster ' + \
18883            'auth_database: ' + repr(self.auth_database) + ' ' +\
18884            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18885            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18886            'healthy: ' + repr(self.healthy) + ' ' +\
18887            'hostname: ' + repr(self.hostname) + ' ' +\
18888            'id: ' + repr(self.id) + ' ' +\
18889            'name: ' + repr(self.name) + ' ' +\
18890            'password: ' + repr(self.password) + ' ' +\
18891            'port_override: ' + repr(self.port_override) + ' ' +\
18892            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18893            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18894            'subdomain: ' + repr(self.subdomain) + ' ' +\
18895            'tags: ' + repr(self.tags) + ' ' +\
18896            'tls_required: ' + repr(self.tls_required) + ' ' +\
18897            'username: ' + repr(self.username) + ' ' +\
18898            '>'
18899
18900    def to_dict(self):
18901        return {
18902            'auth_database': self.auth_database,
18903            'bind_interface': self.bind_interface,
18904            'egress_filter': self.egress_filter,
18905            'healthy': self.healthy,
18906            'hostname': self.hostname,
18907            'id': self.id,
18908            'name': self.name,
18909            'password': self.password,
18910            'port_override': self.port_override,
18911            'proxy_cluster_id': self.proxy_cluster_id,
18912            'secret_store_id': self.secret_store_id,
18913            'subdomain': self.subdomain,
18914            'tags': self.tags,
18915            'tls_required': self.tls_required,
18916            'username': self.username,
18917        }
18918
18919    @classmethod
18920    def from_dict(cls, d):
18921        return cls(
18922            auth_database=d.get('auth_database'),
18923            bind_interface=d.get('bind_interface'),
18924            egress_filter=d.get('egress_filter'),
18925            healthy=d.get('healthy'),
18926            hostname=d.get('hostname'),
18927            id=d.get('id'),
18928            name=d.get('name'),
18929            password=d.get('password'),
18930            port_override=d.get('port_override'),
18931            proxy_cluster_id=d.get('proxy_cluster_id'),
18932            secret_store_id=d.get('secret_store_id'),
18933            subdomain=d.get('subdomain'),
18934            tags=d.get('tags'),
18935            tls_required=d.get('tls_required'),
18936            username=d.get('username'),
18937        )
18938
18939
18940class Mysql:
18941    __slots__ = [
18942        'bind_interface',
18943        'database',
18944        'egress_filter',
18945        'healthy',
18946        'hostname',
18947        'id',
18948        'name',
18949        'password',
18950        'port',
18951        'port_override',
18952        'proxy_cluster_id',
18953        'require_native_auth',
18954        'secret_store_id',
18955        'subdomain',
18956        'tags',
18957        'use_azure_single_server_usernames',
18958        'username',
18959    ]
18960
18961    def __init__(
18962        self,
18963        bind_interface=None,
18964        database=None,
18965        egress_filter=None,
18966        healthy=None,
18967        hostname=None,
18968        id=None,
18969        name=None,
18970        password=None,
18971        port=None,
18972        port_override=None,
18973        proxy_cluster_id=None,
18974        require_native_auth=None,
18975        secret_store_id=None,
18976        subdomain=None,
18977        tags=None,
18978        use_azure_single_server_usernames=None,
18979        username=None,
18980    ):
18981        self.bind_interface = bind_interface if bind_interface is not None else ''
18982        '''
18983         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18984        '''
18985        self.database = database if database is not None else ''
18986        '''
18987         The database for healthchecks. Does not affect client requests.
18988        '''
18989        self.egress_filter = egress_filter if egress_filter is not None else ''
18990        '''
18991         A filter applied to the routing logic to pin datasource to nodes.
18992        '''
18993        self.healthy = healthy if healthy is not None else False
18994        '''
18995         True if the datasource is reachable and the credentials are valid.
18996        '''
18997        self.hostname = hostname if hostname is not None else ''
18998        '''
18999         The host to dial to initiate a connection from the egress node to this resource.
19000        '''
19001        self.id = id if id is not None else ''
19002        '''
19003         Unique identifier of the Resource.
19004        '''
19005        self.name = name if name is not None else ''
19006        '''
19007         Unique human-readable name of the Resource.
19008        '''
19009        self.password = password if password is not None else ''
19010        '''
19011         The password to authenticate with.
19012        '''
19013        self.port = port if port is not None else 0
19014        '''
19015         The port to dial to initiate a connection from the egress node to this resource.
19016        '''
19017        self.port_override = port_override if port_override is not None else 0
19018        '''
19019         The local port used by clients to connect to this resource.
19020        '''
19021        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19022        '''
19023         ID of the proxy cluster for this resource, if any.
19024        '''
19025        self.require_native_auth = require_native_auth if require_native_auth is not None else False
19026        '''
19027         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
19028        '''
19029        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19030        '''
19031         ID of the secret store containing credentials for this resource, if any.
19032        '''
19033        self.subdomain = subdomain if subdomain is not None else ''
19034        '''
19035         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19036        '''
19037        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19038        '''
19039         Tags is a map of key, value pairs.
19040        '''
19041        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
19042        '''
19043         If true, appends the hostname to the username when hitting a database.azure.com address
19044        '''
19045        self.username = username if username is not None else ''
19046        '''
19047         The username to authenticate with.
19048        '''
19049
19050    def __repr__(self):
19051        return '<sdm.Mysql ' + \
19052            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19053            'database: ' + repr(self.database) + ' ' +\
19054            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19055            'healthy: ' + repr(self.healthy) + ' ' +\
19056            'hostname: ' + repr(self.hostname) + ' ' +\
19057            'id: ' + repr(self.id) + ' ' +\
19058            'name: ' + repr(self.name) + ' ' +\
19059            'password: ' + repr(self.password) + ' ' +\
19060            'port: ' + repr(self.port) + ' ' +\
19061            'port_override: ' + repr(self.port_override) + ' ' +\
19062            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19063            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
19064            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19065            'subdomain: ' + repr(self.subdomain) + ' ' +\
19066            'tags: ' + repr(self.tags) + ' ' +\
19067            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
19068            'username: ' + repr(self.username) + ' ' +\
19069            '>'
19070
19071    def to_dict(self):
19072        return {
19073            'bind_interface': self.bind_interface,
19074            'database': self.database,
19075            'egress_filter': self.egress_filter,
19076            'healthy': self.healthy,
19077            'hostname': self.hostname,
19078            'id': self.id,
19079            'name': self.name,
19080            'password': self.password,
19081            'port': self.port,
19082            'port_override': self.port_override,
19083            'proxy_cluster_id': self.proxy_cluster_id,
19084            'require_native_auth': self.require_native_auth,
19085            'secret_store_id': self.secret_store_id,
19086            'subdomain': self.subdomain,
19087            'tags': self.tags,
19088            'use_azure_single_server_usernames':
19089            self.use_azure_single_server_usernames,
19090            'username': self.username,
19091        }
19092
19093    @classmethod
19094    def from_dict(cls, d):
19095        return cls(
19096            bind_interface=d.get('bind_interface'),
19097            database=d.get('database'),
19098            egress_filter=d.get('egress_filter'),
19099            healthy=d.get('healthy'),
19100            hostname=d.get('hostname'),
19101            id=d.get('id'),
19102            name=d.get('name'),
19103            password=d.get('password'),
19104            port=d.get('port'),
19105            port_override=d.get('port_override'),
19106            proxy_cluster_id=d.get('proxy_cluster_id'),
19107            require_native_auth=d.get('require_native_auth'),
19108            secret_store_id=d.get('secret_store_id'),
19109            subdomain=d.get('subdomain'),
19110            tags=d.get('tags'),
19111            use_azure_single_server_usernames=d.get(
19112                'use_azure_single_server_usernames'),
19113            username=d.get('username'),
19114        )
19115
19116
19117class Neptune:
19118    __slots__ = [
19119        'bind_interface',
19120        'egress_filter',
19121        'endpoint',
19122        'healthy',
19123        'id',
19124        'name',
19125        'port',
19126        'port_override',
19127        'proxy_cluster_id',
19128        'secret_store_id',
19129        'subdomain',
19130        'tags',
19131    ]
19132
19133    def __init__(
19134        self,
19135        bind_interface=None,
19136        egress_filter=None,
19137        endpoint=None,
19138        healthy=None,
19139        id=None,
19140        name=None,
19141        port=None,
19142        port_override=None,
19143        proxy_cluster_id=None,
19144        secret_store_id=None,
19145        subdomain=None,
19146        tags=None,
19147    ):
19148        self.bind_interface = bind_interface if bind_interface is not None else ''
19149        '''
19150         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19151        '''
19152        self.egress_filter = egress_filter if egress_filter is not None else ''
19153        '''
19154         A filter applied to the routing logic to pin datasource to nodes.
19155        '''
19156        self.endpoint = endpoint if endpoint is not None else ''
19157        '''
19158         The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com
19159        '''
19160        self.healthy = healthy if healthy is not None else False
19161        '''
19162         True if the datasource is reachable and the credentials are valid.
19163        '''
19164        self.id = id if id is not None else ''
19165        '''
19166         Unique identifier of the Resource.
19167        '''
19168        self.name = name if name is not None else ''
19169        '''
19170         Unique human-readable name of the Resource.
19171        '''
19172        self.port = port if port is not None else 0
19173        '''
19174         The port to dial to initiate a connection from the egress node to this resource.
19175        '''
19176        self.port_override = port_override if port_override is not None else 0
19177        '''
19178         The local port used by clients to connect to this resource.
19179        '''
19180        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19181        '''
19182         ID of the proxy cluster for this resource, if any.
19183        '''
19184        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19185        '''
19186         ID of the secret store containing credentials for this resource, if any.
19187        '''
19188        self.subdomain = subdomain if subdomain is not None else ''
19189        '''
19190         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19191        '''
19192        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19193        '''
19194         Tags is a map of key, value pairs.
19195        '''
19196
19197    def __repr__(self):
19198        return '<sdm.Neptune ' + \
19199            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19200            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19201            'endpoint: ' + repr(self.endpoint) + ' ' +\
19202            'healthy: ' + repr(self.healthy) + ' ' +\
19203            'id: ' + repr(self.id) + ' ' +\
19204            'name: ' + repr(self.name) + ' ' +\
19205            'port: ' + repr(self.port) + ' ' +\
19206            'port_override: ' + repr(self.port_override) + ' ' +\
19207            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19208            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19209            'subdomain: ' + repr(self.subdomain) + ' ' +\
19210            'tags: ' + repr(self.tags) + ' ' +\
19211            '>'
19212
19213    def to_dict(self):
19214        return {
19215            'bind_interface': self.bind_interface,
19216            'egress_filter': self.egress_filter,
19217            'endpoint': self.endpoint,
19218            'healthy': self.healthy,
19219            'id': self.id,
19220            'name': self.name,
19221            'port': self.port,
19222            'port_override': self.port_override,
19223            'proxy_cluster_id': self.proxy_cluster_id,
19224            'secret_store_id': self.secret_store_id,
19225            'subdomain': self.subdomain,
19226            'tags': self.tags,
19227        }
19228
19229    @classmethod
19230    def from_dict(cls, d):
19231        return cls(
19232            bind_interface=d.get('bind_interface'),
19233            egress_filter=d.get('egress_filter'),
19234            endpoint=d.get('endpoint'),
19235            healthy=d.get('healthy'),
19236            id=d.get('id'),
19237            name=d.get('name'),
19238            port=d.get('port'),
19239            port_override=d.get('port_override'),
19240            proxy_cluster_id=d.get('proxy_cluster_id'),
19241            secret_store_id=d.get('secret_store_id'),
19242            subdomain=d.get('subdomain'),
19243            tags=d.get('tags'),
19244        )
19245
19246
19247class NeptuneIAM:
19248    __slots__ = [
19249        'access_key',
19250        'bind_interface',
19251        'egress_filter',
19252        'endpoint',
19253        'healthy',
19254        'id',
19255        'name',
19256        'port',
19257        'port_override',
19258        'proxy_cluster_id',
19259        'region',
19260        'role_arn',
19261        'role_external_id',
19262        'secret_access_key',
19263        'secret_store_id',
19264        'subdomain',
19265        'tags',
19266    ]
19267
19268    def __init__(
19269        self,
19270        access_key=None,
19271        bind_interface=None,
19272        egress_filter=None,
19273        endpoint=None,
19274        healthy=None,
19275        id=None,
19276        name=None,
19277        port=None,
19278        port_override=None,
19279        proxy_cluster_id=None,
19280        region=None,
19281        role_arn=None,
19282        role_external_id=None,
19283        secret_access_key=None,
19284        secret_store_id=None,
19285        subdomain=None,
19286        tags=None,
19287    ):
19288        self.access_key = access_key if access_key is not None else ''
19289        '''
19290         The Access Key ID to use to authenticate.
19291        '''
19292        self.bind_interface = bind_interface if bind_interface is not None else ''
19293        '''
19294         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19295        '''
19296        self.egress_filter = egress_filter if egress_filter is not None else ''
19297        '''
19298         A filter applied to the routing logic to pin datasource to nodes.
19299        '''
19300        self.endpoint = endpoint if endpoint is not None else ''
19301        '''
19302         The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com
19303        '''
19304        self.healthy = healthy if healthy is not None else False
19305        '''
19306         True if the datasource is reachable and the credentials are valid.
19307        '''
19308        self.id = id if id is not None else ''
19309        '''
19310         Unique identifier of the Resource.
19311        '''
19312        self.name = name if name is not None else ''
19313        '''
19314         Unique human-readable name of the Resource.
19315        '''
19316        self.port = port if port is not None else 0
19317        '''
19318         The port to dial to initiate a connection from the egress node to this resource.
19319        '''
19320        self.port_override = port_override if port_override is not None else 0
19321        '''
19322         The local port used by clients to connect to this resource.
19323        '''
19324        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19325        '''
19326         ID of the proxy cluster for this resource, if any.
19327        '''
19328        self.region = region if region is not None else ''
19329        '''
19330         The AWS region to connect to.
19331        '''
19332        self.role_arn = role_arn if role_arn is not None else ''
19333        '''
19334         The role to assume after logging in.
19335        '''
19336        self.role_external_id = role_external_id if role_external_id is not None else ''
19337        '''
19338         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
19339        '''
19340        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
19341        '''
19342         The Secret Access Key to use to authenticate.
19343        '''
19344        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19345        '''
19346         ID of the secret store containing credentials for this resource, if any.
19347        '''
19348        self.subdomain = subdomain if subdomain is not None else ''
19349        '''
19350         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19351        '''
19352        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19353        '''
19354         Tags is a map of key, value pairs.
19355        '''
19356
19357    def __repr__(self):
19358        return '<sdm.NeptuneIAM ' + \
19359            'access_key: ' + repr(self.access_key) + ' ' +\
19360            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19361            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19362            'endpoint: ' + repr(self.endpoint) + ' ' +\
19363            'healthy: ' + repr(self.healthy) + ' ' +\
19364            'id: ' + repr(self.id) + ' ' +\
19365            'name: ' + repr(self.name) + ' ' +\
19366            'port: ' + repr(self.port) + ' ' +\
19367            'port_override: ' + repr(self.port_override) + ' ' +\
19368            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19369            'region: ' + repr(self.region) + ' ' +\
19370            'role_arn: ' + repr(self.role_arn) + ' ' +\
19371            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
19372            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
19373            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19374            'subdomain: ' + repr(self.subdomain) + ' ' +\
19375            'tags: ' + repr(self.tags) + ' ' +\
19376            '>'
19377
19378    def to_dict(self):
19379        return {
19380            'access_key': self.access_key,
19381            'bind_interface': self.bind_interface,
19382            'egress_filter': self.egress_filter,
19383            'endpoint': self.endpoint,
19384            'healthy': self.healthy,
19385            'id': self.id,
19386            'name': self.name,
19387            'port': self.port,
19388            'port_override': self.port_override,
19389            'proxy_cluster_id': self.proxy_cluster_id,
19390            'region': self.region,
19391            'role_arn': self.role_arn,
19392            'role_external_id': self.role_external_id,
19393            'secret_access_key': self.secret_access_key,
19394            'secret_store_id': self.secret_store_id,
19395            'subdomain': self.subdomain,
19396            'tags': self.tags,
19397        }
19398
19399    @classmethod
19400    def from_dict(cls, d):
19401        return cls(
19402            access_key=d.get('access_key'),
19403            bind_interface=d.get('bind_interface'),
19404            egress_filter=d.get('egress_filter'),
19405            endpoint=d.get('endpoint'),
19406            healthy=d.get('healthy'),
19407            id=d.get('id'),
19408            name=d.get('name'),
19409            port=d.get('port'),
19410            port_override=d.get('port_override'),
19411            proxy_cluster_id=d.get('proxy_cluster_id'),
19412            region=d.get('region'),
19413            role_arn=d.get('role_arn'),
19414            role_external_id=d.get('role_external_id'),
19415            secret_access_key=d.get('secret_access_key'),
19416            secret_store_id=d.get('secret_store_id'),
19417            subdomain=d.get('subdomain'),
19418            tags=d.get('tags'),
19419        )
19420
19421
19422class NodeCreateResponse:
19423    '''
19424         NodeCreateResponse reports how the Nodes were created in the system.
19425    '''
19426    __slots__ = [
19427        'meta',
19428        'node',
19429        'rate_limit',
19430        'token',
19431    ]
19432
19433    def __init__(
19434        self,
19435        meta=None,
19436        node=None,
19437        rate_limit=None,
19438        token=None,
19439    ):
19440        self.meta = meta if meta is not None else None
19441        '''
19442         Reserved for future use.
19443        '''
19444        self.node = node if node is not None else None
19445        '''
19446         The created Node.
19447        '''
19448        self.rate_limit = rate_limit if rate_limit is not None else None
19449        '''
19450         Rate limit information.
19451        '''
19452        self.token = token if token is not None else ''
19453        '''
19454         The auth token generated for the Node. The Node will use this token to
19455         authenticate with the strongDM API.
19456        '''
19457
19458    def __repr__(self):
19459        return '<sdm.NodeCreateResponse ' + \
19460            'meta: ' + repr(self.meta) + ' ' +\
19461            'node: ' + repr(self.node) + ' ' +\
19462            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19463            'token: ' + repr(self.token) + ' ' +\
19464            '>'
19465
19466    def to_dict(self):
19467        return {
19468            'meta': self.meta,
19469            'node': self.node,
19470            'rate_limit': self.rate_limit,
19471            'token': self.token,
19472        }
19473
19474    @classmethod
19475    def from_dict(cls, d):
19476        return cls(
19477            meta=d.get('meta'),
19478            node=d.get('node'),
19479            rate_limit=d.get('rate_limit'),
19480            token=d.get('token'),
19481        )
19482
19483
19484class NodeDeleteResponse:
19485    '''
19486         NodeDeleteResponse returns information about a Node that was deleted.
19487    '''
19488    __slots__ = [
19489        'meta',
19490        'rate_limit',
19491    ]
19492
19493    def __init__(
19494        self,
19495        meta=None,
19496        rate_limit=None,
19497    ):
19498        self.meta = meta if meta is not None else None
19499        '''
19500         Reserved for future use.
19501        '''
19502        self.rate_limit = rate_limit if rate_limit is not None else None
19503        '''
19504         Rate limit information.
19505        '''
19506
19507    def __repr__(self):
19508        return '<sdm.NodeDeleteResponse ' + \
19509            'meta: ' + repr(self.meta) + ' ' +\
19510            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19511            '>'
19512
19513    def to_dict(self):
19514        return {
19515            'meta': self.meta,
19516            'rate_limit': self.rate_limit,
19517        }
19518
19519    @classmethod
19520    def from_dict(cls, d):
19521        return cls(
19522            meta=d.get('meta'),
19523            rate_limit=d.get('rate_limit'),
19524        )
19525
19526
19527class NodeGetResponse:
19528    '''
19529         NodeGetResponse returns a requested Node.
19530    '''
19531    __slots__ = [
19532        'meta',
19533        'node',
19534        'rate_limit',
19535    ]
19536
19537    def __init__(
19538        self,
19539        meta=None,
19540        node=None,
19541        rate_limit=None,
19542    ):
19543        self.meta = meta if meta is not None else None
19544        '''
19545         Reserved for future use.
19546        '''
19547        self.node = node if node is not None else None
19548        '''
19549         The requested Node.
19550        '''
19551        self.rate_limit = rate_limit if rate_limit is not None else None
19552        '''
19553         Rate limit information.
19554        '''
19555
19556    def __repr__(self):
19557        return '<sdm.NodeGetResponse ' + \
19558            'meta: ' + repr(self.meta) + ' ' +\
19559            'node: ' + repr(self.node) + ' ' +\
19560            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19561            '>'
19562
19563    def to_dict(self):
19564        return {
19565            'meta': self.meta,
19566            'node': self.node,
19567            'rate_limit': self.rate_limit,
19568        }
19569
19570    @classmethod
19571    def from_dict(cls, d):
19572        return cls(
19573            meta=d.get('meta'),
19574            node=d.get('node'),
19575            rate_limit=d.get('rate_limit'),
19576        )
19577
19578
19579class NodeHistory:
19580    '''
19581         NodeHistory records the state of a Node at a given point in time,
19582     where every change (create, update and delete) to a Node produces an
19583     NodeHistory record.
19584    '''
19585    __slots__ = [
19586        'activity_id',
19587        'deleted_at',
19588        'node',
19589        'timestamp',
19590    ]
19591
19592    def __init__(
19593        self,
19594        activity_id=None,
19595        deleted_at=None,
19596        node=None,
19597        timestamp=None,
19598    ):
19599        self.activity_id = activity_id if activity_id is not None else ''
19600        '''
19601         The unique identifier of the Activity that produced this change to the Node.
19602         May be empty for some system-initiated updates.
19603        '''
19604        self.deleted_at = deleted_at if deleted_at is not None else None
19605        '''
19606         If this Node was deleted, the time it was deleted.
19607        '''
19608        self.node = node if node is not None else None
19609        '''
19610         The complete Node state at this time.
19611        '''
19612        self.timestamp = timestamp if timestamp is not None else None
19613        '''
19614         The time at which the Node state was recorded.
19615        '''
19616
19617    def __repr__(self):
19618        return '<sdm.NodeHistory ' + \
19619            'activity_id: ' + repr(self.activity_id) + ' ' +\
19620            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
19621            'node: ' + repr(self.node) + ' ' +\
19622            'timestamp: ' + repr(self.timestamp) + ' ' +\
19623            '>'
19624
19625    def to_dict(self):
19626        return {
19627            'activity_id': self.activity_id,
19628            'deleted_at': self.deleted_at,
19629            'node': self.node,
19630            'timestamp': self.timestamp,
19631        }
19632
19633    @classmethod
19634    def from_dict(cls, d):
19635        return cls(
19636            activity_id=d.get('activity_id'),
19637            deleted_at=d.get('deleted_at'),
19638            node=d.get('node'),
19639            timestamp=d.get('timestamp'),
19640        )
19641
19642
19643class NodeMaintenanceWindow:
19644    __slots__ = [
19645        'cron_schedule',
19646        'require_idleness',
19647    ]
19648
19649    def __init__(
19650        self,
19651        cron_schedule=None,
19652        require_idleness=None,
19653    ):
19654        self.cron_schedule = cron_schedule if cron_schedule is not None else ''
19655        '''
19656         Cron job syntax for when this maintenance window is active. On this schedule, associated
19657         nodes will restart if requested, provided other checks allow the restart to proceed. Times
19658         are represented in UTC.
19659         e.g. * 7 * * 0,6 to check for a restart at every minute from 7:00 to 8:00 UTC on Sunday and
19660         Saturday. Not all possible inputs are supported: the month and day of month selections
19661         must be '*'.
19662        '''
19663        self.require_idleness = require_idleness if require_idleness is not None else False
19664        '''
19665         Require Idleness defines whether this window can sever live connections. If true,
19666         this window will not allow a node to be restarted unless it is serving no connections.
19667         If false, given a restart of the node has been requested (for an update, usually), the
19668         node will restart as soon as it enters an allowed day / hour combination. At least one
19669         maintenance window, out of all configured windows for a node, must have this as false.
19670        '''
19671
19672    def __repr__(self):
19673        return '<sdm.NodeMaintenanceWindow ' + \
19674            'cron_schedule: ' + repr(self.cron_schedule) + ' ' +\
19675            'require_idleness: ' + repr(self.require_idleness) + ' ' +\
19676            '>'
19677
19678    def to_dict(self):
19679        return {
19680            'cron_schedule': self.cron_schedule,
19681            'require_idleness': self.require_idleness,
19682        }
19683
19684    @classmethod
19685    def from_dict(cls, d):
19686        return cls(
19687            cron_schedule=d.get('cron_schedule'),
19688            require_idleness=d.get('require_idleness'),
19689        )
19690
19691
19692class NodeUpdateResponse:
19693    '''
19694         NodeUpdateResponse returns the fields of a Node after it has been updated by
19695     a NodeUpdateRequest.
19696    '''
19697    __slots__ = [
19698        'meta',
19699        'node',
19700        'rate_limit',
19701    ]
19702
19703    def __init__(
19704        self,
19705        meta=None,
19706        node=None,
19707        rate_limit=None,
19708    ):
19709        self.meta = meta if meta is not None else None
19710        '''
19711         Reserved for future use.
19712        '''
19713        self.node = node if node is not None else None
19714        '''
19715         The updated Node.
19716        '''
19717        self.rate_limit = rate_limit if rate_limit is not None else None
19718        '''
19719         Rate limit information.
19720        '''
19721
19722    def __repr__(self):
19723        return '<sdm.NodeUpdateResponse ' + \
19724            'meta: ' + repr(self.meta) + ' ' +\
19725            'node: ' + repr(self.node) + ' ' +\
19726            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19727            '>'
19728
19729    def to_dict(self):
19730        return {
19731            'meta': self.meta,
19732            'node': self.node,
19733            'rate_limit': self.rate_limit,
19734        }
19735
19736    @classmethod
19737    def from_dict(cls, d):
19738        return cls(
19739            meta=d.get('meta'),
19740            node=d.get('node'),
19741            rate_limit=d.get('rate_limit'),
19742        )
19743
19744
19745class Oracle:
19746    __slots__ = [
19747        'bind_interface',
19748        'database',
19749        'egress_filter',
19750        'healthy',
19751        'hostname',
19752        'id',
19753        'name',
19754        'password',
19755        'port',
19756        'port_override',
19757        'proxy_cluster_id',
19758        'secret_store_id',
19759        'subdomain',
19760        'tags',
19761        'tls_required',
19762        'username',
19763    ]
19764
19765    def __init__(
19766        self,
19767        bind_interface=None,
19768        database=None,
19769        egress_filter=None,
19770        healthy=None,
19771        hostname=None,
19772        id=None,
19773        name=None,
19774        password=None,
19775        port=None,
19776        port_override=None,
19777        proxy_cluster_id=None,
19778        secret_store_id=None,
19779        subdomain=None,
19780        tags=None,
19781        tls_required=None,
19782        username=None,
19783    ):
19784        self.bind_interface = bind_interface if bind_interface is not None else ''
19785        '''
19786         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19787        '''
19788        self.database = database if database is not None else ''
19789        '''
19790         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
19791        '''
19792        self.egress_filter = egress_filter if egress_filter is not None else ''
19793        '''
19794         A filter applied to the routing logic to pin datasource to nodes.
19795        '''
19796        self.healthy = healthy if healthy is not None else False
19797        '''
19798         True if the datasource is reachable and the credentials are valid.
19799        '''
19800        self.hostname = hostname if hostname is not None else ''
19801        '''
19802         The host to dial to initiate a connection from the egress node to this resource.
19803        '''
19804        self.id = id if id is not None else ''
19805        '''
19806         Unique identifier of the Resource.
19807        '''
19808        self.name = name if name is not None else ''
19809        '''
19810         Unique human-readable name of the Resource.
19811        '''
19812        self.password = password if password is not None else ''
19813        '''
19814         The password to authenticate with.
19815        '''
19816        self.port = port if port is not None else 0
19817        '''
19818         The port to dial to initiate a connection from the egress node to this resource.
19819        '''
19820        self.port_override = port_override if port_override is not None else 0
19821        '''
19822         The local port used by clients to connect to this resource.
19823        '''
19824        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19825        '''
19826         ID of the proxy cluster for this resource, if any.
19827        '''
19828        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19829        '''
19830         ID of the secret store containing credentials for this resource, if any.
19831        '''
19832        self.subdomain = subdomain if subdomain is not None else ''
19833        '''
19834         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19835        '''
19836        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19837        '''
19838         Tags is a map of key, value pairs.
19839        '''
19840        self.tls_required = tls_required if tls_required is not None else False
19841        '''
19842         If set, TLS must be used to connect to this resource.
19843        '''
19844        self.username = username if username is not None else ''
19845        '''
19846         The username to authenticate with.
19847        '''
19848
19849    def __repr__(self):
19850        return '<sdm.Oracle ' + \
19851            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19852            'database: ' + repr(self.database) + ' ' +\
19853            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19854            'healthy: ' + repr(self.healthy) + ' ' +\
19855            'hostname: ' + repr(self.hostname) + ' ' +\
19856            'id: ' + repr(self.id) + ' ' +\
19857            'name: ' + repr(self.name) + ' ' +\
19858            'password: ' + repr(self.password) + ' ' +\
19859            'port: ' + repr(self.port) + ' ' +\
19860            'port_override: ' + repr(self.port_override) + ' ' +\
19861            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19862            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19863            'subdomain: ' + repr(self.subdomain) + ' ' +\
19864            'tags: ' + repr(self.tags) + ' ' +\
19865            'tls_required: ' + repr(self.tls_required) + ' ' +\
19866            'username: ' + repr(self.username) + ' ' +\
19867            '>'
19868
19869    def to_dict(self):
19870        return {
19871            'bind_interface': self.bind_interface,
19872            'database': self.database,
19873            'egress_filter': self.egress_filter,
19874            'healthy': self.healthy,
19875            'hostname': self.hostname,
19876            'id': self.id,
19877            'name': self.name,
19878            'password': self.password,
19879            'port': self.port,
19880            'port_override': self.port_override,
19881            'proxy_cluster_id': self.proxy_cluster_id,
19882            'secret_store_id': self.secret_store_id,
19883            'subdomain': self.subdomain,
19884            'tags': self.tags,
19885            'tls_required': self.tls_required,
19886            'username': self.username,
19887        }
19888
19889    @classmethod
19890    def from_dict(cls, d):
19891        return cls(
19892            bind_interface=d.get('bind_interface'),
19893            database=d.get('database'),
19894            egress_filter=d.get('egress_filter'),
19895            healthy=d.get('healthy'),
19896            hostname=d.get('hostname'),
19897            id=d.get('id'),
19898            name=d.get('name'),
19899            password=d.get('password'),
19900            port=d.get('port'),
19901            port_override=d.get('port_override'),
19902            proxy_cluster_id=d.get('proxy_cluster_id'),
19903            secret_store_id=d.get('secret_store_id'),
19904            subdomain=d.get('subdomain'),
19905            tags=d.get('tags'),
19906            tls_required=d.get('tls_required'),
19907            username=d.get('username'),
19908        )
19909
19910
19911class OracleNNE:
19912    '''
19913    OracleNNE is currently unstable, and its API may change, or it may be removed,
19914    without a major version bump.
19915    '''
19916    __slots__ = [
19917        'bind_interface',
19918        'database',
19919        'egress_filter',
19920        'healthy',
19921        'hostname',
19922        'id',
19923        'name',
19924        'password',
19925        'port',
19926        'port_override',
19927        'proxy_cluster_id',
19928        'secret_store_id',
19929        'subdomain',
19930        'tags',
19931        'username',
19932    ]
19933
19934    def __init__(
19935        self,
19936        bind_interface=None,
19937        database=None,
19938        egress_filter=None,
19939        healthy=None,
19940        hostname=None,
19941        id=None,
19942        name=None,
19943        password=None,
19944        port=None,
19945        port_override=None,
19946        proxy_cluster_id=None,
19947        secret_store_id=None,
19948        subdomain=None,
19949        tags=None,
19950        username=None,
19951    ):
19952        self.bind_interface = bind_interface if bind_interface is not None else ''
19953        '''
19954         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19955        '''
19956        self.database = database if database is not None else ''
19957        '''
19958         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
19959        '''
19960        self.egress_filter = egress_filter if egress_filter is not None else ''
19961        '''
19962         A filter applied to the routing logic to pin datasource to nodes.
19963        '''
19964        self.healthy = healthy if healthy is not None else False
19965        '''
19966         True if the datasource is reachable and the credentials are valid.
19967        '''
19968        self.hostname = hostname if hostname is not None else ''
19969        '''
19970         The host to dial to initiate a connection from the egress node to this resource.
19971        '''
19972        self.id = id if id is not None else ''
19973        '''
19974         Unique identifier of the Resource.
19975        '''
19976        self.name = name if name is not None else ''
19977        '''
19978         Unique human-readable name of the Resource.
19979        '''
19980        self.password = password if password is not None else ''
19981        '''
19982         The password to authenticate with.
19983        '''
19984        self.port = port if port is not None else 0
19985        '''
19986         The port to dial to initiate a connection from the egress node to this resource.
19987        '''
19988        self.port_override = port_override if port_override is not None else 0
19989        '''
19990         The local port used by clients to connect to this resource.
19991        '''
19992        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19993        '''
19994         ID of the proxy cluster for this resource, if any.
19995        '''
19996        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19997        '''
19998         ID of the secret store containing credentials for this resource, if any.
19999        '''
20000        self.subdomain = subdomain if subdomain is not None else ''
20001        '''
20002         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
20003        '''
20004        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20005        '''
20006         Tags is a map of key, value pairs.
20007        '''
20008        self.username = username if username is not None else ''
20009        '''
20010         The username to authenticate with.
20011        '''
20012
20013    def __repr__(self):
20014        return '<sdm.OracleNNE ' + \
20015            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
20016            'database: ' + repr(self.database) + ' ' +\
20017            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
20018            'healthy: ' + repr(self.healthy) + ' ' +\
20019            'hostname: ' + repr(self.hostname) + ' ' +\
20020            'id: ' + repr(self.id) + ' ' +\
20021            'name: ' + repr(self.name) + ' ' +\
20022            'password: ' + repr(self.password) + ' ' +\
20023            'port: ' + repr(self.port) + ' ' +\
20024            'port_override: ' + repr(self.port_override) + ' ' +\
20025            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
20026            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
20027            'subdomain: ' + repr(self.subdomain) + ' ' +\
20028            'tags: ' + repr(self.tags) + ' ' +\
20029            'username: ' + repr(self.username) + ' ' +\
20030            '>'
20031
20032    def to_dict(self):
20033        return {
20034            'bind_interface': self.bind_interface,
20035            'database': self.database,
20036            'egress_filter': self.egress_filter,
20037            'healthy': self.healthy,
20038            'hostname': self.hostname,
20039            'id': self.id,
20040            'name': self.name,
20041            'password': self.password,
20042            'port': self.port,
20043            'port_override': self.port_override,
20044            'proxy_cluster_id': self.proxy_cluster_id,
20045            'secret_store_id': self.secret_store_id,
20046            'subdomain': self.subdomain,
20047            'tags': self.tags,
20048            'username': self.username,
20049        }
20050
20051    @classmethod
20052    def from_dict(cls, d):
20053        return cls(
20054            bind_interface=d.get('bind_interface'),
20055            database=d.get('database'),
20056            egress_filter=d.get('egress_filter'),
20057            healthy=d.get('healthy'),
20058            hostname=d.get('hostname'),
20059            id=d.get('id'),
20060            name=d.get('name'),
20061            password=d.get('password'),
20062            port=d.get('port'),
20063            port_override=d.get('port_override'),
20064            proxy_cluster_id=d.get('proxy_cluster_id'),
20065            secret_store_id=d.get('secret_store_id'),
20066            subdomain=d.get('subdomain'),
20067            tags=d.get('tags'),
20068            username=d.get('username'),
20069        )
20070
20071
20072class Organization:
20073    __slots__ = [
20074        'auth_provider',
20075        'created_at',
20076        'device_trust_enabled',
20077        'device_trust_provider',
20078        'enforce_single_session',
20079        'idle_timeout',
20080        'idle_timeout_enabled',
20081        'kind',
20082        'log_local_encoder',
20083        'log_local_format',
20084        'log_local_storage',
20085        'log_remote_encoder',
20086        'log_socket_path',
20087        'log_tcp_address',
20088        'loopback_range',
20089        'mfa_enabled',
20090        'mfa_provider',
20091        'name',
20092        'require_secret_store',
20093        'saml_metadata_url',
20094        'scim_provider',
20095        'sensitive_label',
20096        'session_timeout',
20097        'session_timeout_enabled',
20098        'ssh_certificate_authority_public_key',
20099        'ssh_certificate_authority_updated_at',
20100        'updated_at',
20101        'websites_subdomain',
20102    ]
20103
20104    def __init__(
20105        self,
20106        auth_provider=None,
20107        created_at=None,
20108        device_trust_enabled=None,
20109        device_trust_provider=None,
20110        enforce_single_session=None,
20111        idle_timeout=None,
20112        idle_timeout_enabled=None,
20113        kind=None,
20114        log_local_encoder=None,
20115        log_local_format=None,
20116        log_local_storage=None,
20117        log_remote_encoder=None,
20118        log_socket_path=None,
20119        log_tcp_address=None,
20120        loopback_range=None,
20121        mfa_enabled=None,
20122        mfa_provider=None,
20123        name=None,
20124        require_secret_store=None,
20125        saml_metadata_url=None,
20126        scim_provider=None,
20127        sensitive_label=None,
20128        session_timeout=None,
20129        session_timeout_enabled=None,
20130        ssh_certificate_authority_public_key=None,
20131        ssh_certificate_authority_updated_at=None,
20132        updated_at=None,
20133        websites_subdomain=None,
20134    ):
20135        self.auth_provider = auth_provider if auth_provider is not None else ''
20136        '''
20137         The Organization's authentication provider, one of the AuthProvider constants.
20138        '''
20139        self.created_at = created_at if created_at is not None else None
20140        '''
20141         The time at which the Organization was created.
20142        '''
20143        self.device_trust_enabled = device_trust_enabled if device_trust_enabled is not None else False
20144        '''
20145         Indicates if the Organization has device trust enabled.
20146        '''
20147        self.device_trust_provider = device_trust_provider if device_trust_provider is not None else ''
20148        '''
20149         The Organization's device trust provider, one of the DeviceTrustProvider constants.
20150        '''
20151        self.enforce_single_session = enforce_single_session if enforce_single_session is not None else False
20152        '''
20153         Indicates if the Organization enforces a single session per user for the CLI and AdminUI.
20154        '''
20155        self.idle_timeout = idle_timeout if idle_timeout is not None else None
20156        '''
20157         The Organization's idle timeout, if enabled.
20158        '''
20159        self.idle_timeout_enabled = idle_timeout_enabled if idle_timeout_enabled is not None else False
20160        '''
20161         Indicates if the Organization has idle timeouts enabled.
20162        '''
20163        self.kind = kind if kind is not None else ''
20164        '''
20165         The Organization's type, one of the OrgKind constants.
20166        '''
20167        self.log_local_encoder = log_local_encoder if log_local_encoder is not None else ''
20168        '''
20169         The Organization's local log encryption encoder, one of the LogLocalEncoder constants.
20170        '''
20171        self.log_local_format = log_local_format if log_local_format is not None else ''
20172        '''
20173         The Organization's local log format, one of the LogLocalFormat constants.
20174        '''
20175        self.log_local_storage = log_local_storage if log_local_storage is not None else ''
20176        '''
20177         The Organization's local log storage, one of the LogLocalStorage constants.
20178        '''
20179        self.log_remote_encoder = log_remote_encoder if log_remote_encoder is not None else ''
20180        '''
20181         The Organization's remote log encryption encoder, one of the LogRemoteEncoder constants.
20182        '''
20183        self.log_socket_path = log_socket_path if log_socket_path is not None else ''
20184        '''
20185         The Organization's socket path for Socket local log storage.
20186        '''
20187        self.log_tcp_address = log_tcp_address if log_tcp_address is not None else ''
20188        '''
20189         The Organization's TCP address for TCP or Syslog local log storage.
20190        '''
20191        self.loopback_range = loopback_range if loopback_range is not None else ''
20192        '''
20193         The Organization's loopback range.
20194        '''
20195        self.mfa_enabled = mfa_enabled if mfa_enabled is not None else False
20196        '''
20197         Indicates if the Organization has multi-factor authentication enabled.
20198        '''
20199        self.mfa_provider = mfa_provider if mfa_provider is not None else ''
20200        '''
20201         The Organization's multi-factor authentication provider, one of the MFAProvider constants.
20202        '''
20203        self.name = name if name is not None else ''
20204        '''
20205         The Organization's name.
20206        '''
20207        self.require_secret_store = require_secret_store if require_secret_store is not None else False
20208        '''
20209         Indicates if the Organization requires secret stores.
20210        '''
20211        self.saml_metadata_url = saml_metadata_url if saml_metadata_url is not None else ''
20212        '''
20213         The Organization's URL for SAML metadata.
20214        '''
20215        self.scim_provider = scim_provider if scim_provider is not None else ''
20216        '''
20217         The Organization's SCIM provider, one of the SCIMProvider constants.
20218        '''
20219        self.sensitive_label = sensitive_label if sensitive_label is not None else ''
20220        '''
20221         The Organization's label for sensitive resources.
20222        '''
20223        self.session_timeout = session_timeout if session_timeout is not None else None
20224        '''
20225         The Organization's session timeout, if enabled.
20226        '''
20227        self.session_timeout_enabled = session_timeout_enabled if session_timeout_enabled is not None else False
20228        '''
20229         Indicates if the Organization has session timeouts enabled.
20230        '''
20231        self.ssh_certificate_authority_public_key = ssh_certificate_authority_public_key if ssh_certificate_authority_public_key is not None else ''
20232        '''
20233         The Organization's SSH certificate authority public key.
20234        '''
20235        self.ssh_certificate_authority_updated_at = ssh_certificate_authority_updated_at if ssh_certificate_authority_updated_at is not None else None
20236        '''
20237         The time at which the Organization's SSH certificate authority was last updated.
20238        '''
20239        self.updated_at = updated_at if updated_at is not None else None
20240        '''
20241         The time at which the Organization was last updated.
20242        '''
20243        self.websites_subdomain = websites_subdomain if websites_subdomain is not None else ''
20244        '''
20245         The Organization's web site domain.
20246        '''
20247
20248    def __repr__(self):
20249        return '<sdm.Organization ' + \
20250            'auth_provider: ' + repr(self.auth_provider) + ' ' +\
20251            'created_at: ' + repr(self.created_at) + ' ' +\
20252            'device_trust_enabled: ' + repr(self.device_trust_enabled) + ' ' +\
20253            'device_trust_provider: ' + repr(self.device_trust_provider) + ' ' +\
20254            'enforce_single_session: ' + repr(self.enforce_single_session) + ' ' +\
20255            'idle_timeout: ' + repr(self.idle_timeout) + ' ' +\
20256            'idle_timeout_enabled: ' + repr(self.idle_timeout_enabled) + ' ' +\
20257            'kind: ' + repr(self.kind) + ' ' +\
20258            'log_local_encoder: ' + repr(self.log_local_encoder) + ' ' +\
20259            'log_local_format: ' + repr(self.log_local_format) + ' ' +\
20260            'log_local_storage: ' + repr(self.log_local_storage) + ' ' +\
20261            'log_remote_encoder: ' + repr(self.log_remote_encoder) + ' ' +\
20262            'log_socket_path: ' + repr(self.log_socket_path) + ' ' +\
20263            'log_tcp_address: ' + repr(self.log_tcp_address) + ' ' +\
20264            'loopback_range: ' + repr(self.loopback_range) + ' ' +\
20265            'mfa_enabled: ' + repr(self.mfa_enabled) + ' ' +\
20266            'mfa_provider: ' + repr(self.mfa_provider) + ' ' +\
20267            'name: ' + repr(self.name) + ' ' +\
20268            'require_secret_store: ' + repr(self.require_secret_store) + ' ' +\
20269            'saml_metadata_url: ' + repr(self.saml_metadata_url) + ' ' +\
20270            'scim_provider: ' + repr(self.scim_provider) + ' ' +\
20271            'sensitive_label: ' + repr(self.sensitive_label) + ' ' +\
20272            'session_timeout: ' + repr(self.session_timeout) + ' ' +\
20273            'session_timeout_enabled: ' + repr(self.session_timeout_enabled) + ' ' +\
20274            'ssh_certificate_authority_public_key: ' + repr(self.ssh_certificate_authority_public_key) + ' ' +\
20275            'ssh_certificate_authority_updated_at: ' + repr(self.ssh_certificate_authority_updated_at) + ' ' +\
20276            'updated_at: ' + repr(self.updated_at) + ' ' +\
20277            'websites_subdomain: ' + repr(self.websites_subdomain) + ' ' +\
20278            '>'
20279
20280    def to_dict(self):
20281        return {
20282            'auth_provider': self.auth_provider,
20283            'created_at': self.created_at,
20284            'device_trust_enabled': self.device_trust_enabled,
20285            'device_trust_provider': self.device_trust_provider,
20286            'enforce_single_session': self.enforce_single_session,
20287            'idle_timeout': self.idle_timeout,
20288            'idle_timeout_enabled': self.idle_timeout_enabled,
20289            'kind': self.kind,
20290            'log_local_encoder': self.log_local_encoder,
20291            'log_local_format': self.log_local_format,
20292            'log_local_storage': self.log_local_storage,
20293            'log_remote_encoder': self.log_remote_encoder,
20294            'log_socket_path': self.log_socket_path,
20295            'log_tcp_address': self.log_tcp_address,
20296            'loopback_range': self.loopback_range,
20297            'mfa_enabled': self.mfa_enabled,
20298            'mfa_provider': self.mfa_provider,
20299            'name': self.name,
20300            'require_secret_store': self.require_secret_store,
20301            'saml_metadata_url': self.saml_metadata_url,
20302            'scim_provider': self.scim_provider,
20303            'sensitive_label': self.sensitive_label,
20304            'session_timeout': self.session_timeout,
20305            'session_timeout_enabled': self.session_timeout_enabled,
20306            'ssh_certificate_authority_public_key':
20307            self.ssh_certificate_authority_public_key,
20308            'ssh_certificate_authority_updated_at':
20309            self.ssh_certificate_authority_updated_at,
20310            'updated_at': self.updated_at,
20311            'websites_subdomain': self.websites_subdomain,
20312        }
20313
20314    @classmethod
20315    def from_dict(cls, d):
20316        return cls(
20317            auth_provider=d.get('auth_provider'),
20318            created_at=d.get('created_at'),
20319            device_trust_enabled=d.get('device_trust_enabled'),
20320            device_trust_provider=d.get('device_trust_provider'),
20321            enforce_single_session=d.get('enforce_single_session'),
20322            idle_timeout=d.get('idle_timeout'),
20323            idle_timeout_enabled=d.get('idle_timeout_enabled'),
20324            kind=d.get('kind'),
20325            log_local_encoder=d.get('log_local_encoder'),
20326            log_local_format=d.get('log_local_format'),
20327            log_local_storage=d.get('log_local_storage'),
20328            log_remote_encoder=d.get('log_remote_encoder'),
20329            log_socket_path=d.get('log_socket_path'),
20330            log_tcp_address=d.get('log_tcp_address'),
20331            loopback_range=d.get('loopback_range'),
20332            mfa_enabled=d.get('mfa_enabled'),
20333            mfa_provider=d.get('mfa_provider'),
20334            name=d.get('name'),
20335            require_secret_store=d.get('require_secret_store'),
20336            saml_metadata_url=d.get('saml_metadata_url'),
20337            scim_provider=d.get('scim_provider'),
20338            sensitive_label=d.get('sensitive_label'),
20339            session_timeout=d.get('session_timeout'),
20340            session_timeout_enabled=d.get('session_timeout_enabled'),
20341            ssh_certificate_authority_public_key=d.get(
20342                'ssh_certificate_authority_public_key'),
20343            ssh_certificate_authority_updated_at=d.get(
20344                'ssh_certificate_authority_updated_at'),
20345            updated_at=d.get('updated_at'),
20346            websites_subdomain=d.get('websites_subdomain'),
20347        )
20348
20349
20350class OrganizationHistoryRecord:
20351    '''
20352         OrganizationHistoryRecord records the state of an Organization at a given point in time,
20353     where every change to an Organization produces an OrganizationHistoryRecord.
20354    '''
20355    __slots__ = [
20356        'activity_id',
20357        'organization',
20358        'timestamp',
20359    ]
20360
20361    def __init__(
20362        self,
20363        activity_id=None,
20364        organization=None,
20365        timestamp=None,
20366    ):
20367        self.activity_id = activity_id if activity_id is not None else ''
20368        '''
20369         The unique identifier of the Activity that produced this change to the Organization.
20370         May be empty for some system-initiated organization updates.
20371        '''
20372        self.organization = organization if organization is not None else None
20373        '''
20374         The complete Organization state at this time.
20375        '''
20376        self.timestamp = timestamp if timestamp is not None else None
20377        '''
20378         The time at which the Organization state was recorded.
20379        '''
20380
20381    def __repr__(self):
20382        return '<sdm.OrganizationHistoryRecord ' + \
20383            'activity_id: ' + repr(self.activity_id) + ' ' +\
20384            'organization: ' + repr(self.organization) + ' ' +\
20385            'timestamp: ' + repr(self.timestamp) + ' ' +\
20386            '>'
20387
20388    def to_dict(self):
20389        return {
20390            'activity_id': self.activity_id,
20391            'organization': self.organization,
20392            'timestamp': self.timestamp,
20393        }
20394
20395    @classmethod
20396    def from_dict(cls, d):
20397        return cls(
20398            activity_id=d.get('activity_id'),
20399            organization=d.get('organization'),
20400            timestamp=d.get('timestamp'),
20401        )
20402
20403
20404class PeeringGroup:
20405    '''
20406         PeeringGroups are the building blocks used for explicit network topology making.
20407     They may be linked to other peering groups. Sets of PeeringGroupResource and PeeringGroupNode can be attached to a peering group.
20408    '''
20409    __slots__ = [
20410        'id',
20411        'name',
20412    ]
20413
20414    def __init__(
20415        self,
20416        id=None,
20417        name=None,
20418    ):
20419        self.id = id if id is not None else ''
20420        '''
20421         Unique identifier of the PeeringGroup.
20422        '''
20423        self.name = name if name is not None else ''
20424        '''
20425         Unique human-readable name of the PeeringGroup.
20426        '''
20427
20428    def __repr__(self):
20429        return '<sdm.PeeringGroup ' + \
20430            'id: ' + repr(self.id) + ' ' +\
20431            'name: ' + repr(self.name) + ' ' +\
20432            '>'
20433
20434    def to_dict(self):
20435        return {
20436            'id': self.id,
20437            'name': self.name,
20438        }
20439
20440    @classmethod
20441    def from_dict(cls, d):
20442        return cls(
20443            id=d.get('id'),
20444            name=d.get('name'),
20445        )
20446
20447
20448class PeeringGroupCreateResponse:
20449    '''
20450         PeeringGroupCreateResponse reports how the PeeringGroup was created in the system.
20451    '''
20452    __slots__ = [
20453        'meta',
20454        'peering_group',
20455        'rate_limit',
20456    ]
20457
20458    def __init__(
20459        self,
20460        meta=None,
20461        peering_group=None,
20462        rate_limit=None,
20463    ):
20464        self.meta = meta if meta is not None else None
20465        '''
20466         Reserved for future use.
20467        '''
20468        self.peering_group = peering_group if peering_group is not None else None
20469        '''
20470         The created PeeringGroup.
20471        '''
20472        self.rate_limit = rate_limit if rate_limit is not None else None
20473        '''
20474         Rate limit information.
20475        '''
20476
20477    def __repr__(self):
20478        return '<sdm.PeeringGroupCreateResponse ' + \
20479            'meta: ' + repr(self.meta) + ' ' +\
20480            'peering_group: ' + repr(self.peering_group) + ' ' +\
20481            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20482            '>'
20483
20484    def to_dict(self):
20485        return {
20486            'meta': self.meta,
20487            'peering_group': self.peering_group,
20488            'rate_limit': self.rate_limit,
20489        }
20490
20491    @classmethod
20492    def from_dict(cls, d):
20493        return cls(
20494            meta=d.get('meta'),
20495            peering_group=d.get('peering_group'),
20496            rate_limit=d.get('rate_limit'),
20497        )
20498
20499
20500class PeeringGroupDeleteResponse:
20501    '''
20502         PeeringGroupDeleteResponse returns information about a PeeringGroup that was deleted.
20503    '''
20504    __slots__ = [
20505        'meta',
20506        'rate_limit',
20507    ]
20508
20509    def __init__(
20510        self,
20511        meta=None,
20512        rate_limit=None,
20513    ):
20514        self.meta = meta if meta is not None else None
20515        '''
20516         Reserved for future use.
20517        '''
20518        self.rate_limit = rate_limit if rate_limit is not None else None
20519        '''
20520         Rate limit information.
20521        '''
20522
20523    def __repr__(self):
20524        return '<sdm.PeeringGroupDeleteResponse ' + \
20525            'meta: ' + repr(self.meta) + ' ' +\
20526            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20527            '>'
20528
20529    def to_dict(self):
20530        return {
20531            'meta': self.meta,
20532            'rate_limit': self.rate_limit,
20533        }
20534
20535    @classmethod
20536    def from_dict(cls, d):
20537        return cls(
20538            meta=d.get('meta'),
20539            rate_limit=d.get('rate_limit'),
20540        )
20541
20542
20543class PeeringGroupGetResponse:
20544    '''
20545         PeeringGroupGetResponse returns a requested PeeringGroup.
20546    '''
20547    __slots__ = [
20548        'meta',
20549        'peering_group',
20550        'rate_limit',
20551    ]
20552
20553    def __init__(
20554        self,
20555        meta=None,
20556        peering_group=None,
20557        rate_limit=None,
20558    ):
20559        self.meta = meta if meta is not None else None
20560        '''
20561         Reserved for future use.
20562        '''
20563        self.peering_group = peering_group if peering_group is not None else None
20564        '''
20565         The requested PeeringGroup.
20566        '''
20567        self.rate_limit = rate_limit if rate_limit is not None else None
20568        '''
20569         Rate limit information.
20570        '''
20571
20572    def __repr__(self):
20573        return '<sdm.PeeringGroupGetResponse ' + \
20574            'meta: ' + repr(self.meta) + ' ' +\
20575            'peering_group: ' + repr(self.peering_group) + ' ' +\
20576            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20577            '>'
20578
20579    def to_dict(self):
20580        return {
20581            'meta': self.meta,
20582            'peering_group': self.peering_group,
20583            'rate_limit': self.rate_limit,
20584        }
20585
20586    @classmethod
20587    def from_dict(cls, d):
20588        return cls(
20589            meta=d.get('meta'),
20590            peering_group=d.get('peering_group'),
20591            rate_limit=d.get('rate_limit'),
20592        )
20593
20594
20595class PeeringGroupNode:
20596    '''
20597         PeeringGroupNode represents the attachment between a PeeringGroup and a Node.
20598    '''
20599    __slots__ = [
20600        'group_id',
20601        'id',
20602        'node_id',
20603    ]
20604
20605    def __init__(
20606        self,
20607        group_id=None,
20608        id=None,
20609        node_id=None,
20610    ):
20611        self.group_id = group_id if group_id is not None else ''
20612        '''
20613         Peering Group ID to which the node will be attached to.
20614        '''
20615        self.id = id if id is not None else ''
20616        '''
20617         Unique identifier of the Attachment.
20618        '''
20619        self.node_id = node_id if node_id is not None else ''
20620        '''
20621         Node ID to be attached.
20622        '''
20623
20624    def __repr__(self):
20625        return '<sdm.PeeringGroupNode ' + \
20626            'group_id: ' + repr(self.group_id) + ' ' +\
20627            'id: ' + repr(self.id) + ' ' +\
20628            'node_id: ' + repr(self.node_id) + ' ' +\
20629            '>'
20630
20631    def to_dict(self):
20632        return {
20633            'group_id': self.group_id,
20634            'id': self.id,
20635            'node_id': self.node_id,
20636        }
20637
20638    @classmethod
20639    def from_dict(cls, d):
20640        return cls(
20641            group_id=d.get('group_id'),
20642            id=d.get('id'),
20643            node_id=d.get('node_id'),
20644        )
20645
20646
20647class PeeringGroupNodeCreateResponse:
20648    '''
20649         PeeringGroupNodeCreateResponse reports how the PeeringGroupNode was created in the system.
20650    '''
20651    __slots__ = [
20652        'meta',
20653        'peering_group_node',
20654        'rate_limit',
20655    ]
20656
20657    def __init__(
20658        self,
20659        meta=None,
20660        peering_group_node=None,
20661        rate_limit=None,
20662    ):
20663        self.meta = meta if meta is not None else None
20664        '''
20665         Reserved for future use.
20666        '''
20667        self.peering_group_node = peering_group_node if peering_group_node is not None else None
20668        '''
20669         The created PeeringGroupNode.
20670        '''
20671        self.rate_limit = rate_limit if rate_limit is not None else None
20672        '''
20673         Rate limit information.
20674        '''
20675
20676    def __repr__(self):
20677        return '<sdm.PeeringGroupNodeCreateResponse ' + \
20678            'meta: ' + repr(self.meta) + ' ' +\
20679            'peering_group_node: ' + repr(self.peering_group_node) + ' ' +\
20680            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20681            '>'
20682
20683    def to_dict(self):
20684        return {
20685            'meta': self.meta,
20686            'peering_group_node': self.peering_group_node,
20687            'rate_limit': self.rate_limit,
20688        }
20689
20690    @classmethod
20691    def from_dict(cls, d):
20692        return cls(
20693            meta=d.get('meta'),
20694            peering_group_node=d.get('peering_group_node'),
20695            rate_limit=d.get('rate_limit'),
20696        )
20697
20698
20699class PeeringGroupNodeDeleteResponse:
20700    '''
20701         PeeringGroupNodeDeleteResponse returns information about a PeeringGroupNode that was deleted.
20702    '''
20703    __slots__ = [
20704        'meta',
20705        'rate_limit',
20706    ]
20707
20708    def __init__(
20709        self,
20710        meta=None,
20711        rate_limit=None,
20712    ):
20713        self.meta = meta if meta is not None else None
20714        '''
20715         Reserved for future use.
20716        '''
20717        self.rate_limit = rate_limit if rate_limit is not None else None
20718        '''
20719         Rate limit information.
20720        '''
20721
20722    def __repr__(self):
20723        return '<sdm.PeeringGroupNodeDeleteResponse ' + \
20724            'meta: ' + repr(self.meta) + ' ' +\
20725            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20726            '>'
20727
20728    def to_dict(self):
20729        return {
20730            'meta': self.meta,
20731            'rate_limit': self.rate_limit,
20732        }
20733
20734    @classmethod
20735    def from_dict(cls, d):
20736        return cls(
20737            meta=d.get('meta'),
20738            rate_limit=d.get('rate_limit'),
20739        )
20740
20741
20742class PeeringGroupNodeGetResponse:
20743    '''
20744         PeeringGroupNodeGetResponse returns a requested PeeringGroupNode.
20745    '''
20746    __slots__ = [
20747        'meta',
20748        'peering_group_node',
20749        'rate_limit',
20750    ]
20751
20752    def __init__(
20753        self,
20754        meta=None,
20755        peering_group_node=None,
20756        rate_limit=None,
20757    ):
20758        self.meta = meta if meta is not None else None
20759        '''
20760         Reserved for future use.
20761        '''
20762        self.peering_group_node = peering_group_node if peering_group_node is not None else None
20763        '''
20764         The requested PeeringGroupNode.
20765        '''
20766        self.rate_limit = rate_limit if rate_limit is not None else None
20767        '''
20768         Rate limit information.
20769        '''
20770
20771    def __repr__(self):
20772        return '<sdm.PeeringGroupNodeGetResponse ' + \
20773            'meta: ' + repr(self.meta) + ' ' +\
20774            'peering_group_node: ' + repr(self.peering_group_node) + ' ' +\
20775            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20776            '>'
20777
20778    def to_dict(self):
20779        return {
20780            'meta': self.meta,
20781            'peering_group_node': self.peering_group_node,
20782            'rate_limit': self.rate_limit,
20783        }
20784
20785    @classmethod
20786    def from_dict(cls, d):
20787        return cls(
20788            meta=d.get('meta'),
20789            peering_group_node=d.get('peering_group_node'),
20790            rate_limit=d.get('rate_limit'),
20791        )
20792
20793
20794class PeeringGroupPeer:
20795    '''
20796         PeeringGroupPeer represents the link between two PeeringGroups
20797    '''
20798    __slots__ = [
20799        'group_id',
20800        'id',
20801        'peers_with_group_id',
20802    ]
20803
20804    def __init__(
20805        self,
20806        group_id=None,
20807        id=None,
20808        peers_with_group_id=None,
20809    ):
20810        self.group_id = group_id if group_id is not None else ''
20811        '''
20812         Group ID from which the link will originate.
20813        '''
20814        self.id = id if id is not None else ''
20815        '''
20816         Unique identifier of the Attachment.
20817        '''
20818        self.peers_with_group_id = peers_with_group_id if peers_with_group_id is not None else ''
20819        '''
20820         Peering Group ID to which Group ID will link.
20821        '''
20822
20823    def __repr__(self):
20824        return '<sdm.PeeringGroupPeer ' + \
20825            'group_id: ' + repr(self.group_id) + ' ' +\
20826            'id: ' + repr(self.id) + ' ' +\
20827            'peers_with_group_id: ' + repr(self.peers_with_group_id) + ' ' +\
20828            '>'
20829
20830    def to_dict(self):
20831        return {
20832            'group_id': self.group_id,
20833            'id': self.id,
20834            'peers_with_group_id': self.peers_with_group_id,
20835        }
20836
20837    @classmethod
20838    def from_dict(cls, d):
20839        return cls(
20840            group_id=d.get('group_id'),
20841            id=d.get('id'),
20842            peers_with_group_id=d.get('peers_with_group_id'),
20843        )
20844
20845
20846class PeeringGroupPeerCreateResponse:
20847    '''
20848         PeeringGroupPeerCreateResponse reports how the PeeringGroupPeer was created in the system.
20849    '''
20850    __slots__ = [
20851        'meta',
20852        'peering_group_peer',
20853        'rate_limit',
20854    ]
20855
20856    def __init__(
20857        self,
20858        meta=None,
20859        peering_group_peer=None,
20860        rate_limit=None,
20861    ):
20862        self.meta = meta if meta is not None else None
20863        '''
20864         Reserved for future use.
20865        '''
20866        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
20867        '''
20868         The created PeeringGroupPeer.
20869        '''
20870        self.rate_limit = rate_limit if rate_limit is not None else None
20871        '''
20872         Rate limit information.
20873        '''
20874
20875    def __repr__(self):
20876        return '<sdm.PeeringGroupPeerCreateResponse ' + \
20877            'meta: ' + repr(self.meta) + ' ' +\
20878            'peering_group_peer: ' + repr(self.peering_group_peer) + ' ' +\
20879            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20880            '>'
20881
20882    def to_dict(self):
20883        return {
20884            'meta': self.meta,
20885            'peering_group_peer': self.peering_group_peer,
20886            'rate_limit': self.rate_limit,
20887        }
20888
20889    @classmethod
20890    def from_dict(cls, d):
20891        return cls(
20892            meta=d.get('meta'),
20893            peering_group_peer=d.get('peering_group_peer'),
20894            rate_limit=d.get('rate_limit'),
20895        )
20896
20897
20898class PeeringGroupPeerDeleteResponse:
20899    '''
20900         PeeringGroupPeerDeleteResponse returns information about a PeeringGroupPeer that was deleted.
20901    '''
20902    __slots__ = [
20903        'meta',
20904        'rate_limit',
20905    ]
20906
20907    def __init__(
20908        self,
20909        meta=None,
20910        rate_limit=None,
20911    ):
20912        self.meta = meta if meta is not None else None
20913        '''
20914         Reserved for future use.
20915        '''
20916        self.rate_limit = rate_limit if rate_limit is not None else None
20917        '''
20918         Rate limit information.
20919        '''
20920
20921    def __repr__(self):
20922        return '<sdm.PeeringGroupPeerDeleteResponse ' + \
20923            'meta: ' + repr(self.meta) + ' ' +\
20924            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20925            '>'
20926
20927    def to_dict(self):
20928        return {
20929            'meta': self.meta,
20930            'rate_limit': self.rate_limit,
20931        }
20932
20933    @classmethod
20934    def from_dict(cls, d):
20935        return cls(
20936            meta=d.get('meta'),
20937            rate_limit=d.get('rate_limit'),
20938        )
20939
20940
20941class PeeringGroupPeerGetResponse:
20942    '''
20943         PeeringGroupPeerGetResponse returns a requested PeeringGroupPeer.
20944    '''
20945    __slots__ = [
20946        'meta',
20947        'peering_group_peer',
20948        'rate_limit',
20949    ]
20950
20951    def __init__(
20952        self,
20953        meta=None,
20954        peering_group_peer=None,
20955        rate_limit=None,
20956    ):
20957        self.meta = meta if meta is not None else None
20958        '''
20959         Reserved for future use.
20960        '''
20961        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
20962        '''
20963         The requested PeeringGroupPeer.
20964        '''
20965        self.rate_limit = rate_limit if rate_limit is not None else None
20966        '''
20967         Rate limit information.
20968        '''
20969
20970    def __repr__(self):
20971        return '<sdm.PeeringGroupPeerGetResponse ' + \
20972            'meta: ' + repr(self.meta) + ' ' +\
20973            'peering_group_peer: ' + repr(self.peering_group_peer) + ' ' +\
20974            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20975            '>'
20976
20977    def to_dict(self):
20978        return {
20979            'meta': self.meta,
20980            'peering_group_peer': self.peering_group_peer,
20981            'rate_limit': self.rate_limit,
20982        }
20983
20984    @classmethod
20985    def from_dict(cls, d):
20986        return cls(
20987            meta=d.get('meta'),
20988            peering_group_peer=d.get('peering_group_peer'),
20989            rate_limit=d.get('rate_limit'),
20990        )
20991
20992
20993class PeeringGroupResource:
20994    '''
20995         PeeringGroupResource represents the attachment between a PeeringGroup and a Resource.
20996    '''
20997    __slots__ = [
20998        'group_id',
20999        'id',
21000        'resource_id',
21001    ]
21002
21003    def __init__(
21004        self,
21005        group_id=None,
21006        id=None,
21007        resource_id=None,
21008    ):
21009        self.group_id = group_id if group_id is not None else ''
21010        '''
21011         Peering Group ID to which the resource will be attached to.
21012        '''
21013        self.id = id if id is not None else ''
21014        '''
21015         Unique identifier of the Attachment.
21016        '''
21017        self.resource_id = resource_id if resource_id is not None else ''
21018        '''
21019         Resource ID to be attached.
21020        '''
21021
21022    def __repr__(self):
21023        return '<sdm.PeeringGroupResource ' + \
21024            'group_id: ' + repr(self.group_id) + ' ' +\
21025            'id: ' + repr(self.id) + ' ' +\
21026            'resource_id: ' + repr(self.resource_id) + ' ' +\
21027            '>'
21028
21029    def to_dict(self):
21030        return {
21031            'group_id': self.group_id,
21032            'id': self.id,
21033            'resource_id': self.resource_id,
21034        }
21035
21036    @classmethod
21037    def from_dict(cls, d):
21038        return cls(
21039            group_id=d.get('group_id'),
21040            id=d.get('id'),
21041            resource_id=d.get('resource_id'),
21042        )
21043
21044
21045class PeeringGroupResourceCreateResponse:
21046    '''
21047         PeeringGroupResourceCreateResponse reports how the attachment was created in the system.
21048    '''
21049    __slots__ = [
21050        'meta',
21051        'peering_group_resource',
21052        'rate_limit',
21053    ]
21054
21055    def __init__(
21056        self,
21057        meta=None,
21058        peering_group_resource=None,
21059        rate_limit=None,
21060    ):
21061        self.meta = meta if meta is not None else None
21062        '''
21063         Reserved for future use.
21064        '''
21065        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
21066        '''
21067         The created PeeringGroupResource.
21068        '''
21069        self.rate_limit = rate_limit if rate_limit is not None else None
21070        '''
21071         Rate limit information.
21072        '''
21073
21074    def __repr__(self):
21075        return '<sdm.PeeringGroupResourceCreateResponse ' + \
21076            'meta: ' + repr(self.meta) + ' ' +\
21077            'peering_group_resource: ' + repr(self.peering_group_resource) + ' ' +\
21078            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21079            '>'
21080
21081    def to_dict(self):
21082        return {
21083            'meta': self.meta,
21084            'peering_group_resource': self.peering_group_resource,
21085            'rate_limit': self.rate_limit,
21086        }
21087
21088    @classmethod
21089    def from_dict(cls, d):
21090        return cls(
21091            meta=d.get('meta'),
21092            peering_group_resource=d.get('peering_group_resource'),
21093            rate_limit=d.get('rate_limit'),
21094        )
21095
21096
21097class PeeringGroupResourceDeleteResponse:
21098    '''
21099         PeeringGroupResourceDeleteResponse returns information about a PeeringGroupResource that was deleted.
21100    '''
21101    __slots__ = [
21102        'meta',
21103        'rate_limit',
21104    ]
21105
21106    def __init__(
21107        self,
21108        meta=None,
21109        rate_limit=None,
21110    ):
21111        self.meta = meta if meta is not None else None
21112        '''
21113         Reserved for future use.
21114        '''
21115        self.rate_limit = rate_limit if rate_limit is not None else None
21116        '''
21117         Rate limit information.
21118        '''
21119
21120    def __repr__(self):
21121        return '<sdm.PeeringGroupResourceDeleteResponse ' + \
21122            'meta: ' + repr(self.meta) + ' ' +\
21123            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21124            '>'
21125
21126    def to_dict(self):
21127        return {
21128            'meta': self.meta,
21129            'rate_limit': self.rate_limit,
21130        }
21131
21132    @classmethod
21133    def from_dict(cls, d):
21134        return cls(
21135            meta=d.get('meta'),
21136            rate_limit=d.get('rate_limit'),
21137        )
21138
21139
21140class PeeringGroupResourceGetResponse:
21141    '''
21142         PeeringGroupResourceGetResponse returns a requested PeeringGroupResource.
21143    '''
21144    __slots__ = [
21145        'meta',
21146        'peering_group_resource',
21147        'rate_limit',
21148    ]
21149
21150    def __init__(
21151        self,
21152        meta=None,
21153        peering_group_resource=None,
21154        rate_limit=None,
21155    ):
21156        self.meta = meta if meta is not None else None
21157        '''
21158         Reserved for future use.
21159        '''
21160        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
21161        '''
21162         The requested PeeringGroupResource.
21163        '''
21164        self.rate_limit = rate_limit if rate_limit is not None else None
21165        '''
21166         Rate limit information.
21167        '''
21168
21169    def __repr__(self):
21170        return '<sdm.PeeringGroupResourceGetResponse ' + \
21171            'meta: ' + repr(self.meta) + ' ' +\
21172            'peering_group_resource: ' + repr(self.peering_group_resource) + ' ' +\
21173            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21174            '>'
21175
21176    def to_dict(self):
21177        return {
21178            'meta': self.meta,
21179            'peering_group_resource': self.peering_group_resource,
21180            'rate_limit': self.rate_limit,
21181        }
21182
21183    @classmethod
21184    def from_dict(cls, d):
21185        return cls(
21186            meta=d.get('meta'),
21187            peering_group_resource=d.get('peering_group_resource'),
21188            rate_limit=d.get('rate_limit'),
21189        )
21190
21191
21192class Policy:
21193    '''
21194         Policy is a collection of one or more statements that enforce fine-grained access control
21195     for the users of an organization.
21196    '''
21197    __slots__ = [
21198        'description',
21199        'id',
21200        'name',
21201        'policy',
21202    ]
21203
21204    def __init__(
21205        self,
21206        description=None,
21207        id=None,
21208        name=None,
21209        policy=None,
21210    ):
21211        self.description = description if description is not None else ''
21212        '''
21213         Optional description of the Policy.
21214        '''
21215        self.id = id if id is not None else ''
21216        '''
21217         Unique identifier of the Policy.
21218        '''
21219        self.name = name if name is not None else ''
21220        '''
21221         Unique human-readable name of the Policy.
21222        '''
21223        self.policy = policy if policy is not None else ''
21224        '''
21225         The content of the Policy, in Cedar policy language.
21226        '''
21227
21228    def __repr__(self):
21229        return '<sdm.Policy ' + \
21230            'description: ' + repr(self.description) + ' ' +\
21231            'id: ' + repr(self.id) + ' ' +\
21232            'name: ' + repr(self.name) + ' ' +\
21233            'policy: ' + repr(self.policy) + ' ' +\
21234            '>'
21235
21236    def to_dict(self):
21237        return {
21238            'description': self.description,
21239            'id': self.id,
21240            'name': self.name,
21241            'policy': self.policy,
21242        }
21243
21244    @classmethod
21245    def from_dict(cls, d):
21246        return cls(
21247            description=d.get('description'),
21248            id=d.get('id'),
21249            name=d.get('name'),
21250            policy=d.get('policy'),
21251        )
21252
21253
21254class PolicyCreateResponse:
21255    '''
21256         PolicyCreateResponse reports how the Policy was created in the system.
21257    '''
21258    __slots__ = [
21259        'policy',
21260        'rate_limit',
21261    ]
21262
21263    def __init__(
21264        self,
21265        policy=None,
21266        rate_limit=None,
21267    ):
21268        self.policy = policy if policy is not None else None
21269        '''
21270         The created Policy.
21271        '''
21272        self.rate_limit = rate_limit if rate_limit is not None else None
21273        '''
21274         Rate limit information.
21275        '''
21276
21277    def __repr__(self):
21278        return '<sdm.PolicyCreateResponse ' + \
21279            'policy: ' + repr(self.policy) + ' ' +\
21280            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21281            '>'
21282
21283    def to_dict(self):
21284        return {
21285            'policy': self.policy,
21286            'rate_limit': self.rate_limit,
21287        }
21288
21289    @classmethod
21290    def from_dict(cls, d):
21291        return cls(
21292            policy=d.get('policy'),
21293            rate_limit=d.get('rate_limit'),
21294        )
21295
21296
21297class PolicyDeleteResponse:
21298    '''
21299         PolicyDeleteResponse returns information about a Policy that was deleted.
21300    '''
21301    __slots__ = [
21302        'rate_limit',
21303    ]
21304
21305    def __init__(
21306        self,
21307        rate_limit=None,
21308    ):
21309        self.rate_limit = rate_limit if rate_limit is not None else None
21310        '''
21311         Rate limit information.
21312        '''
21313
21314    def __repr__(self):
21315        return '<sdm.PolicyDeleteResponse ' + \
21316            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21317            '>'
21318
21319    def to_dict(self):
21320        return {
21321            'rate_limit': self.rate_limit,
21322        }
21323
21324    @classmethod
21325    def from_dict(cls, d):
21326        return cls(rate_limit=d.get('rate_limit'), )
21327
21328
21329class PolicyGetResponse:
21330    '''
21331         PolicyGetResponse returns a requested Policy.
21332    '''
21333    __slots__ = [
21334        'meta',
21335        'policy',
21336        'rate_limit',
21337    ]
21338
21339    def __init__(
21340        self,
21341        meta=None,
21342        policy=None,
21343        rate_limit=None,
21344    ):
21345        self.meta = meta if meta is not None else None
21346        '''
21347         Reserved for future use.
21348        '''
21349        self.policy = policy if policy is not None else None
21350        '''
21351         The requested Policy.
21352        '''
21353        self.rate_limit = rate_limit if rate_limit is not None else None
21354        '''
21355         Rate limit information.
21356        '''
21357
21358    def __repr__(self):
21359        return '<sdm.PolicyGetResponse ' + \
21360            'meta: ' + repr(self.meta) + ' ' +\
21361            'policy: ' + repr(self.policy) + ' ' +\
21362            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21363            '>'
21364
21365    def to_dict(self):
21366        return {
21367            'meta': self.meta,
21368            'policy': self.policy,
21369            'rate_limit': self.rate_limit,
21370        }
21371
21372    @classmethod
21373    def from_dict(cls, d):
21374        return cls(
21375            meta=d.get('meta'),
21376            policy=d.get('policy'),
21377            rate_limit=d.get('rate_limit'),
21378        )
21379
21380
21381class PolicyHistory:
21382    '''
21383         PolicyHistory records the state of a Policy at a given point in time,
21384     where every change (create, update and delete) to a Policy produces a
21385     PolicyHistory record.
21386    '''
21387    __slots__ = [
21388        'activity_id',
21389        'deleted_at',
21390        'policy',
21391        'timestamp',
21392    ]
21393
21394    def __init__(
21395        self,
21396        activity_id=None,
21397        deleted_at=None,
21398        policy=None,
21399        timestamp=None,
21400    ):
21401        self.activity_id = activity_id if activity_id is not None else ''
21402        '''
21403         The unique identifier of the Activity that produced this change to the Policy.
21404         May be empty for some system-initiated updates.
21405        '''
21406        self.deleted_at = deleted_at if deleted_at is not None else None
21407        '''
21408         If this Policy was deleted, the time it was deleted.
21409        '''
21410        self.policy = policy if policy is not None else None
21411        '''
21412         The complete Policy state at this time.
21413        '''
21414        self.timestamp = timestamp if timestamp is not None else None
21415        '''
21416         The time at which the Policy state was recorded.
21417        '''
21418
21419    def __repr__(self):
21420        return '<sdm.PolicyHistory ' + \
21421            'activity_id: ' + repr(self.activity_id) + ' ' +\
21422            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
21423            'policy: ' + repr(self.policy) + ' ' +\
21424            'timestamp: ' + repr(self.timestamp) + ' ' +\
21425            '>'
21426
21427    def to_dict(self):
21428        return {
21429            'activity_id': self.activity_id,
21430            'deleted_at': self.deleted_at,
21431            'policy': self.policy,
21432            'timestamp': self.timestamp,
21433        }
21434
21435    @classmethod
21436    def from_dict(cls, d):
21437        return cls(
21438            activity_id=d.get('activity_id'),
21439            deleted_at=d.get('deleted_at'),
21440            policy=d.get('policy'),
21441            timestamp=d.get('timestamp'),
21442        )
21443
21444
21445class PolicyListResponse:
21446    '''
21447         PolicyListResponse returns a list of Policy records that meet
21448     the criteria of a PolicyListRequest.
21449    '''
21450    __slots__ = [
21451        'rate_limit',
21452    ]
21453
21454    def __init__(
21455        self,
21456        rate_limit=None,
21457    ):
21458        self.rate_limit = rate_limit if rate_limit is not None else None
21459        '''
21460         Rate limit information.
21461        '''
21462
21463    def __repr__(self):
21464        return '<sdm.PolicyListResponse ' + \
21465            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21466            '>'
21467
21468    def to_dict(self):
21469        return {
21470            'rate_limit': self.rate_limit,
21471        }
21472
21473    @classmethod
21474    def from_dict(cls, d):
21475        return cls(rate_limit=d.get('rate_limit'), )
21476
21477
21478class PolicyUpdateResponse:
21479    '''
21480         PolicyUpdateResponse returns the fields of a Policy after it has been updated by
21481     a PolicyUpdateRequest.
21482    '''
21483    __slots__ = [
21484        'policy',
21485        'rate_limit',
21486    ]
21487
21488    def __init__(
21489        self,
21490        policy=None,
21491        rate_limit=None,
21492    ):
21493        self.policy = policy if policy is not None else None
21494        '''
21495         The updated Policy.
21496        '''
21497        self.rate_limit = rate_limit if rate_limit is not None else None
21498        '''
21499         Rate limit information.
21500        '''
21501
21502    def __repr__(self):
21503        return '<sdm.PolicyUpdateResponse ' + \
21504            'policy: ' + repr(self.policy) + ' ' +\
21505            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21506            '>'
21507
21508    def to_dict(self):
21509        return {
21510            'policy': self.policy,
21511            'rate_limit': self.rate_limit,
21512        }
21513
21514    @classmethod
21515    def from_dict(cls, d):
21516        return cls(
21517            policy=d.get('policy'),
21518            rate_limit=d.get('rate_limit'),
21519        )
21520
21521
21522class Postgres:
21523    __slots__ = [
21524        'bind_interface',
21525        'database',
21526        'egress_filter',
21527        'healthy',
21528        'hostname',
21529        'id',
21530        'name',
21531        'override_database',
21532        'password',
21533        'port',
21534        'port_override',
21535        'proxy_cluster_id',
21536        'secret_store_id',
21537        'subdomain',
21538        'tags',
21539        'username',
21540    ]
21541
21542    def __init__(
21543        self,
21544        bind_interface=None,
21545        database=None,
21546        egress_filter=None,
21547        healthy=None,
21548        hostname=None,
21549        id=None,
21550        name=None,
21551        override_database=None,
21552        password=None,
21553        port=None,
21554        port_override=None,
21555        proxy_cluster_id=None,
21556        secret_store_id=None,
21557        subdomain=None,
21558        tags=None,
21559        username=None,
21560    ):
21561        self.bind_interface = bind_interface if bind_interface is not None else ''
21562        '''
21563         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
21564        '''
21565        self.database = database if database is not None else ''
21566        '''
21567         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
21568        '''
21569        self.egress_filter = egress_filter if egress_filter is not None else ''
21570        '''
21571         A filter applied to the routing logic to pin datasource to nodes.
21572        '''
21573        self.healthy = healthy if healthy is not None else False
21574        '''
21575         True if the datasource is reachable and the credentials are valid.
21576        '''
21577        self.hostname = hostname if hostname is not None else ''
21578        '''
21579         The host to dial to initiate a connection from the egress node to this resource.
21580        '''
21581        self.id = id if id is not None else ''
21582        '''
21583         Unique identifier of the Resource.
21584        '''
21585        self.name = name if name is not None else ''
21586        '''
21587         Unique human-readable name of the Resource.
21588        '''
21589        self.override_database = override_database if override_database is not None else False
21590        '''
21591         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
21592        '''
21593        self.password = password if password is not None else ''
21594        '''
21595         The password to authenticate with.
21596        '''
21597        self.port = port if port is not None else 0
21598        '''
21599         The port to dial to initiate a connection from the egress node to this resource.
21600        '''
21601        self.port_override = port_override if port_override is not None else 0
21602        '''
21603         The local port used by clients to connect to this resource.
21604        '''
21605        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21606        '''
21607         ID of the proxy cluster for this resource, if any.
21608        '''
21609        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21610        '''
21611         ID of the secret store containing credentials for this resource, if any.
21612        '''
21613        self.subdomain = subdomain if subdomain is not None else ''
21614        '''
21615         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
21616        '''
21617        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21618        '''
21619         Tags is a map of key, value pairs.
21620        '''
21621        self.username = username if username is not None else ''
21622        '''
21623         The username to authenticate with.
21624        '''
21625
21626    def __repr__(self):
21627        return '<sdm.Postgres ' + \
21628            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
21629            'database: ' + repr(self.database) + ' ' +\
21630            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
21631            'healthy: ' + repr(self.healthy) + ' ' +\
21632            'hostname: ' + repr(self.hostname) + ' ' +\
21633            'id: ' + repr(self.id) + ' ' +\
21634            'name: ' + repr(self.name) + ' ' +\
21635            'override_database: ' + repr(self.override_database) + ' ' +\
21636            'password: ' + repr(self.password) + ' ' +\
21637            'port: ' + repr(self.port) + ' ' +\
21638            'port_override: ' + repr(self.port_override) + ' ' +\
21639            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
21640            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
21641            'subdomain: ' + repr(self.subdomain) + ' ' +\
21642            'tags: ' + repr(self.tags) + ' ' +\
21643            'username: ' + repr(self.username) + ' ' +\
21644            '>'
21645
21646    def to_dict(self):
21647        return {
21648            'bind_interface': self.bind_interface,
21649            'database': self.database,
21650            'egress_filter': self.egress_filter,
21651            'healthy': self.healthy,
21652            'hostname': self.hostname,
21653            'id': self.id,
21654            'name': self.name,
21655            'override_database': self.override_database,
21656            'password': self.password,
21657            'port': self.port,
21658            'port_override': self.port_override,
21659            'proxy_cluster_id': self.proxy_cluster_id,
21660            'secret_store_id': self.secret_store_id,
21661            'subdomain': self.subdomain,
21662            'tags': self.tags,
21663            'username': self.username,
21664        }
21665
21666    @classmethod
21667    def from_dict(cls, d):
21668        return cls(
21669            bind_interface=d.get('bind_interface'),
21670            database=d.get('database'),
21671            egress_filter=d.get('egress_filter'),
21672            healthy=d.get('healthy'),
21673            hostname=d.get('hostname'),
21674            id=d.get('id'),
21675            name=d.get('name'),
21676            override_database=d.get('override_database'),
21677            password=d.get('password'),
21678            port=d.get('port'),
21679            port_override=d.get('port_override'),
21680            proxy_cluster_id=d.get('proxy_cluster_id'),
21681            secret_store_id=d.get('secret_store_id'),
21682            subdomain=d.get('subdomain'),
21683            tags=d.get('tags'),
21684            username=d.get('username'),
21685        )
21686
21687
21688class Presto:
21689    __slots__ = [
21690        'bind_interface',
21691        'database',
21692        'egress_filter',
21693        'healthy',
21694        'hostname',
21695        'id',
21696        'name',
21697        'password',
21698        'port',
21699        'port_override',
21700        'proxy_cluster_id',
21701        'secret_store_id',
21702        'subdomain',
21703        'tags',
21704        'tls_required',
21705        'username',
21706    ]
21707
21708    def __init__(
21709        self,
21710        bind_interface=None,
21711        database=None,
21712        egress_filter=None,
21713        healthy=None,
21714        hostname=None,
21715        id=None,
21716        name=None,
21717        password=None,
21718        port=None,
21719        port_override=None,
21720        proxy_cluster_id=None,
21721        secret_store_id=None,
21722        subdomain=None,
21723        tags=None,
21724        tls_required=None,
21725        username=None,
21726    ):
21727        self.bind_interface = bind_interface if bind_interface is not None else ''
21728        '''
21729         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
21730        '''
21731        self.database = database if database is not None else ''
21732        '''
21733         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
21734        '''
21735        self.egress_filter = egress_filter if egress_filter is not None else ''
21736        '''
21737         A filter applied to the routing logic to pin datasource to nodes.
21738        '''
21739        self.healthy = healthy if healthy is not None else False
21740        '''
21741         True if the datasource is reachable and the credentials are valid.
21742        '''
21743        self.hostname = hostname if hostname is not None else ''
21744        '''
21745         The host to dial to initiate a connection from the egress node to this resource.
21746        '''
21747        self.id = id if id is not None else ''
21748        '''
21749         Unique identifier of the Resource.
21750        '''
21751        self.name = name if name is not None else ''
21752        '''
21753         Unique human-readable name of the Resource.
21754        '''
21755        self.password = password if password is not None else ''
21756        '''
21757         The password to authenticate with.
21758        '''
21759        self.port = port if port is not None else 0
21760        '''
21761         The port to dial to initiate a connection from the egress node to this resource.
21762        '''
21763        self.port_override = port_override if port_override is not None else 0
21764        '''
21765         The local port used by clients to connect to this resource.
21766        '''
21767        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21768        '''
21769         ID of the proxy cluster for this resource, if any.
21770        '''
21771        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21772        '''
21773         ID of the secret store containing credentials for this resource, if any.
21774        '''
21775        self.subdomain = subdomain if subdomain is not None else ''
21776        '''
21777         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
21778        '''
21779        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21780        '''
21781         Tags is a map of key, value pairs.
21782        '''
21783        self.tls_required = tls_required if tls_required is not None else False
21784        '''
21785         If set, TLS must be used to connect to this resource.
21786        '''
21787        self.username = username if username is not None else ''
21788        '''
21789         The username to authenticate with.
21790        '''
21791
21792    def __repr__(self):
21793        return '<sdm.Presto ' + \
21794            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
21795            'database: ' + repr(self.database) + ' ' +\
21796            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
21797            'healthy: ' + repr(self.healthy) + ' ' +\
21798            'hostname: ' + repr(self.hostname) + ' ' +\
21799            'id: ' + repr(self.id) + ' ' +\
21800            'name: ' + repr(self.name) + ' ' +\
21801            'password: ' + repr(self.password) + ' ' +\
21802            'port: ' + repr(self.port) + ' ' +\
21803            'port_override: ' + repr(self.port_override) + ' ' +\
21804            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
21805            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
21806            'subdomain: ' + repr(self.subdomain) + ' ' +\
21807            'tags: ' + repr(self.tags) + ' ' +\
21808            'tls_required: ' + repr(self.tls_required) + ' ' +\
21809            'username: ' + repr(self.username) + ' ' +\
21810            '>'
21811
21812    def to_dict(self):
21813        return {
21814            'bind_interface': self.bind_interface,
21815            'database': self.database,
21816            'egress_filter': self.egress_filter,
21817            'healthy': self.healthy,
21818            'hostname': self.hostname,
21819            'id': self.id,
21820            'name': self.name,
21821            'password': self.password,
21822            'port': self.port,
21823            'port_override': self.port_override,
21824            'proxy_cluster_id': self.proxy_cluster_id,
21825            'secret_store_id': self.secret_store_id,
21826            'subdomain': self.subdomain,
21827            'tags': self.tags,
21828            'tls_required': self.tls_required,
21829            'username': self.username,
21830        }
21831
21832    @classmethod
21833    def from_dict(cls, d):
21834        return cls(
21835            bind_interface=d.get('bind_interface'),
21836            database=d.get('database'),
21837            egress_filter=d.get('egress_filter'),
21838            healthy=d.get('healthy'),
21839            hostname=d.get('hostname'),
21840            id=d.get('id'),
21841            name=d.get('name'),
21842            password=d.get('password'),
21843            port=d.get('port'),
21844            port_override=d.get('port_override'),
21845            proxy_cluster_id=d.get('proxy_cluster_id'),
21846            secret_store_id=d.get('secret_store_id'),
21847            subdomain=d.get('subdomain'),
21848            tags=d.get('tags'),
21849            tls_required=d.get('tls_required'),
21850            username=d.get('username'),
21851        )
21852
21853
21854class ProxyCluster:
21855    '''
21856         ProxyCluster represents a cluster of StrongDM proxies.
21857    '''
21858    __slots__ = [
21859        'address',
21860        'id',
21861        'maintenance_windows',
21862        'name',
21863        'tags',
21864    ]
21865
21866    def __init__(
21867        self,
21868        address=None,
21869        id=None,
21870        maintenance_windows=None,
21871        name=None,
21872        tags=None,
21873    ):
21874        self.address = address if address is not None else ''
21875        '''
21876         The public hostname/port tuple at which the proxy cluster will be
21877         accessible to clients.
21878        '''
21879        self.id = id if id is not None else ''
21880        '''
21881         Unique identifier of the Proxy Cluster.
21882        '''
21883        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
21884        '''
21885         Maintenance Windows define when this node is allowed to restart. If a node
21886         is requested to restart, it will check each window to determine if any of
21887         them permit it to restart, and if any do, it will. This check is repeated
21888         per window until the restart is successfully completed.
21889         
21890         If not set here, may be set on the command line or via an environment variable
21891         on the process itself; any server setting will take precedence over local
21892         settings. This setting is ineffective for nodes below version 38.44.0.
21893         
21894         If this setting is not applied via this remote configuration or via local
21895         configuration, the default setting is used: always allow restarts if serving
21896         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
21897        '''
21898        self.name = name if name is not None else ''
21899        '''
21900         Unique human-readable name of the proxy cluster. Names must
21901         include only letters, numbers, and hyphens (no spaces, underscores, or
21902         other special characters). Generated if not provided on create.
21903        '''
21904        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21905        '''
21906         Tags is a map of key, value pairs.
21907        '''
21908
21909    def __repr__(self):
21910        return '<sdm.ProxyCluster ' + \
21911            'address: ' + repr(self.address) + ' ' +\
21912            'id: ' + repr(self.id) + ' ' +\
21913            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
21914            'name: ' + repr(self.name) + ' ' +\
21915            'tags: ' + repr(self.tags) + ' ' +\
21916            '>'
21917
21918    def to_dict(self):
21919        return {
21920            'address': self.address,
21921            'id': self.id,
21922            'maintenance_windows': self.maintenance_windows,
21923            'name': self.name,
21924            'tags': self.tags,
21925        }
21926
21927    @classmethod
21928    def from_dict(cls, d):
21929        return cls(
21930            address=d.get('address'),
21931            id=d.get('id'),
21932            maintenance_windows=d.get('maintenance_windows'),
21933            name=d.get('name'),
21934            tags=d.get('tags'),
21935        )
21936
21937
21938class ProxyClusterKey:
21939    '''
21940         Proxy Cluster Keys are authentication keys for all proxies within a cluster.
21941     The proxies within a cluster share the same key. One cluster can have
21942     multiple keys in order to facilitate key rotation.
21943    '''
21944    __slots__ = [
21945        'created_at',
21946        'id',
21947        'last_used_at',
21948        'proxy_cluster_id',
21949    ]
21950
21951    def __init__(
21952        self,
21953        created_at=None,
21954        id=None,
21955        last_used_at=None,
21956        proxy_cluster_id=None,
21957    ):
21958        self.created_at = created_at if created_at is not None else None
21959        '''
21960         The timestamp when this key was created.
21961        '''
21962        self.id = id if id is not None else ''
21963        '''
21964         Unique identifier of the Relay.
21965        '''
21966        self.last_used_at = last_used_at if last_used_at is not None else None
21967        '''
21968         The timestamp when this key was last used, if at all.
21969        '''
21970        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21971        '''
21972         The ID of the proxy cluster which this key authenticates to.
21973        '''
21974
21975    def __repr__(self):
21976        return '<sdm.ProxyClusterKey ' + \
21977            'created_at: ' + repr(self.created_at) + ' ' +\
21978            'id: ' + repr(self.id) + ' ' +\
21979            'last_used_at: ' + repr(self.last_used_at) + ' ' +\
21980            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
21981            '>'
21982
21983    def to_dict(self):
21984        return {
21985            'created_at': self.created_at,
21986            'id': self.id,
21987            'last_used_at': self.last_used_at,
21988            'proxy_cluster_id': self.proxy_cluster_id,
21989        }
21990
21991    @classmethod
21992    def from_dict(cls, d):
21993        return cls(
21994            created_at=d.get('created_at'),
21995            id=d.get('id'),
21996            last_used_at=d.get('last_used_at'),
21997            proxy_cluster_id=d.get('proxy_cluster_id'),
21998        )
21999
22000
22001class ProxyClusterKeyCreateResponse:
22002    '''
22003         ProxyClusterKeyCreateResponse reports how the ProxyClusterKeys were created in the system.
22004    '''
22005    __slots__ = [
22006        'meta',
22007        'proxy_cluster_key',
22008        'rate_limit',
22009        'secret_key',
22010    ]
22011
22012    def __init__(
22013        self,
22014        meta=None,
22015        proxy_cluster_key=None,
22016        rate_limit=None,
22017        secret_key=None,
22018    ):
22019        self.meta = meta if meta is not None else None
22020        '''
22021         Reserved for future use.
22022        '''
22023        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
22024        '''
22025         The created ProxyClusterKey.
22026        '''
22027        self.rate_limit = rate_limit if rate_limit is not None else None
22028        '''
22029         Rate limit information.
22030        '''
22031        self.secret_key = secret_key if secret_key is not None else ''
22032        '''
22033         The secret key component of this key. It must be saved upon creation
22034         because it will not be available for retrieval later.
22035        '''
22036
22037    def __repr__(self):
22038        return '<sdm.ProxyClusterKeyCreateResponse ' + \
22039            'meta: ' + repr(self.meta) + ' ' +\
22040            'proxy_cluster_key: ' + repr(self.proxy_cluster_key) + ' ' +\
22041            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22042            'secret_key: ' + repr(self.secret_key) + ' ' +\
22043            '>'
22044
22045    def to_dict(self):
22046        return {
22047            'meta': self.meta,
22048            'proxy_cluster_key': self.proxy_cluster_key,
22049            'rate_limit': self.rate_limit,
22050            'secret_key': self.secret_key,
22051        }
22052
22053    @classmethod
22054    def from_dict(cls, d):
22055        return cls(
22056            meta=d.get('meta'),
22057            proxy_cluster_key=d.get('proxy_cluster_key'),
22058            rate_limit=d.get('rate_limit'),
22059            secret_key=d.get('secret_key'),
22060        )
22061
22062
22063class ProxyClusterKeyDeleteResponse:
22064    '''
22065         ProxyClusterKeyDeleteResponse returns information about a ProxyClusterKey that was deleted.
22066    '''
22067    __slots__ = [
22068        'meta',
22069        'rate_limit',
22070    ]
22071
22072    def __init__(
22073        self,
22074        meta=None,
22075        rate_limit=None,
22076    ):
22077        self.meta = meta if meta is not None else None
22078        '''
22079         Reserved for future use.
22080        '''
22081        self.rate_limit = rate_limit if rate_limit is not None else None
22082        '''
22083         Rate limit information.
22084        '''
22085
22086    def __repr__(self):
22087        return '<sdm.ProxyClusterKeyDeleteResponse ' + \
22088            'meta: ' + repr(self.meta) + ' ' +\
22089            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22090            '>'
22091
22092    def to_dict(self):
22093        return {
22094            'meta': self.meta,
22095            'rate_limit': self.rate_limit,
22096        }
22097
22098    @classmethod
22099    def from_dict(cls, d):
22100        return cls(
22101            meta=d.get('meta'),
22102            rate_limit=d.get('rate_limit'),
22103        )
22104
22105
22106class ProxyClusterKeyGetResponse:
22107    '''
22108         ProxyClusterKeyGetResponse returns a requested ProxyClusterKey.
22109    '''
22110    __slots__ = [
22111        'meta',
22112        'proxy_cluster_key',
22113        'rate_limit',
22114    ]
22115
22116    def __init__(
22117        self,
22118        meta=None,
22119        proxy_cluster_key=None,
22120        rate_limit=None,
22121    ):
22122        self.meta = meta if meta is not None else None
22123        '''
22124         Reserved for future use.
22125        '''
22126        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
22127        '''
22128         The requested ProxyClusterKey.
22129        '''
22130        self.rate_limit = rate_limit if rate_limit is not None else None
22131        '''
22132         Rate limit information.
22133        '''
22134
22135    def __repr__(self):
22136        return '<sdm.ProxyClusterKeyGetResponse ' + \
22137            'meta: ' + repr(self.meta) + ' ' +\
22138            'proxy_cluster_key: ' + repr(self.proxy_cluster_key) + ' ' +\
22139            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22140            '>'
22141
22142    def to_dict(self):
22143        return {
22144            'meta': self.meta,
22145            'proxy_cluster_key': self.proxy_cluster_key,
22146            'rate_limit': self.rate_limit,
22147        }
22148
22149    @classmethod
22150    def from_dict(cls, d):
22151        return cls(
22152            meta=d.get('meta'),
22153            proxy_cluster_key=d.get('proxy_cluster_key'),
22154            rate_limit=d.get('rate_limit'),
22155        )
22156
22157
22158class Query:
22159    '''
22160         A Query is a record of a single client request to a resource, such as a SQL query.
22161     Longer-running queries including long-running SSH commands and SSH, RDP, or Kubernetes
22162     interactive sessions will return two Query records with the same identifier, one record
22163     at the start of the query and a second record upon the completion of the query with
22164     additional detail.
22165    '''
22166    __slots__ = [
22167        'account_email',
22168        'account_first_name',
22169        'account_id',
22170        'account_last_name',
22171        'account_tags',
22172        'authzjson',
22173        'capture',
22174        'client_ip',
22175        'completed_at',
22176        'duration',
22177        'egress_node_id',
22178        'encrypted',
22179        'id',
22180        'identity_alias_username',
22181        'query_body',
22182        'query_category',
22183        'query_hash',
22184        'query_key',
22185        'record_count',
22186        'remote_identity_username',
22187        'replayable',
22188        'resource_id',
22189        'resource_name',
22190        'resource_tags',
22191        'resource_type',
22192        'source_ip',
22193        'target',
22194        'timestamp',
22195    ]
22196
22197    def __init__(
22198        self,
22199        account_email=None,
22200        account_first_name=None,
22201        account_id=None,
22202        account_last_name=None,
22203        account_tags=None,
22204        authzjson=None,
22205        capture=None,
22206        client_ip=None,
22207        completed_at=None,
22208        duration=None,
22209        egress_node_id=None,
22210        encrypted=None,
22211        id=None,
22212        identity_alias_username=None,
22213        query_body=None,
22214        query_category=None,
22215        query_hash=None,
22216        query_key=None,
22217        record_count=None,
22218        remote_identity_username=None,
22219        replayable=None,
22220        resource_id=None,
22221        resource_name=None,
22222        resource_tags=None,
22223        resource_type=None,
22224        source_ip=None,
22225        target=None,
22226        timestamp=None,
22227    ):
22228        self.account_email = account_email if account_email is not None else ''
22229        '''
22230         The email of the account performing this query, at the time the query was executed.
22231         If the account email is later changed, that change will not be reflected via this field.
22232        '''
22233        self.account_first_name = account_first_name if account_first_name is not None else ''
22234        '''
22235         The given name of the account performing this query, at the time the query was executed.
22236         If the account is later renamed, that change will not be reflected via this field.
22237        '''
22238        self.account_id = account_id if account_id is not None else ''
22239        '''
22240         Unique identifier of the Account that performed the Query.
22241        '''
22242        self.account_last_name = account_last_name if account_last_name is not None else ''
22243        '''
22244         The family name of the account performing this query, at the time the query was executed.
22245         If the account is later renamed, that change will not be reflected via this field.
22246        '''
22247        self.account_tags = account_tags if account_tags is not None else _porcelain_zero_value_tags(
22248        )
22249        '''
22250         The tags of the account accessed, at the time the query was executed. If the account
22251         tags are later changed, that change will not be reflected via this field.
22252        '''
22253        self.authzjson = authzjson if authzjson is not None else ''
22254        '''
22255         Authorization metadata associated with this query.
22256        '''
22257        self.capture = capture if capture is not None else None
22258        '''
22259         For queries against SSH, Kubernetes, and RDP resources, this contains additional information
22260         about the captured query.
22261        '''
22262        self.client_ip = client_ip if client_ip is not None else ''
22263        '''
22264         The IP address the Query was performed from, as detected at the StrongDM control plane.
22265        '''
22266        self.completed_at = completed_at if completed_at is not None else None
22267        '''
22268         The time at which the Query was completed.
22269         Empty if this record indicates the start of a long-running query.
22270        '''
22271        self.duration = duration if duration is not None else None
22272        '''
22273         The duration of the Query.
22274        '''
22275        self.egress_node_id = egress_node_id if egress_node_id is not None else ''
22276        '''
22277         The unique ID of the node through which the Resource was accessed.
22278        '''
22279        self.encrypted = encrypted if encrypted is not None else False
22280        '''
22281         Indicates that the body of the Query is encrypted.
22282        '''
22283        self.id = id if id is not None else ''
22284        '''
22285         Unique identifier of the Query.
22286        '''
22287        self.identity_alias_username = identity_alias_username if identity_alias_username is not None else ''
22288        '''
22289         The username of the IdentityAlias used to access the Resource.
22290        '''
22291        self.query_body = query_body if query_body is not None else ''
22292        '''
22293         The captured content of the Query.
22294         For queries against SSH, Kubernetes, and RDP resources, this contains a JSON representation of the QueryCapture.
22295        '''
22296        self.query_category = query_category if query_category is not None else ''
22297        '''
22298         The general category of Resource against which Query was performed, e.g. "web" or "cloud".
22299        '''
22300        self.query_hash = query_hash if query_hash is not None else ''
22301        '''
22302         The hash of the body of the Query.
22303        '''
22304        self.query_key = query_key if query_key is not None else ''
22305        '''
22306         The symmetric key used to encrypt the body of this Query and its replay if replayable.
22307         If the Query is encrypted, this field contains an encrypted symmetric key in base64 encoding.
22308         This key must be decrypted with the organization's private key to obtain the symmetric key needed to decrypt the body.
22309         If the Query is not encrypted, this field is empty.
22310        '''
22311        self.record_count = record_count if record_count is not None else 0
22312        '''
22313         The number of records returned by the Query, for a database Resource.
22314        '''
22315        self.remote_identity_username = remote_identity_username if remote_identity_username is not None else ''
22316        '''
22317         The username of the RemoteIdentity used to access the Resource.
22318        '''
22319        self.replayable = replayable if replayable is not None else False
22320        '''
22321         Indicates that the Query is replayable, e.g. for some SSH or K8s sessions.
22322        '''
22323        self.resource_id = resource_id if resource_id is not None else ''
22324        '''
22325         Unique identifier of the Resource against which the Query was performed.
22326        '''
22327        self.resource_name = resource_name if resource_name is not None else ''
22328        '''
22329         The name of the resource accessed, at the time the query was executed. If the resource
22330         is later renamed, that change will not be reflected via this field.
22331        '''
22332        self.resource_tags = resource_tags if resource_tags is not None else _porcelain_zero_value_tags(
22333        )
22334        '''
22335         The tags of the resource accessed, at the time the query was executed. If the resource
22336         tags are later changed, that change will not be reflected via this field.
22337        '''
22338        self.resource_type = resource_type if resource_type is not None else ''
22339        '''
22340         The specific type of Resource against which the Query was performed, e.g. "ssh" or "postgres".
22341        '''
22342        self.source_ip = source_ip if source_ip is not None else ''
22343        '''
22344         The IP address the Query was performed from, as detected at the ingress gateway.
22345        '''
22346        self.target = target if target is not None else ''
22347        '''
22348         The target destination of the query, in host:port format.
22349        '''
22350        self.timestamp = timestamp if timestamp is not None else None
22351        '''
22352         The time at which the Query was started.
22353        '''
22354
22355    def __repr__(self):
22356        return '<sdm.Query ' + \
22357            'account_email: ' + repr(self.account_email) + ' ' +\
22358            'account_first_name: ' + repr(self.account_first_name) + ' ' +\
22359            'account_id: ' + repr(self.account_id) + ' ' +\
22360            'account_last_name: ' + repr(self.account_last_name) + ' ' +\
22361            'account_tags: ' + repr(self.account_tags) + ' ' +\
22362            'authzjson: ' + repr(self.authzjson) + ' ' +\
22363            'capture: ' + repr(self.capture) + ' ' +\
22364            'client_ip: ' + repr(self.client_ip) + ' ' +\
22365            'completed_at: ' + repr(self.completed_at) + ' ' +\
22366            'duration: ' + repr(self.duration) + ' ' +\
22367            'egress_node_id: ' + repr(self.egress_node_id) + ' ' +\
22368            'encrypted: ' + repr(self.encrypted) + ' ' +\
22369            'id: ' + repr(self.id) + ' ' +\
22370            'identity_alias_username: ' + repr(self.identity_alias_username) + ' ' +\
22371            'query_body: ' + repr(self.query_body) + ' ' +\
22372            'query_category: ' + repr(self.query_category) + ' ' +\
22373            'query_hash: ' + repr(self.query_hash) + ' ' +\
22374            'query_key: ' + repr(self.query_key) + ' ' +\
22375            'record_count: ' + repr(self.record_count) + ' ' +\
22376            'remote_identity_username: ' + repr(self.remote_identity_username) + ' ' +\
22377            'replayable: ' + repr(self.replayable) + ' ' +\
22378            'resource_id: ' + repr(self.resource_id) + ' ' +\
22379            'resource_name: ' + repr(self.resource_name) + ' ' +\
22380            'resource_tags: ' + repr(self.resource_tags) + ' ' +\
22381            'resource_type: ' + repr(self.resource_type) + ' ' +\
22382            'source_ip: ' + repr(self.source_ip) + ' ' +\
22383            'target: ' + repr(self.target) + ' ' +\
22384            'timestamp: ' + repr(self.timestamp) + ' ' +\
22385            '>'
22386
22387    def to_dict(self):
22388        return {
22389            'account_email': self.account_email,
22390            'account_first_name': self.account_first_name,
22391            'account_id': self.account_id,
22392            'account_last_name': self.account_last_name,
22393            'account_tags': self.account_tags,
22394            'authzjson': self.authzjson,
22395            'capture': self.capture,
22396            'client_ip': self.client_ip,
22397            'completed_at': self.completed_at,
22398            'duration': self.duration,
22399            'egress_node_id': self.egress_node_id,
22400            'encrypted': self.encrypted,
22401            'id': self.id,
22402            'identity_alias_username': self.identity_alias_username,
22403            'query_body': self.query_body,
22404            'query_category': self.query_category,
22405            'query_hash': self.query_hash,
22406            'query_key': self.query_key,
22407            'record_count': self.record_count,
22408            'remote_identity_username': self.remote_identity_username,
22409            'replayable': self.replayable,
22410            'resource_id': self.resource_id,
22411            'resource_name': self.resource_name,
22412            'resource_tags': self.resource_tags,
22413            'resource_type': self.resource_type,
22414            'source_ip': self.source_ip,
22415            'target': self.target,
22416            'timestamp': self.timestamp,
22417        }
22418
22419    @classmethod
22420    def from_dict(cls, d):
22421        return cls(
22422            account_email=d.get('account_email'),
22423            account_first_name=d.get('account_first_name'),
22424            account_id=d.get('account_id'),
22425            account_last_name=d.get('account_last_name'),
22426            account_tags=d.get('account_tags'),
22427            authzjson=d.get('authzjson'),
22428            capture=d.get('capture'),
22429            client_ip=d.get('client_ip'),
22430            completed_at=d.get('completed_at'),
22431            duration=d.get('duration'),
22432            egress_node_id=d.get('egress_node_id'),
22433            encrypted=d.get('encrypted'),
22434            id=d.get('id'),
22435            identity_alias_username=d.get('identity_alias_username'),
22436            query_body=d.get('query_body'),
22437            query_category=d.get('query_category'),
22438            query_hash=d.get('query_hash'),
22439            query_key=d.get('query_key'),
22440            record_count=d.get('record_count'),
22441            remote_identity_username=d.get('remote_identity_username'),
22442            replayable=d.get('replayable'),
22443            resource_id=d.get('resource_id'),
22444            resource_name=d.get('resource_name'),
22445            resource_tags=d.get('resource_tags'),
22446            resource_type=d.get('resource_type'),
22447            source_ip=d.get('source_ip'),
22448            target=d.get('target'),
22449            timestamp=d.get('timestamp'),
22450        )
22451
22452
22453class QueryCapture:
22454    '''
22455         A QueryCapture contains additional information about queries against SSH, Kubernetes, and RDP resources.
22456    '''
22457    __slots__ = [
22458        'client_command',
22459        'command',
22460        'container',
22461        'env',
22462        'file_name',
22463        'file_size',
22464        'height',
22465        'impersonation_groups',
22466        'impersonation_user',
22467        'pod',
22468        'privilege_groups',
22469        'request_body',
22470        'request_method',
22471        'request_uri',
22472        'type',
22473        'width',
22474    ]
22475
22476    def __init__(
22477        self,
22478        client_command=None,
22479        command=None,
22480        container=None,
22481        env=None,
22482        file_name=None,
22483        file_size=None,
22484        height=None,
22485        impersonation_groups=None,
22486        impersonation_user=None,
22487        pod=None,
22488        privilege_groups=None,
22489        request_body=None,
22490        request_method=None,
22491        request_uri=None,
22492        type=None,
22493        width=None,
22494    ):
22495        self.client_command = client_command if client_command is not None else ''
22496        '''
22497         The command executed on the client for a Kubernetes session.
22498        '''
22499        self.command = command if command is not None else ''
22500        '''
22501         The command executed over an SSH or Kubernetes session.
22502        '''
22503        self.container = container if container is not None else ''
22504        '''
22505         The target container of a Kubernetes operation.
22506        '''
22507        self.env = env if env is not None else {}
22508        '''
22509         The environment variables for an SSH or Kubernetes session.
22510        '''
22511        self.file_name = file_name if file_name is not None else ''
22512        '''
22513         The remote file name of an SCP operation.
22514        '''
22515        self.file_size = file_size if file_size is not None else 0
22516        '''
22517         The file size transferred for an SCP operation.
22518        '''
22519        self.height = height if height is not None else 0
22520        '''
22521         The height of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
22522        '''
22523        self.impersonation_groups = impersonation_groups if impersonation_groups is not None else []
22524        '''
22525         The impersonation groups of a Kubernetes operation.
22526        '''
22527        self.impersonation_user = impersonation_user if impersonation_user is not None else ''
22528        '''
22529         The impersonation user of a Kubernetes operation.
22530        '''
22531        self.pod = pod if pod is not None else ''
22532        '''
22533         The target pod of a Kubernetes operation.
22534        '''
22535        self.privilege_groups = privilege_groups if privilege_groups is not None else []
22536        '''
22537         The additional impersonation groups, as granted by privilege levels, of a Kubernetes operation.
22538        '''
22539        self.request_body = request_body if request_body is not None else b''
22540        '''
22541         The HTTP request body of a Kubernetes operation.
22542        '''
22543        self.request_method = request_method if request_method is not None else ''
22544        '''
22545         The HTTP request method of a Kubernetes operation.
22546        '''
22547        self.request_uri = request_uri if request_uri is not None else ''
22548        '''
22549         The HTTP request URI of a Kubernetes operation.
22550        '''
22551        self.type = type if type is not None else ''
22552        '''
22553         The CaptureType of this query capture, one of the CaptureType constants.
22554        '''
22555        self.width = width if width is not None else 0
22556        '''
22557         The width of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
22558        '''
22559
22560    def __repr__(self):
22561        return '<sdm.QueryCapture ' + \
22562            'client_command: ' + repr(self.client_command) + ' ' +\
22563            'command: ' + repr(self.command) + ' ' +\
22564            'container: ' + repr(self.container) + ' ' +\
22565            'env: ' + repr(self.env) + ' ' +\
22566            'file_name: ' + repr(self.file_name) + ' ' +\
22567            'file_size: ' + repr(self.file_size) + ' ' +\
22568            'height: ' + repr(self.height) + ' ' +\
22569            'impersonation_groups: ' + repr(self.impersonation_groups) + ' ' +\
22570            'impersonation_user: ' + repr(self.impersonation_user) + ' ' +\
22571            'pod: ' + repr(self.pod) + ' ' +\
22572            'privilege_groups: ' + repr(self.privilege_groups) + ' ' +\
22573            'request_body: ' + repr(self.request_body) + ' ' +\
22574            'request_method: ' + repr(self.request_method) + ' ' +\
22575            'request_uri: ' + repr(self.request_uri) + ' ' +\
22576            'type: ' + repr(self.type) + ' ' +\
22577            'width: ' + repr(self.width) + ' ' +\
22578            '>'
22579
22580    def to_dict(self):
22581        return {
22582            'client_command': self.client_command,
22583            'command': self.command,
22584            'container': self.container,
22585            'env': self.env,
22586            'file_name': self.file_name,
22587            'file_size': self.file_size,
22588            'height': self.height,
22589            'impersonation_groups': self.impersonation_groups,
22590            'impersonation_user': self.impersonation_user,
22591            'pod': self.pod,
22592            'privilege_groups': self.privilege_groups,
22593            'request_body': self.request_body,
22594            'request_method': self.request_method,
22595            'request_uri': self.request_uri,
22596            'type': self.type,
22597            'width': self.width,
22598        }
22599
22600    @classmethod
22601    def from_dict(cls, d):
22602        return cls(
22603            client_command=d.get('client_command'),
22604            command=d.get('command'),
22605            container=d.get('container'),
22606            env=d.get('env'),
22607            file_name=d.get('file_name'),
22608            file_size=d.get('file_size'),
22609            height=d.get('height'),
22610            impersonation_groups=d.get('impersonation_groups'),
22611            impersonation_user=d.get('impersonation_user'),
22612            pod=d.get('pod'),
22613            privilege_groups=d.get('privilege_groups'),
22614            request_body=d.get('request_body'),
22615            request_method=d.get('request_method'),
22616            request_uri=d.get('request_uri'),
22617            type=d.get('type'),
22618            width=d.get('width'),
22619        )
22620
22621
22622class RDP:
22623    __slots__ = [
22624        'bind_interface',
22625        'downgrade_nla_connections',
22626        'egress_filter',
22627        'healthy',
22628        'hostname',
22629        'id',
22630        'lock_required',
22631        'name',
22632        'password',
22633        'port',
22634        'port_override',
22635        'proxy_cluster_id',
22636        'secret_store_id',
22637        'subdomain',
22638        'tags',
22639        'username',
22640    ]
22641
22642    def __init__(
22643        self,
22644        bind_interface=None,
22645        downgrade_nla_connections=None,
22646        egress_filter=None,
22647        healthy=None,
22648        hostname=None,
22649        id=None,
22650        lock_required=None,
22651        name=None,
22652        password=None,
22653        port=None,
22654        port_override=None,
22655        proxy_cluster_id=None,
22656        secret_store_id=None,
22657        subdomain=None,
22658        tags=None,
22659        username=None,
22660    ):
22661        self.bind_interface = bind_interface if bind_interface is not None else ''
22662        '''
22663         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
22664        '''
22665        self.downgrade_nla_connections = downgrade_nla_connections if downgrade_nla_connections is not None else False
22666        '''
22667         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.
22668        '''
22669        self.egress_filter = egress_filter if egress_filter is not None else ''
22670        '''
22671         A filter applied to the routing logic to pin datasource to nodes.
22672        '''
22673        self.healthy = healthy if healthy is not None else False
22674        '''
22675         True if the datasource is reachable and the credentials are valid.
22676        '''
22677        self.hostname = hostname if hostname is not None else ''
22678        '''
22679         The host to dial to initiate a connection from the egress node to this resource.
22680        '''
22681        self.id = id if id is not None else ''
22682        '''
22683         Unique identifier of the Resource.
22684        '''
22685        self.lock_required = lock_required if lock_required is not None else False
22686        '''
22687         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
22688        '''
22689        self.name = name if name is not None else ''
22690        '''
22691         Unique human-readable name of the Resource.
22692        '''
22693        self.password = password if password is not None else ''
22694        '''
22695         The password to authenticate with.
22696        '''
22697        self.port = port if port is not None else 0
22698        '''
22699         The port to dial to initiate a connection from the egress node to this resource.
22700        '''
22701        self.port_override = port_override if port_override is not None else 0
22702        '''
22703         The local port used by clients to connect to this resource.
22704        '''
22705        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22706        '''
22707         ID of the proxy cluster for this resource, if any.
22708        '''
22709        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22710        '''
22711         ID of the secret store containing credentials for this resource, if any.
22712        '''
22713        self.subdomain = subdomain if subdomain is not None else ''
22714        '''
22715         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
22716        '''
22717        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22718        '''
22719         Tags is a map of key, value pairs.
22720        '''
22721        self.username = username if username is not None else ''
22722        '''
22723         The username to authenticate with.
22724        '''
22725
22726    def __repr__(self):
22727        return '<sdm.RDP ' + \
22728            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
22729            'downgrade_nla_connections: ' + repr(self.downgrade_nla_connections) + ' ' +\
22730            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
22731            'healthy: ' + repr(self.healthy) + ' ' +\
22732            'hostname: ' + repr(self.hostname) + ' ' +\
22733            'id: ' + repr(self.id) + ' ' +\
22734            'lock_required: ' + repr(self.lock_required) + ' ' +\
22735            'name: ' + repr(self.name) + ' ' +\
22736            'password: ' + repr(self.password) + ' ' +\
22737            'port: ' + repr(self.port) + ' ' +\
22738            'port_override: ' + repr(self.port_override) + ' ' +\
22739            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
22740            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
22741            'subdomain: ' + repr(self.subdomain) + ' ' +\
22742            'tags: ' + repr(self.tags) + ' ' +\
22743            'username: ' + repr(self.username) + ' ' +\
22744            '>'
22745
22746    def to_dict(self):
22747        return {
22748            'bind_interface': self.bind_interface,
22749            'downgrade_nla_connections': self.downgrade_nla_connections,
22750            'egress_filter': self.egress_filter,
22751            'healthy': self.healthy,
22752            'hostname': self.hostname,
22753            'id': self.id,
22754            'lock_required': self.lock_required,
22755            'name': self.name,
22756            'password': self.password,
22757            'port': self.port,
22758            'port_override': self.port_override,
22759            'proxy_cluster_id': self.proxy_cluster_id,
22760            'secret_store_id': self.secret_store_id,
22761            'subdomain': self.subdomain,
22762            'tags': self.tags,
22763            'username': self.username,
22764        }
22765
22766    @classmethod
22767    def from_dict(cls, d):
22768        return cls(
22769            bind_interface=d.get('bind_interface'),
22770            downgrade_nla_connections=d.get('downgrade_nla_connections'),
22771            egress_filter=d.get('egress_filter'),
22772            healthy=d.get('healthy'),
22773            hostname=d.get('hostname'),
22774            id=d.get('id'),
22775            lock_required=d.get('lock_required'),
22776            name=d.get('name'),
22777            password=d.get('password'),
22778            port=d.get('port'),
22779            port_override=d.get('port_override'),
22780            proxy_cluster_id=d.get('proxy_cluster_id'),
22781            secret_store_id=d.get('secret_store_id'),
22782            subdomain=d.get('subdomain'),
22783            tags=d.get('tags'),
22784            username=d.get('username'),
22785        )
22786
22787
22788class RDPCert:
22789    __slots__ = [
22790        'bind_interface',
22791        'egress_filter',
22792        'healthy',
22793        'hostname',
22794        'id',
22795        'identity_alias_healthcheck_username',
22796        'identity_set_id',
22797        'lock_required',
22798        'name',
22799        'port',
22800        'port_override',
22801        'proxy_cluster_id',
22802        'secret_store_id',
22803        'subdomain',
22804        'tags',
22805        'username',
22806    ]
22807
22808    def __init__(
22809        self,
22810        bind_interface=None,
22811        egress_filter=None,
22812        healthy=None,
22813        hostname=None,
22814        id=None,
22815        identity_alias_healthcheck_username=None,
22816        identity_set_id=None,
22817        lock_required=None,
22818        name=None,
22819        port=None,
22820        port_override=None,
22821        proxy_cluster_id=None,
22822        secret_store_id=None,
22823        subdomain=None,
22824        tags=None,
22825        username=None,
22826    ):
22827        self.bind_interface = bind_interface if bind_interface is not None else ''
22828        '''
22829         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
22830        '''
22831        self.egress_filter = egress_filter if egress_filter is not None else ''
22832        '''
22833         A filter applied to the routing logic to pin datasource to nodes.
22834        '''
22835        self.healthy = healthy if healthy is not None else False
22836        '''
22837         True if the datasource is reachable and the credentials are valid.
22838        '''
22839        self.hostname = hostname if hostname is not None else ''
22840        '''
22841         The host to dial to initiate a connection from the egress node to this resource.
22842        '''
22843        self.id = id if id is not None else ''
22844        '''
22845         Unique identifier of the Resource.
22846        '''
22847        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
22848        '''
22849         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
22850        '''
22851        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
22852        '''
22853         The ID of the identity set to use for identity connections.
22854        '''
22855        self.lock_required = lock_required if lock_required is not None else False
22856        '''
22857         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
22858        '''
22859        self.name = name if name is not None else ''
22860        '''
22861         Unique human-readable name of the Resource.
22862        '''
22863        self.port = port if port is not None else 0
22864        '''
22865         The port to dial to initiate a connection from the egress node to this resource.
22866        '''
22867        self.port_override = port_override if port_override is not None else 0
22868        '''
22869         The local port used by clients to connect to this resource.
22870        '''
22871        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22872        '''
22873         ID of the proxy cluster for this resource, if any.
22874        '''
22875        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22876        '''
22877         ID of the secret store containing credentials for this resource, if any.
22878        '''
22879        self.subdomain = subdomain if subdomain is not None else ''
22880        '''
22881         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
22882        '''
22883        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22884        '''
22885         Tags is a map of key, value pairs.
22886        '''
22887        self.username = username if username is not None else ''
22888        '''
22889         The username to authenticate with.
22890        '''
22891
22892    def __repr__(self):
22893        return '<sdm.RDPCert ' + \
22894            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
22895            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
22896            'healthy: ' + repr(self.healthy) + ' ' +\
22897            'hostname: ' + repr(self.hostname) + ' ' +\
22898            'id: ' + repr(self.id) + ' ' +\
22899            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
22900            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
22901            'lock_required: ' + repr(self.lock_required) + ' ' +\
22902            'name: ' + repr(self.name) + ' ' +\
22903            'port: ' + repr(self.port) + ' ' +\
22904            'port_override: ' + repr(self.port_override) + ' ' +\
22905            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
22906            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
22907            'subdomain: ' + repr(self.subdomain) + ' ' +\
22908            'tags: ' + repr(self.tags) + ' ' +\
22909            'username: ' + repr(self.username) + ' ' +\
22910            '>'
22911
22912    def to_dict(self):
22913        return {
22914            'bind_interface': self.bind_interface,
22915            'egress_filter': self.egress_filter,
22916            'healthy': self.healthy,
22917            'hostname': self.hostname,
22918            'id': self.id,
22919            'identity_alias_healthcheck_username':
22920            self.identity_alias_healthcheck_username,
22921            'identity_set_id': self.identity_set_id,
22922            'lock_required': self.lock_required,
22923            'name': self.name,
22924            'port': self.port,
22925            'port_override': self.port_override,
22926            'proxy_cluster_id': self.proxy_cluster_id,
22927            'secret_store_id': self.secret_store_id,
22928            'subdomain': self.subdomain,
22929            'tags': self.tags,
22930            'username': self.username,
22931        }
22932
22933    @classmethod
22934    def from_dict(cls, d):
22935        return cls(
22936            bind_interface=d.get('bind_interface'),
22937            egress_filter=d.get('egress_filter'),
22938            healthy=d.get('healthy'),
22939            hostname=d.get('hostname'),
22940            id=d.get('id'),
22941            identity_alias_healthcheck_username=d.get(
22942                'identity_alias_healthcheck_username'),
22943            identity_set_id=d.get('identity_set_id'),
22944            lock_required=d.get('lock_required'),
22945            name=d.get('name'),
22946            port=d.get('port'),
22947            port_override=d.get('port_override'),
22948            proxy_cluster_id=d.get('proxy_cluster_id'),
22949            secret_store_id=d.get('secret_store_id'),
22950            subdomain=d.get('subdomain'),
22951            tags=d.get('tags'),
22952            username=d.get('username'),
22953        )
22954
22955
22956class RDSPostgresIAM:
22957    __slots__ = [
22958        'bind_interface',
22959        'database',
22960        'egress_filter',
22961        'healthy',
22962        'hostname',
22963        'id',
22964        'name',
22965        'override_database',
22966        'port',
22967        'port_override',
22968        'proxy_cluster_id',
22969        'region',
22970        'role_assumption_arn',
22971        'secret_store_id',
22972        'subdomain',
22973        'tags',
22974        'username',
22975    ]
22976
22977    def __init__(
22978        self,
22979        bind_interface=None,
22980        database=None,
22981        egress_filter=None,
22982        healthy=None,
22983        hostname=None,
22984        id=None,
22985        name=None,
22986        override_database=None,
22987        port=None,
22988        port_override=None,
22989        proxy_cluster_id=None,
22990        region=None,
22991        role_assumption_arn=None,
22992        secret_store_id=None,
22993        subdomain=None,
22994        tags=None,
22995        username=None,
22996    ):
22997        self.bind_interface = bind_interface if bind_interface is not None else ''
22998        '''
22999         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23000        '''
23001        self.database = database if database is not None else ''
23002        '''
23003         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
23004        '''
23005        self.egress_filter = egress_filter if egress_filter is not None else ''
23006        '''
23007         A filter applied to the routing logic to pin datasource to nodes.
23008        '''
23009        self.healthy = healthy if healthy is not None else False
23010        '''
23011         True if the datasource is reachable and the credentials are valid.
23012        '''
23013        self.hostname = hostname if hostname is not None else ''
23014        '''
23015         The host to dial to initiate a connection from the egress node to this resource.
23016        '''
23017        self.id = id if id is not None else ''
23018        '''
23019         Unique identifier of the Resource.
23020        '''
23021        self.name = name if name is not None else ''
23022        '''
23023         Unique human-readable name of the Resource.
23024        '''
23025        self.override_database = override_database if override_database is not None else False
23026        '''
23027         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
23028        '''
23029        self.port = port if port is not None else 0
23030        '''
23031         The port to dial to initiate a connection from the egress node to this resource.
23032        '''
23033        self.port_override = port_override if port_override is not None else 0
23034        '''
23035         The local port used by clients to connect to this resource.
23036        '''
23037        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23038        '''
23039         ID of the proxy cluster for this resource, if any.
23040        '''
23041        self.region = region if region is not None else ''
23042        '''
23043         The AWS region to connect to.
23044        '''
23045        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
23046        '''
23047         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
23048        '''
23049        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23050        '''
23051         ID of the secret store containing credentials for this resource, if any.
23052        '''
23053        self.subdomain = subdomain if subdomain is not None else ''
23054        '''
23055         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23056        '''
23057        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23058        '''
23059         Tags is a map of key, value pairs.
23060        '''
23061        self.username = username if username is not None else ''
23062        '''
23063         The username to authenticate with.
23064        '''
23065
23066    def __repr__(self):
23067        return '<sdm.RDSPostgresIAM ' + \
23068            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23069            'database: ' + repr(self.database) + ' ' +\
23070            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23071            'healthy: ' + repr(self.healthy) + ' ' +\
23072            'hostname: ' + repr(self.hostname) + ' ' +\
23073            'id: ' + repr(self.id) + ' ' +\
23074            'name: ' + repr(self.name) + ' ' +\
23075            'override_database: ' + repr(self.override_database) + ' ' +\
23076            'port: ' + repr(self.port) + ' ' +\
23077            'port_override: ' + repr(self.port_override) + ' ' +\
23078            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23079            'region: ' + repr(self.region) + ' ' +\
23080            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
23081            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23082            'subdomain: ' + repr(self.subdomain) + ' ' +\
23083            'tags: ' + repr(self.tags) + ' ' +\
23084            'username: ' + repr(self.username) + ' ' +\
23085            '>'
23086
23087    def to_dict(self):
23088        return {
23089            'bind_interface': self.bind_interface,
23090            'database': self.database,
23091            'egress_filter': self.egress_filter,
23092            'healthy': self.healthy,
23093            'hostname': self.hostname,
23094            'id': self.id,
23095            'name': self.name,
23096            'override_database': self.override_database,
23097            'port': self.port,
23098            'port_override': self.port_override,
23099            'proxy_cluster_id': self.proxy_cluster_id,
23100            'region': self.region,
23101            'role_assumption_arn': self.role_assumption_arn,
23102            'secret_store_id': self.secret_store_id,
23103            'subdomain': self.subdomain,
23104            'tags': self.tags,
23105            'username': self.username,
23106        }
23107
23108    @classmethod
23109    def from_dict(cls, d):
23110        return cls(
23111            bind_interface=d.get('bind_interface'),
23112            database=d.get('database'),
23113            egress_filter=d.get('egress_filter'),
23114            healthy=d.get('healthy'),
23115            hostname=d.get('hostname'),
23116            id=d.get('id'),
23117            name=d.get('name'),
23118            override_database=d.get('override_database'),
23119            port=d.get('port'),
23120            port_override=d.get('port_override'),
23121            proxy_cluster_id=d.get('proxy_cluster_id'),
23122            region=d.get('region'),
23123            role_assumption_arn=d.get('role_assumption_arn'),
23124            secret_store_id=d.get('secret_store_id'),
23125            subdomain=d.get('subdomain'),
23126            tags=d.get('tags'),
23127            username=d.get('username'),
23128        )
23129
23130
23131class RabbitMQAMQP091:
23132    __slots__ = [
23133        'bind_interface',
23134        'egress_filter',
23135        'healthy',
23136        'hostname',
23137        'id',
23138        'name',
23139        'password',
23140        'port',
23141        'port_override',
23142        'proxy_cluster_id',
23143        'secret_store_id',
23144        'subdomain',
23145        'tags',
23146        'tls_required',
23147        'username',
23148    ]
23149
23150    def __init__(
23151        self,
23152        bind_interface=None,
23153        egress_filter=None,
23154        healthy=None,
23155        hostname=None,
23156        id=None,
23157        name=None,
23158        password=None,
23159        port=None,
23160        port_override=None,
23161        proxy_cluster_id=None,
23162        secret_store_id=None,
23163        subdomain=None,
23164        tags=None,
23165        tls_required=None,
23166        username=None,
23167    ):
23168        self.bind_interface = bind_interface if bind_interface is not None else ''
23169        '''
23170         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23171        '''
23172        self.egress_filter = egress_filter if egress_filter is not None else ''
23173        '''
23174         A filter applied to the routing logic to pin datasource to nodes.
23175        '''
23176        self.healthy = healthy if healthy is not None else False
23177        '''
23178         True if the datasource is reachable and the credentials are valid.
23179        '''
23180        self.hostname = hostname if hostname is not None else ''
23181        '''
23182         The host to dial to initiate a connection from the egress node to this resource.
23183        '''
23184        self.id = id if id is not None else ''
23185        '''
23186         Unique identifier of the Resource.
23187        '''
23188        self.name = name if name is not None else ''
23189        '''
23190         Unique human-readable name of the Resource.
23191        '''
23192        self.password = password if password is not None else ''
23193        '''
23194         The password to authenticate with.
23195        '''
23196        self.port = port if port is not None else 0
23197        '''
23198         The port to dial to initiate a connection from the egress node to this resource.
23199        '''
23200        self.port_override = port_override if port_override is not None else 0
23201        '''
23202         The local port used by clients to connect to this resource.
23203        '''
23204        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23205        '''
23206         ID of the proxy cluster for this resource, if any.
23207        '''
23208        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23209        '''
23210         ID of the secret store containing credentials for this resource, if any.
23211        '''
23212        self.subdomain = subdomain if subdomain is not None else ''
23213        '''
23214         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23215        '''
23216        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23217        '''
23218         Tags is a map of key, value pairs.
23219        '''
23220        self.tls_required = tls_required if tls_required is not None else False
23221        '''
23222         If set, TLS must be used to connect to this resource.
23223        '''
23224        self.username = username if username is not None else ''
23225        '''
23226         The username to authenticate with.
23227        '''
23228
23229    def __repr__(self):
23230        return '<sdm.RabbitMQAMQP091 ' + \
23231            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23232            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23233            'healthy: ' + repr(self.healthy) + ' ' +\
23234            'hostname: ' + repr(self.hostname) + ' ' +\
23235            'id: ' + repr(self.id) + ' ' +\
23236            'name: ' + repr(self.name) + ' ' +\
23237            'password: ' + repr(self.password) + ' ' +\
23238            'port: ' + repr(self.port) + ' ' +\
23239            'port_override: ' + repr(self.port_override) + ' ' +\
23240            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23241            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23242            'subdomain: ' + repr(self.subdomain) + ' ' +\
23243            'tags: ' + repr(self.tags) + ' ' +\
23244            'tls_required: ' + repr(self.tls_required) + ' ' +\
23245            'username: ' + repr(self.username) + ' ' +\
23246            '>'
23247
23248    def to_dict(self):
23249        return {
23250            'bind_interface': self.bind_interface,
23251            'egress_filter': self.egress_filter,
23252            'healthy': self.healthy,
23253            'hostname': self.hostname,
23254            'id': self.id,
23255            'name': self.name,
23256            'password': self.password,
23257            'port': self.port,
23258            'port_override': self.port_override,
23259            'proxy_cluster_id': self.proxy_cluster_id,
23260            'secret_store_id': self.secret_store_id,
23261            'subdomain': self.subdomain,
23262            'tags': self.tags,
23263            'tls_required': self.tls_required,
23264            'username': self.username,
23265        }
23266
23267    @classmethod
23268    def from_dict(cls, d):
23269        return cls(
23270            bind_interface=d.get('bind_interface'),
23271            egress_filter=d.get('egress_filter'),
23272            healthy=d.get('healthy'),
23273            hostname=d.get('hostname'),
23274            id=d.get('id'),
23275            name=d.get('name'),
23276            password=d.get('password'),
23277            port=d.get('port'),
23278            port_override=d.get('port_override'),
23279            proxy_cluster_id=d.get('proxy_cluster_id'),
23280            secret_store_id=d.get('secret_store_id'),
23281            subdomain=d.get('subdomain'),
23282            tags=d.get('tags'),
23283            tls_required=d.get('tls_required'),
23284            username=d.get('username'),
23285        )
23286
23287
23288class RateLimitMetadata:
23289    '''
23290         RateLimitMetadata contains information about remaining requests avaialable
23291     to the user over some timeframe.
23292    '''
23293    __slots__ = [
23294        'bucket',
23295        'limit',
23296        'remaining',
23297        'reset_at',
23298    ]
23299
23300    def __init__(
23301        self,
23302        bucket=None,
23303        limit=None,
23304        remaining=None,
23305        reset_at=None,
23306    ):
23307        self.bucket = bucket if bucket is not None else ''
23308        '''
23309         The bucket this user/token is associated with, which may be shared between
23310         multiple users/tokens.
23311        '''
23312        self.limit = limit if limit is not None else 0
23313        '''
23314         How many total requests the user/token is authorized to make before being
23315         rate limited.
23316        '''
23317        self.remaining = remaining if remaining is not None else 0
23318        '''
23319         How many remaining requests out of the limit are still avaialable.
23320        '''
23321        self.reset_at = reset_at if reset_at is not None else None
23322        '''
23323         The time when remaining will be reset to limit.
23324        '''
23325
23326    def __repr__(self):
23327        return '<sdm.RateLimitMetadata ' + \
23328            'bucket: ' + repr(self.bucket) + ' ' +\
23329            'limit: ' + repr(self.limit) + ' ' +\
23330            'remaining: ' + repr(self.remaining) + ' ' +\
23331            'reset_at: ' + repr(self.reset_at) + ' ' +\
23332            '>'
23333
23334    def to_dict(self):
23335        return {
23336            'bucket': self.bucket,
23337            'limit': self.limit,
23338            'remaining': self.remaining,
23339            'reset_at': self.reset_at,
23340        }
23341
23342    @classmethod
23343    def from_dict(cls, d):
23344        return cls(
23345            bucket=d.get('bucket'),
23346            limit=d.get('limit'),
23347            remaining=d.get('remaining'),
23348            reset_at=d.get('reset_at'),
23349        )
23350
23351
23352class RawTCP:
23353    __slots__ = [
23354        'bind_interface',
23355        'egress_filter',
23356        'healthy',
23357        'hostname',
23358        'id',
23359        'name',
23360        'port',
23361        'port_override',
23362        'proxy_cluster_id',
23363        'secret_store_id',
23364        'subdomain',
23365        'tags',
23366    ]
23367
23368    def __init__(
23369        self,
23370        bind_interface=None,
23371        egress_filter=None,
23372        healthy=None,
23373        hostname=None,
23374        id=None,
23375        name=None,
23376        port=None,
23377        port_override=None,
23378        proxy_cluster_id=None,
23379        secret_store_id=None,
23380        subdomain=None,
23381        tags=None,
23382    ):
23383        self.bind_interface = bind_interface if bind_interface is not None else ''
23384        '''
23385         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23386        '''
23387        self.egress_filter = egress_filter if egress_filter is not None else ''
23388        '''
23389         A filter applied to the routing logic to pin datasource to nodes.
23390        '''
23391        self.healthy = healthy if healthy is not None else False
23392        '''
23393         True if the datasource is reachable and the credentials are valid.
23394        '''
23395        self.hostname = hostname if hostname is not None else ''
23396        '''
23397         The host to dial to initiate a connection from the egress node to this resource.
23398        '''
23399        self.id = id if id is not None else ''
23400        '''
23401         Unique identifier of the Resource.
23402        '''
23403        self.name = name if name is not None else ''
23404        '''
23405         Unique human-readable name of the Resource.
23406        '''
23407        self.port = port if port is not None else 0
23408        '''
23409         The port to dial to initiate a connection from the egress node to this resource.
23410        '''
23411        self.port_override = port_override if port_override is not None else 0
23412        '''
23413         The local port used by clients to connect to this resource.
23414        '''
23415        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23416        '''
23417         ID of the proxy cluster for this resource, if any.
23418        '''
23419        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23420        '''
23421         ID of the secret store containing credentials for this resource, if any.
23422        '''
23423        self.subdomain = subdomain if subdomain is not None else ''
23424        '''
23425         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23426        '''
23427        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23428        '''
23429         Tags is a map of key, value pairs.
23430        '''
23431
23432    def __repr__(self):
23433        return '<sdm.RawTCP ' + \
23434            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23435            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23436            'healthy: ' + repr(self.healthy) + ' ' +\
23437            'hostname: ' + repr(self.hostname) + ' ' +\
23438            'id: ' + repr(self.id) + ' ' +\
23439            'name: ' + repr(self.name) + ' ' +\
23440            'port: ' + repr(self.port) + ' ' +\
23441            'port_override: ' + repr(self.port_override) + ' ' +\
23442            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23443            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23444            'subdomain: ' + repr(self.subdomain) + ' ' +\
23445            'tags: ' + repr(self.tags) + ' ' +\
23446            '>'
23447
23448    def to_dict(self):
23449        return {
23450            'bind_interface': self.bind_interface,
23451            'egress_filter': self.egress_filter,
23452            'healthy': self.healthy,
23453            'hostname': self.hostname,
23454            'id': self.id,
23455            'name': self.name,
23456            'port': self.port,
23457            'port_override': self.port_override,
23458            'proxy_cluster_id': self.proxy_cluster_id,
23459            'secret_store_id': self.secret_store_id,
23460            'subdomain': self.subdomain,
23461            'tags': self.tags,
23462        }
23463
23464    @classmethod
23465    def from_dict(cls, d):
23466        return cls(
23467            bind_interface=d.get('bind_interface'),
23468            egress_filter=d.get('egress_filter'),
23469            healthy=d.get('healthy'),
23470            hostname=d.get('hostname'),
23471            id=d.get('id'),
23472            name=d.get('name'),
23473            port=d.get('port'),
23474            port_override=d.get('port_override'),
23475            proxy_cluster_id=d.get('proxy_cluster_id'),
23476            secret_store_id=d.get('secret_store_id'),
23477            subdomain=d.get('subdomain'),
23478            tags=d.get('tags'),
23479        )
23480
23481
23482class Redis:
23483    __slots__ = [
23484        'bind_interface',
23485        'egress_filter',
23486        'healthy',
23487        'hostname',
23488        'id',
23489        'name',
23490        'password',
23491        'port',
23492        'port_override',
23493        'proxy_cluster_id',
23494        'secret_store_id',
23495        'subdomain',
23496        'tags',
23497        'tls_required',
23498        'username',
23499    ]
23500
23501    def __init__(
23502        self,
23503        bind_interface=None,
23504        egress_filter=None,
23505        healthy=None,
23506        hostname=None,
23507        id=None,
23508        name=None,
23509        password=None,
23510        port=None,
23511        port_override=None,
23512        proxy_cluster_id=None,
23513        secret_store_id=None,
23514        subdomain=None,
23515        tags=None,
23516        tls_required=None,
23517        username=None,
23518    ):
23519        self.bind_interface = bind_interface if bind_interface is not None else ''
23520        '''
23521         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23522        '''
23523        self.egress_filter = egress_filter if egress_filter is not None else ''
23524        '''
23525         A filter applied to the routing logic to pin datasource to nodes.
23526        '''
23527        self.healthy = healthy if healthy is not None else False
23528        '''
23529         True if the datasource is reachable and the credentials are valid.
23530        '''
23531        self.hostname = hostname if hostname is not None else ''
23532        '''
23533         The host to dial to initiate a connection from the egress node to this resource.
23534        '''
23535        self.id = id if id is not None else ''
23536        '''
23537         Unique identifier of the Resource.
23538        '''
23539        self.name = name if name is not None else ''
23540        '''
23541         Unique human-readable name of the Resource.
23542        '''
23543        self.password = password if password is not None else ''
23544        '''
23545         The password to authenticate with.
23546        '''
23547        self.port = port if port is not None else 0
23548        '''
23549         The port to dial to initiate a connection from the egress node to this resource.
23550        '''
23551        self.port_override = port_override if port_override is not None else 0
23552        '''
23553         The local port used by clients to connect to this resource.
23554        '''
23555        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23556        '''
23557         ID of the proxy cluster for this resource, if any.
23558        '''
23559        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23560        '''
23561         ID of the secret store containing credentials for this resource, if any.
23562        '''
23563        self.subdomain = subdomain if subdomain is not None else ''
23564        '''
23565         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23566        '''
23567        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23568        '''
23569         Tags is a map of key, value pairs.
23570        '''
23571        self.tls_required = tls_required if tls_required is not None else False
23572        '''
23573         If set, TLS must be used to connect to this resource.
23574        '''
23575        self.username = username if username is not None else ''
23576        '''
23577         The username to authenticate with.
23578        '''
23579
23580    def __repr__(self):
23581        return '<sdm.Redis ' + \
23582            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23583            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23584            'healthy: ' + repr(self.healthy) + ' ' +\
23585            'hostname: ' + repr(self.hostname) + ' ' +\
23586            'id: ' + repr(self.id) + ' ' +\
23587            'name: ' + repr(self.name) + ' ' +\
23588            'password: ' + repr(self.password) + ' ' +\
23589            'port: ' + repr(self.port) + ' ' +\
23590            'port_override: ' + repr(self.port_override) + ' ' +\
23591            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23592            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23593            'subdomain: ' + repr(self.subdomain) + ' ' +\
23594            'tags: ' + repr(self.tags) + ' ' +\
23595            'tls_required: ' + repr(self.tls_required) + ' ' +\
23596            'username: ' + repr(self.username) + ' ' +\
23597            '>'
23598
23599    def to_dict(self):
23600        return {
23601            'bind_interface': self.bind_interface,
23602            'egress_filter': self.egress_filter,
23603            'healthy': self.healthy,
23604            'hostname': self.hostname,
23605            'id': self.id,
23606            'name': self.name,
23607            'password': self.password,
23608            'port': self.port,
23609            'port_override': self.port_override,
23610            'proxy_cluster_id': self.proxy_cluster_id,
23611            'secret_store_id': self.secret_store_id,
23612            'subdomain': self.subdomain,
23613            'tags': self.tags,
23614            'tls_required': self.tls_required,
23615            'username': self.username,
23616        }
23617
23618    @classmethod
23619    def from_dict(cls, d):
23620        return cls(
23621            bind_interface=d.get('bind_interface'),
23622            egress_filter=d.get('egress_filter'),
23623            healthy=d.get('healthy'),
23624            hostname=d.get('hostname'),
23625            id=d.get('id'),
23626            name=d.get('name'),
23627            password=d.get('password'),
23628            port=d.get('port'),
23629            port_override=d.get('port_override'),
23630            proxy_cluster_id=d.get('proxy_cluster_id'),
23631            secret_store_id=d.get('secret_store_id'),
23632            subdomain=d.get('subdomain'),
23633            tags=d.get('tags'),
23634            tls_required=d.get('tls_required'),
23635            username=d.get('username'),
23636        )
23637
23638
23639class RedisCluster:
23640    __slots__ = [
23641        'bind_interface',
23642        'egress_filter',
23643        'healthy',
23644        'hostname',
23645        'id',
23646        'name',
23647        'password',
23648        'port',
23649        'port_override',
23650        'proxy_cluster_id',
23651        'secret_store_id',
23652        'subdomain',
23653        'tags',
23654        'tls_required',
23655        'username',
23656    ]
23657
23658    def __init__(
23659        self,
23660        bind_interface=None,
23661        egress_filter=None,
23662        healthy=None,
23663        hostname=None,
23664        id=None,
23665        name=None,
23666        password=None,
23667        port=None,
23668        port_override=None,
23669        proxy_cluster_id=None,
23670        secret_store_id=None,
23671        subdomain=None,
23672        tags=None,
23673        tls_required=None,
23674        username=None,
23675    ):
23676        self.bind_interface = bind_interface if bind_interface is not None else ''
23677        '''
23678         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23679        '''
23680        self.egress_filter = egress_filter if egress_filter is not None else ''
23681        '''
23682         A filter applied to the routing logic to pin datasource to nodes.
23683        '''
23684        self.healthy = healthy if healthy is not None else False
23685        '''
23686         True if the datasource is reachable and the credentials are valid.
23687        '''
23688        self.hostname = hostname if hostname is not None else ''
23689        '''
23690         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
23691        '''
23692        self.id = id if id is not None else ''
23693        '''
23694         Unique identifier of the Resource.
23695        '''
23696        self.name = name if name is not None else ''
23697        '''
23698         Unique human-readable name of the Resource.
23699        '''
23700        self.password = password if password is not None else ''
23701        '''
23702         The password to authenticate with.
23703        '''
23704        self.port = port if port is not None else 0
23705        '''
23706         The port to dial to initiate a connection from the egress node to this resource.
23707        '''
23708        self.port_override = port_override if port_override is not None else 0
23709        '''
23710         The local port used by clients to connect to this resource.
23711        '''
23712        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23713        '''
23714         ID of the proxy cluster for this resource, if any.
23715        '''
23716        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23717        '''
23718         ID of the secret store containing credentials for this resource, if any.
23719        '''
23720        self.subdomain = subdomain if subdomain is not None else ''
23721        '''
23722         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23723        '''
23724        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23725        '''
23726         Tags is a map of key, value pairs.
23727        '''
23728        self.tls_required = tls_required if tls_required is not None else False
23729        '''
23730         If set, TLS must be used to connect to this resource.
23731        '''
23732        self.username = username if username is not None else ''
23733        '''
23734         The username to authenticate with.
23735        '''
23736
23737    def __repr__(self):
23738        return '<sdm.RedisCluster ' + \
23739            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23740            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23741            'healthy: ' + repr(self.healthy) + ' ' +\
23742            'hostname: ' + repr(self.hostname) + ' ' +\
23743            'id: ' + repr(self.id) + ' ' +\
23744            'name: ' + repr(self.name) + ' ' +\
23745            'password: ' + repr(self.password) + ' ' +\
23746            'port: ' + repr(self.port) + ' ' +\
23747            'port_override: ' + repr(self.port_override) + ' ' +\
23748            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23749            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23750            'subdomain: ' + repr(self.subdomain) + ' ' +\
23751            'tags: ' + repr(self.tags) + ' ' +\
23752            'tls_required: ' + repr(self.tls_required) + ' ' +\
23753            'username: ' + repr(self.username) + ' ' +\
23754            '>'
23755
23756    def to_dict(self):
23757        return {
23758            'bind_interface': self.bind_interface,
23759            'egress_filter': self.egress_filter,
23760            'healthy': self.healthy,
23761            'hostname': self.hostname,
23762            'id': self.id,
23763            'name': self.name,
23764            'password': self.password,
23765            'port': self.port,
23766            'port_override': self.port_override,
23767            'proxy_cluster_id': self.proxy_cluster_id,
23768            'secret_store_id': self.secret_store_id,
23769            'subdomain': self.subdomain,
23770            'tags': self.tags,
23771            'tls_required': self.tls_required,
23772            'username': self.username,
23773        }
23774
23775    @classmethod
23776    def from_dict(cls, d):
23777        return cls(
23778            bind_interface=d.get('bind_interface'),
23779            egress_filter=d.get('egress_filter'),
23780            healthy=d.get('healthy'),
23781            hostname=d.get('hostname'),
23782            id=d.get('id'),
23783            name=d.get('name'),
23784            password=d.get('password'),
23785            port=d.get('port'),
23786            port_override=d.get('port_override'),
23787            proxy_cluster_id=d.get('proxy_cluster_id'),
23788            secret_store_id=d.get('secret_store_id'),
23789            subdomain=d.get('subdomain'),
23790            tags=d.get('tags'),
23791            tls_required=d.get('tls_required'),
23792            username=d.get('username'),
23793        )
23794
23795
23796class Redshift:
23797    __slots__ = [
23798        'bind_interface',
23799        'database',
23800        'egress_filter',
23801        'healthy',
23802        'hostname',
23803        'id',
23804        'name',
23805        'override_database',
23806        'password',
23807        'port',
23808        'port_override',
23809        'proxy_cluster_id',
23810        'secret_store_id',
23811        'subdomain',
23812        'tags',
23813        'username',
23814    ]
23815
23816    def __init__(
23817        self,
23818        bind_interface=None,
23819        database=None,
23820        egress_filter=None,
23821        healthy=None,
23822        hostname=None,
23823        id=None,
23824        name=None,
23825        override_database=None,
23826        password=None,
23827        port=None,
23828        port_override=None,
23829        proxy_cluster_id=None,
23830        secret_store_id=None,
23831        subdomain=None,
23832        tags=None,
23833        username=None,
23834    ):
23835        self.bind_interface = bind_interface if bind_interface is not None else ''
23836        '''
23837         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23838        '''
23839        self.database = database if database is not None else ''
23840        '''
23841         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
23842        '''
23843        self.egress_filter = egress_filter if egress_filter is not None else ''
23844        '''
23845         A filter applied to the routing logic to pin datasource to nodes.
23846        '''
23847        self.healthy = healthy if healthy is not None else False
23848        '''
23849         True if the datasource is reachable and the credentials are valid.
23850        '''
23851        self.hostname = hostname if hostname is not None else ''
23852        '''
23853         The host to dial to initiate a connection from the egress node to this resource.
23854        '''
23855        self.id = id if id is not None else ''
23856        '''
23857         Unique identifier of the Resource.
23858        '''
23859        self.name = name if name is not None else ''
23860        '''
23861         Unique human-readable name of the Resource.
23862        '''
23863        self.override_database = override_database if override_database is not None else False
23864        '''
23865         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
23866        '''
23867        self.password = password if password is not None else ''
23868        '''
23869         The password to authenticate with.
23870        '''
23871        self.port = port if port is not None else 0
23872        '''
23873         The port to dial to initiate a connection from the egress node to this resource.
23874        '''
23875        self.port_override = port_override if port_override is not None else 0
23876        '''
23877         The local port used by clients to connect to this resource.
23878        '''
23879        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23880        '''
23881         ID of the proxy cluster for this resource, if any.
23882        '''
23883        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23884        '''
23885         ID of the secret store containing credentials for this resource, if any.
23886        '''
23887        self.subdomain = subdomain if subdomain is not None else ''
23888        '''
23889         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23890        '''
23891        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23892        '''
23893         Tags is a map of key, value pairs.
23894        '''
23895        self.username = username if username is not None else ''
23896        '''
23897         The username to authenticate with.
23898        '''
23899
23900    def __repr__(self):
23901        return '<sdm.Redshift ' + \
23902            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23903            'database: ' + repr(self.database) + ' ' +\
23904            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23905            'healthy: ' + repr(self.healthy) + ' ' +\
23906            'hostname: ' + repr(self.hostname) + ' ' +\
23907            'id: ' + repr(self.id) + ' ' +\
23908            'name: ' + repr(self.name) + ' ' +\
23909            'override_database: ' + repr(self.override_database) + ' ' +\
23910            'password: ' + repr(self.password) + ' ' +\
23911            'port: ' + repr(self.port) + ' ' +\
23912            'port_override: ' + repr(self.port_override) + ' ' +\
23913            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23914            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23915            'subdomain: ' + repr(self.subdomain) + ' ' +\
23916            'tags: ' + repr(self.tags) + ' ' +\
23917            'username: ' + repr(self.username) + ' ' +\
23918            '>'
23919
23920    def to_dict(self):
23921        return {
23922            'bind_interface': self.bind_interface,
23923            'database': self.database,
23924            'egress_filter': self.egress_filter,
23925            'healthy': self.healthy,
23926            'hostname': self.hostname,
23927            'id': self.id,
23928            'name': self.name,
23929            'override_database': self.override_database,
23930            'password': self.password,
23931            'port': self.port,
23932            'port_override': self.port_override,
23933            'proxy_cluster_id': self.proxy_cluster_id,
23934            'secret_store_id': self.secret_store_id,
23935            'subdomain': self.subdomain,
23936            'tags': self.tags,
23937            'username': self.username,
23938        }
23939
23940    @classmethod
23941    def from_dict(cls, d):
23942        return cls(
23943            bind_interface=d.get('bind_interface'),
23944            database=d.get('database'),
23945            egress_filter=d.get('egress_filter'),
23946            healthy=d.get('healthy'),
23947            hostname=d.get('hostname'),
23948            id=d.get('id'),
23949            name=d.get('name'),
23950            override_database=d.get('override_database'),
23951            password=d.get('password'),
23952            port=d.get('port'),
23953            port_override=d.get('port_override'),
23954            proxy_cluster_id=d.get('proxy_cluster_id'),
23955            secret_store_id=d.get('secret_store_id'),
23956            subdomain=d.get('subdomain'),
23957            tags=d.get('tags'),
23958            username=d.get('username'),
23959        )
23960
23961
23962class RedshiftIAM:
23963    __slots__ = [
23964        'bind_interface',
23965        'cluster_id',
23966        'database',
23967        'egress_filter',
23968        'healthy',
23969        'hostname',
23970        'id',
23971        'name',
23972        'override_database',
23973        'port',
23974        'port_override',
23975        'proxy_cluster_id',
23976        'region',
23977        'role_assumption_arn',
23978        'secret_store_id',
23979        'subdomain',
23980        'tags',
23981    ]
23982
23983    def __init__(
23984        self,
23985        bind_interface=None,
23986        cluster_id=None,
23987        database=None,
23988        egress_filter=None,
23989        healthy=None,
23990        hostname=None,
23991        id=None,
23992        name=None,
23993        override_database=None,
23994        port=None,
23995        port_override=None,
23996        proxy_cluster_id=None,
23997        region=None,
23998        role_assumption_arn=None,
23999        secret_store_id=None,
24000        subdomain=None,
24001        tags=None,
24002    ):
24003        self.bind_interface = bind_interface if bind_interface is not None else ''
24004        '''
24005         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24006        '''
24007        self.cluster_id = cluster_id if cluster_id is not None else ''
24008        '''
24009         Cluster Identified of Redshift cluster
24010        '''
24011        self.database = database if database is not None else ''
24012        '''
24013         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
24014        '''
24015        self.egress_filter = egress_filter if egress_filter is not None else ''
24016        '''
24017         A filter applied to the routing logic to pin datasource to nodes.
24018        '''
24019        self.healthy = healthy if healthy is not None else False
24020        '''
24021         True if the datasource is reachable and the credentials are valid.
24022        '''
24023        self.hostname = hostname if hostname is not None else ''
24024        '''
24025         The host to dial to initiate a connection from the egress node to this resource.
24026        '''
24027        self.id = id if id is not None else ''
24028        '''
24029         Unique identifier of the Resource.
24030        '''
24031        self.name = name if name is not None else ''
24032        '''
24033         Unique human-readable name of the Resource.
24034        '''
24035        self.override_database = override_database if override_database is not None else False
24036        '''
24037         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
24038        '''
24039        self.port = port if port is not None else 0
24040        '''
24041         The port to dial to initiate a connection from the egress node to this resource.
24042        '''
24043        self.port_override = port_override if port_override is not None else 0
24044        '''
24045         The local port used by clients to connect to this resource.
24046        '''
24047        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24048        '''
24049         ID of the proxy cluster for this resource, if any.
24050        '''
24051        self.region = region if region is not None else ''
24052        '''
24053         The AWS region to connect to.
24054        '''
24055        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
24056        '''
24057         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
24058        '''
24059        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24060        '''
24061         ID of the secret store containing credentials for this resource, if any.
24062        '''
24063        self.subdomain = subdomain if subdomain is not None else ''
24064        '''
24065         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24066        '''
24067        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24068        '''
24069         Tags is a map of key, value pairs.
24070        '''
24071
24072    def __repr__(self):
24073        return '<sdm.RedshiftIAM ' + \
24074            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24075            'cluster_id: ' + repr(self.cluster_id) + ' ' +\
24076            'database: ' + repr(self.database) + ' ' +\
24077            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24078            'healthy: ' + repr(self.healthy) + ' ' +\
24079            'hostname: ' + repr(self.hostname) + ' ' +\
24080            'id: ' + repr(self.id) + ' ' +\
24081            'name: ' + repr(self.name) + ' ' +\
24082            'override_database: ' + repr(self.override_database) + ' ' +\
24083            'port: ' + repr(self.port) + ' ' +\
24084            'port_override: ' + repr(self.port_override) + ' ' +\
24085            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24086            'region: ' + repr(self.region) + ' ' +\
24087            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
24088            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24089            'subdomain: ' + repr(self.subdomain) + ' ' +\
24090            'tags: ' + repr(self.tags) + ' ' +\
24091            '>'
24092
24093    def to_dict(self):
24094        return {
24095            'bind_interface': self.bind_interface,
24096            'cluster_id': self.cluster_id,
24097            'database': self.database,
24098            'egress_filter': self.egress_filter,
24099            'healthy': self.healthy,
24100            'hostname': self.hostname,
24101            'id': self.id,
24102            'name': self.name,
24103            'override_database': self.override_database,
24104            'port': self.port,
24105            'port_override': self.port_override,
24106            'proxy_cluster_id': self.proxy_cluster_id,
24107            'region': self.region,
24108            'role_assumption_arn': self.role_assumption_arn,
24109            'secret_store_id': self.secret_store_id,
24110            'subdomain': self.subdomain,
24111            'tags': self.tags,
24112        }
24113
24114    @classmethod
24115    def from_dict(cls, d):
24116        return cls(
24117            bind_interface=d.get('bind_interface'),
24118            cluster_id=d.get('cluster_id'),
24119            database=d.get('database'),
24120            egress_filter=d.get('egress_filter'),
24121            healthy=d.get('healthy'),
24122            hostname=d.get('hostname'),
24123            id=d.get('id'),
24124            name=d.get('name'),
24125            override_database=d.get('override_database'),
24126            port=d.get('port'),
24127            port_override=d.get('port_override'),
24128            proxy_cluster_id=d.get('proxy_cluster_id'),
24129            region=d.get('region'),
24130            role_assumption_arn=d.get('role_assumption_arn'),
24131            secret_store_id=d.get('secret_store_id'),
24132            subdomain=d.get('subdomain'),
24133            tags=d.get('tags'),
24134        )
24135
24136
24137class RedshiftServerlessIAM:
24138    __slots__ = [
24139        'bind_interface',
24140        'database',
24141        'egress_filter',
24142        'healthy',
24143        'hostname',
24144        'id',
24145        'name',
24146        'override_database',
24147        'port',
24148        'port_override',
24149        'proxy_cluster_id',
24150        'region',
24151        'role_assumption_arn',
24152        'secret_store_id',
24153        'subdomain',
24154        'tags',
24155        'workgroup',
24156    ]
24157
24158    def __init__(
24159        self,
24160        bind_interface=None,
24161        database=None,
24162        egress_filter=None,
24163        healthy=None,
24164        hostname=None,
24165        id=None,
24166        name=None,
24167        override_database=None,
24168        port=None,
24169        port_override=None,
24170        proxy_cluster_id=None,
24171        region=None,
24172        role_assumption_arn=None,
24173        secret_store_id=None,
24174        subdomain=None,
24175        tags=None,
24176        workgroup=None,
24177    ):
24178        self.bind_interface = bind_interface if bind_interface is not None else ''
24179        '''
24180         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24181        '''
24182        self.database = database if database is not None else ''
24183        '''
24184         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
24185        '''
24186        self.egress_filter = egress_filter if egress_filter is not None else ''
24187        '''
24188         A filter applied to the routing logic to pin datasource to nodes.
24189        '''
24190        self.healthy = healthy if healthy is not None else False
24191        '''
24192         True if the datasource is reachable and the credentials are valid.
24193        '''
24194        self.hostname = hostname if hostname is not None else ''
24195        '''
24196         The host to dial to initiate a connection from the egress node to this resource.
24197        '''
24198        self.id = id if id is not None else ''
24199        '''
24200         Unique identifier of the Resource.
24201        '''
24202        self.name = name if name is not None else ''
24203        '''
24204         Unique human-readable name of the Resource.
24205        '''
24206        self.override_database = override_database if override_database is not None else False
24207        '''
24208         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
24209        '''
24210        self.port = port if port is not None else 0
24211        '''
24212         The port to dial to initiate a connection from the egress node to this resource.
24213        '''
24214        self.port_override = port_override if port_override is not None else 0
24215        '''
24216         The local port used by clients to connect to this resource.
24217        '''
24218        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24219        '''
24220         ID of the proxy cluster for this resource, if any.
24221        '''
24222        self.region = region if region is not None else ''
24223        '''
24224         The AWS region to connect to.
24225        '''
24226        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
24227        '''
24228         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
24229        '''
24230        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24231        '''
24232         ID of the secret store containing credentials for this resource, if any.
24233        '''
24234        self.subdomain = subdomain if subdomain is not None else ''
24235        '''
24236         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24237        '''
24238        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24239        '''
24240         Tags is a map of key, value pairs.
24241        '''
24242        self.workgroup = workgroup if workgroup is not None else ''
24243        '''
24244         Workgroup name in the serverless Redshift
24245        '''
24246
24247    def __repr__(self):
24248        return '<sdm.RedshiftServerlessIAM ' + \
24249            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24250            'database: ' + repr(self.database) + ' ' +\
24251            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24252            'healthy: ' + repr(self.healthy) + ' ' +\
24253            'hostname: ' + repr(self.hostname) + ' ' +\
24254            'id: ' + repr(self.id) + ' ' +\
24255            'name: ' + repr(self.name) + ' ' +\
24256            'override_database: ' + repr(self.override_database) + ' ' +\
24257            'port: ' + repr(self.port) + ' ' +\
24258            'port_override: ' + repr(self.port_override) + ' ' +\
24259            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24260            'region: ' + repr(self.region) + ' ' +\
24261            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
24262            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24263            'subdomain: ' + repr(self.subdomain) + ' ' +\
24264            'tags: ' + repr(self.tags) + ' ' +\
24265            'workgroup: ' + repr(self.workgroup) + ' ' +\
24266            '>'
24267
24268    def to_dict(self):
24269        return {
24270            'bind_interface': self.bind_interface,
24271            'database': self.database,
24272            'egress_filter': self.egress_filter,
24273            'healthy': self.healthy,
24274            'hostname': self.hostname,
24275            'id': self.id,
24276            'name': self.name,
24277            'override_database': self.override_database,
24278            'port': self.port,
24279            'port_override': self.port_override,
24280            'proxy_cluster_id': self.proxy_cluster_id,
24281            'region': self.region,
24282            'role_assumption_arn': self.role_assumption_arn,
24283            'secret_store_id': self.secret_store_id,
24284            'subdomain': self.subdomain,
24285            'tags': self.tags,
24286            'workgroup': self.workgroup,
24287        }
24288
24289    @classmethod
24290    def from_dict(cls, d):
24291        return cls(
24292            bind_interface=d.get('bind_interface'),
24293            database=d.get('database'),
24294            egress_filter=d.get('egress_filter'),
24295            healthy=d.get('healthy'),
24296            hostname=d.get('hostname'),
24297            id=d.get('id'),
24298            name=d.get('name'),
24299            override_database=d.get('override_database'),
24300            port=d.get('port'),
24301            port_override=d.get('port_override'),
24302            proxy_cluster_id=d.get('proxy_cluster_id'),
24303            region=d.get('region'),
24304            role_assumption_arn=d.get('role_assumption_arn'),
24305            secret_store_id=d.get('secret_store_id'),
24306            subdomain=d.get('subdomain'),
24307            tags=d.get('tags'),
24308            workgroup=d.get('workgroup'),
24309        )
24310
24311
24312class Relay:
24313    '''
24314         Relay represents a StrongDM CLI installation running in relay mode.
24315    '''
24316    __slots__ = [
24317        'device',
24318        'gateway_filter',
24319        'id',
24320        'location',
24321        'maintenance_windows',
24322        'name',
24323        'state',
24324        'tags',
24325        'version',
24326    ]
24327
24328    def __init__(
24329        self,
24330        device=None,
24331        gateway_filter=None,
24332        id=None,
24333        location=None,
24334        maintenance_windows=None,
24335        name=None,
24336        state=None,
24337        tags=None,
24338        version=None,
24339    ):
24340        self.device = device if device is not None else ''
24341        '''
24342         Device is a read only device name uploaded by the gateway process when
24343         it comes online.
24344        '''
24345        self.gateway_filter = gateway_filter if gateway_filter is not None else ''
24346        '''
24347         GatewayFilter can be used to restrict the peering between relays and
24348         gateways. Deprecated.
24349        '''
24350        self.id = id if id is not None else ''
24351        '''
24352         Unique identifier of the Relay.
24353        '''
24354        self.location = location if location is not None else ''
24355        '''
24356         Location is a read only network location uploaded by the gateway process
24357         when it comes online.
24358        '''
24359        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
24360        '''
24361         Maintenance Windows define when this node is allowed to restart. If a node
24362         is requested to restart, it will check each window to determine if any of
24363         them permit it to restart, and if any do, it will. This check is repeated
24364         per window until the restart is successfully completed.
24365         
24366         If not set here, may be set on the command line or via an environment variable
24367         on the process itself; any server setting will take precedence over local
24368         settings. This setting is ineffective for nodes below version 38.44.0.
24369         
24370         If this setting is not applied via this remote configuration or via local
24371         configuration, the default setting is used: always allow restarts if serving
24372         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
24373        '''
24374        self.name = name if name is not None else ''
24375        '''
24376         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.
24377        '''
24378        self.state = state if state is not None else ''
24379        '''
24380         The current state of the relay, one of the NodeState constants.
24381        '''
24382        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24383        '''
24384         Tags is a map of key, value pairs.
24385        '''
24386        self.version = version if version is not None else ''
24387        '''
24388         Version is a read only sdm binary version uploaded by the gateway process
24389         when it comes online.
24390        '''
24391
24392    def __repr__(self):
24393        return '<sdm.Relay ' + \
24394            'device: ' + repr(self.device) + ' ' +\
24395            'gateway_filter: ' + repr(self.gateway_filter) + ' ' +\
24396            'id: ' + repr(self.id) + ' ' +\
24397            'location: ' + repr(self.location) + ' ' +\
24398            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
24399            'name: ' + repr(self.name) + ' ' +\
24400            'state: ' + repr(self.state) + ' ' +\
24401            'tags: ' + repr(self.tags) + ' ' +\
24402            'version: ' + repr(self.version) + ' ' +\
24403            '>'
24404
24405    def to_dict(self):
24406        return {
24407            'device': self.device,
24408            'gateway_filter': self.gateway_filter,
24409            'id': self.id,
24410            'location': self.location,
24411            'maintenance_windows': self.maintenance_windows,
24412            'name': self.name,
24413            'state': self.state,
24414            'tags': self.tags,
24415            'version': self.version,
24416        }
24417
24418    @classmethod
24419    def from_dict(cls, d):
24420        return cls(
24421            device=d.get('device'),
24422            gateway_filter=d.get('gateway_filter'),
24423            id=d.get('id'),
24424            location=d.get('location'),
24425            maintenance_windows=d.get('maintenance_windows'),
24426            name=d.get('name'),
24427            state=d.get('state'),
24428            tags=d.get('tags'),
24429            version=d.get('version'),
24430        )
24431
24432
24433class RemoteIdentity:
24434    '''
24435         RemoteIdentities define the username to be used for a specific account
24436     when connecting to a remote resource using that group.
24437    '''
24438    __slots__ = [
24439        'account_id',
24440        'id',
24441        'remote_identity_group_id',
24442        'username',
24443    ]
24444
24445    def __init__(
24446        self,
24447        account_id=None,
24448        id=None,
24449        remote_identity_group_id=None,
24450        username=None,
24451    ):
24452        self.account_id = account_id if account_id is not None else ''
24453        '''
24454         The account for this remote identity.
24455        '''
24456        self.id = id if id is not None else ''
24457        '''
24458         Unique identifier of the RemoteIdentity.
24459        '''
24460        self.remote_identity_group_id = remote_identity_group_id if remote_identity_group_id is not None else ''
24461        '''
24462         The remote identity group.
24463        '''
24464        self.username = username if username is not None else ''
24465        '''
24466         The username to be used as the remote identity for this account.
24467        '''
24468
24469    def __repr__(self):
24470        return '<sdm.RemoteIdentity ' + \
24471            'account_id: ' + repr(self.account_id) + ' ' +\
24472            'id: ' + repr(self.id) + ' ' +\
24473            'remote_identity_group_id: ' + repr(self.remote_identity_group_id) + ' ' +\
24474            'username: ' + repr(self.username) + ' ' +\
24475            '>'
24476
24477    def to_dict(self):
24478        return {
24479            'account_id': self.account_id,
24480            'id': self.id,
24481            'remote_identity_group_id': self.remote_identity_group_id,
24482            'username': self.username,
24483        }
24484
24485    @classmethod
24486    def from_dict(cls, d):
24487        return cls(
24488            account_id=d.get('account_id'),
24489            id=d.get('id'),
24490            remote_identity_group_id=d.get('remote_identity_group_id'),
24491            username=d.get('username'),
24492        )
24493
24494
24495class RemoteIdentityCreateResponse:
24496    '''
24497         RemoteIdentityCreateResponse reports how the RemoteIdentities were created in the system.
24498    '''
24499    __slots__ = [
24500        'meta',
24501        'rate_limit',
24502        'remote_identity',
24503    ]
24504
24505    def __init__(
24506        self,
24507        meta=None,
24508        rate_limit=None,
24509        remote_identity=None,
24510    ):
24511        self.meta = meta if meta is not None else None
24512        '''
24513         Reserved for future use.
24514        '''
24515        self.rate_limit = rate_limit if rate_limit is not None else None
24516        '''
24517         Rate limit information.
24518        '''
24519        self.remote_identity = remote_identity if remote_identity is not None else None
24520        '''
24521         The created RemoteIdentity.
24522        '''
24523
24524    def __repr__(self):
24525        return '<sdm.RemoteIdentityCreateResponse ' + \
24526            'meta: ' + repr(self.meta) + ' ' +\
24527            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24528            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
24529            '>'
24530
24531    def to_dict(self):
24532        return {
24533            'meta': self.meta,
24534            'rate_limit': self.rate_limit,
24535            'remote_identity': self.remote_identity,
24536        }
24537
24538    @classmethod
24539    def from_dict(cls, d):
24540        return cls(
24541            meta=d.get('meta'),
24542            rate_limit=d.get('rate_limit'),
24543            remote_identity=d.get('remote_identity'),
24544        )
24545
24546
24547class RemoteIdentityDeleteResponse:
24548    '''
24549         RemoteIdentityDeleteResponse returns information about a RemoteIdentity that was deleted.
24550    '''
24551    __slots__ = [
24552        'meta',
24553        'rate_limit',
24554    ]
24555
24556    def __init__(
24557        self,
24558        meta=None,
24559        rate_limit=None,
24560    ):
24561        self.meta = meta if meta is not None else None
24562        '''
24563         Reserved for future use.
24564        '''
24565        self.rate_limit = rate_limit if rate_limit is not None else None
24566        '''
24567         Rate limit information.
24568        '''
24569
24570    def __repr__(self):
24571        return '<sdm.RemoteIdentityDeleteResponse ' + \
24572            'meta: ' + repr(self.meta) + ' ' +\
24573            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24574            '>'
24575
24576    def to_dict(self):
24577        return {
24578            'meta': self.meta,
24579            'rate_limit': self.rate_limit,
24580        }
24581
24582    @classmethod
24583    def from_dict(cls, d):
24584        return cls(
24585            meta=d.get('meta'),
24586            rate_limit=d.get('rate_limit'),
24587        )
24588
24589
24590class RemoteIdentityGetResponse:
24591    '''
24592         RemoteIdentityGetResponse returns a requested RemoteIdentity.
24593    '''
24594    __slots__ = [
24595        'meta',
24596        'rate_limit',
24597        'remote_identity',
24598    ]
24599
24600    def __init__(
24601        self,
24602        meta=None,
24603        rate_limit=None,
24604        remote_identity=None,
24605    ):
24606        self.meta = meta if meta is not None else None
24607        '''
24608         Reserved for future use.
24609        '''
24610        self.rate_limit = rate_limit if rate_limit is not None else None
24611        '''
24612         Rate limit information.
24613        '''
24614        self.remote_identity = remote_identity if remote_identity is not None else None
24615        '''
24616         The requested RemoteIdentity.
24617        '''
24618
24619    def __repr__(self):
24620        return '<sdm.RemoteIdentityGetResponse ' + \
24621            'meta: ' + repr(self.meta) + ' ' +\
24622            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24623            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
24624            '>'
24625
24626    def to_dict(self):
24627        return {
24628            'meta': self.meta,
24629            'rate_limit': self.rate_limit,
24630            'remote_identity': self.remote_identity,
24631        }
24632
24633    @classmethod
24634    def from_dict(cls, d):
24635        return cls(
24636            meta=d.get('meta'),
24637            rate_limit=d.get('rate_limit'),
24638            remote_identity=d.get('remote_identity'),
24639        )
24640
24641
24642class RemoteIdentityGroup:
24643    '''
24644         A RemoteIdentityGroup defines a group of remote identities.
24645    '''
24646    __slots__ = [
24647        'id',
24648        'name',
24649    ]
24650
24651    def __init__(
24652        self,
24653        id=None,
24654        name=None,
24655    ):
24656        self.id = id if id is not None else ''
24657        '''
24658         Unique identifier of the RemoteIdentityGroup.
24659        '''
24660        self.name = name if name is not None else ''
24661        '''
24662         Unique human-readable name of the RemoteIdentityGroup.
24663        '''
24664
24665    def __repr__(self):
24666        return '<sdm.RemoteIdentityGroup ' + \
24667            'id: ' + repr(self.id) + ' ' +\
24668            'name: ' + repr(self.name) + ' ' +\
24669            '>'
24670
24671    def to_dict(self):
24672        return {
24673            'id': self.id,
24674            'name': self.name,
24675        }
24676
24677    @classmethod
24678    def from_dict(cls, d):
24679        return cls(
24680            id=d.get('id'),
24681            name=d.get('name'),
24682        )
24683
24684
24685class RemoteIdentityGroupGetResponse:
24686    '''
24687         RemoteIdentityGroupGetResponse returns a requested RemoteIdentityGroup.
24688    '''
24689    __slots__ = [
24690        'meta',
24691        'rate_limit',
24692        'remote_identity_group',
24693    ]
24694
24695    def __init__(
24696        self,
24697        meta=None,
24698        rate_limit=None,
24699        remote_identity_group=None,
24700    ):
24701        self.meta = meta if meta is not None else None
24702        '''
24703         Reserved for future use.
24704        '''
24705        self.rate_limit = rate_limit if rate_limit is not None else None
24706        '''
24707         Rate limit information.
24708        '''
24709        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
24710        '''
24711         The requested RemoteIdentityGroup.
24712        '''
24713
24714    def __repr__(self):
24715        return '<sdm.RemoteIdentityGroupGetResponse ' + \
24716            'meta: ' + repr(self.meta) + ' ' +\
24717            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24718            'remote_identity_group: ' + repr(self.remote_identity_group) + ' ' +\
24719            '>'
24720
24721    def to_dict(self):
24722        return {
24723            'meta': self.meta,
24724            'rate_limit': self.rate_limit,
24725            'remote_identity_group': self.remote_identity_group,
24726        }
24727
24728    @classmethod
24729    def from_dict(cls, d):
24730        return cls(
24731            meta=d.get('meta'),
24732            rate_limit=d.get('rate_limit'),
24733            remote_identity_group=d.get('remote_identity_group'),
24734        )
24735
24736
24737class RemoteIdentityGroupHistory:
24738    '''
24739         RemoteIdentityGroupHistory records the state of a RemoteIdentityGroup at a given point in time,
24740     where every change (create, update and delete) to a RemoteIdentityGroup produces an
24741     RemoteIdentityGroupHistory record.
24742    '''
24743    __slots__ = [
24744        'activity_id',
24745        'deleted_at',
24746        'remote_identity_group',
24747        'timestamp',
24748    ]
24749
24750    def __init__(
24751        self,
24752        activity_id=None,
24753        deleted_at=None,
24754        remote_identity_group=None,
24755        timestamp=None,
24756    ):
24757        self.activity_id = activity_id if activity_id is not None else ''
24758        '''
24759         The unique identifier of the Activity that produced this change to the RemoteIdentityGroup.
24760         May be empty for some system-initiated updates.
24761        '''
24762        self.deleted_at = deleted_at if deleted_at is not None else None
24763        '''
24764         If this RemoteIdentityGroup was deleted, the time it was deleted.
24765        '''
24766        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
24767        '''
24768         The complete RemoteIdentityGroup state at this time.
24769        '''
24770        self.timestamp = timestamp if timestamp is not None else None
24771        '''
24772         The time at which the RemoteIdentityGroup state was recorded.
24773        '''
24774
24775    def __repr__(self):
24776        return '<sdm.RemoteIdentityGroupHistory ' + \
24777            'activity_id: ' + repr(self.activity_id) + ' ' +\
24778            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
24779            'remote_identity_group: ' + repr(self.remote_identity_group) + ' ' +\
24780            'timestamp: ' + repr(self.timestamp) + ' ' +\
24781            '>'
24782
24783    def to_dict(self):
24784        return {
24785            'activity_id': self.activity_id,
24786            'deleted_at': self.deleted_at,
24787            'remote_identity_group': self.remote_identity_group,
24788            'timestamp': self.timestamp,
24789        }
24790
24791    @classmethod
24792    def from_dict(cls, d):
24793        return cls(
24794            activity_id=d.get('activity_id'),
24795            deleted_at=d.get('deleted_at'),
24796            remote_identity_group=d.get('remote_identity_group'),
24797            timestamp=d.get('timestamp'),
24798        )
24799
24800
24801class RemoteIdentityHistory:
24802    '''
24803         RemoteIdentityHistory records the state of a RemoteIdentity at a given point in time,
24804     where every change (create, update and delete) to a RemoteIdentity produces an
24805     RemoteIdentityHistory record.
24806    '''
24807    __slots__ = [
24808        'activity_id',
24809        'deleted_at',
24810        'remote_identity',
24811        'timestamp',
24812    ]
24813
24814    def __init__(
24815        self,
24816        activity_id=None,
24817        deleted_at=None,
24818        remote_identity=None,
24819        timestamp=None,
24820    ):
24821        self.activity_id = activity_id if activity_id is not None else ''
24822        '''
24823         The unique identifier of the Activity that produced this change to the RemoteIdentity.
24824         May be empty for some system-initiated updates.
24825        '''
24826        self.deleted_at = deleted_at if deleted_at is not None else None
24827        '''
24828         If this RemoteIdentity was deleted, the time it was deleted.
24829        '''
24830        self.remote_identity = remote_identity if remote_identity is not None else None
24831        '''
24832         The complete RemoteIdentity state at this time.
24833        '''
24834        self.timestamp = timestamp if timestamp is not None else None
24835        '''
24836         The time at which the RemoteIdentity state was recorded.
24837        '''
24838
24839    def __repr__(self):
24840        return '<sdm.RemoteIdentityHistory ' + \
24841            'activity_id: ' + repr(self.activity_id) + ' ' +\
24842            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
24843            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
24844            'timestamp: ' + repr(self.timestamp) + ' ' +\
24845            '>'
24846
24847    def to_dict(self):
24848        return {
24849            'activity_id': self.activity_id,
24850            'deleted_at': self.deleted_at,
24851            'remote_identity': self.remote_identity,
24852            'timestamp': self.timestamp,
24853        }
24854
24855    @classmethod
24856    def from_dict(cls, d):
24857        return cls(
24858            activity_id=d.get('activity_id'),
24859            deleted_at=d.get('deleted_at'),
24860            remote_identity=d.get('remote_identity'),
24861            timestamp=d.get('timestamp'),
24862        )
24863
24864
24865class RemoteIdentityUpdateResponse:
24866    '''
24867         RemoteIdentityUpdateResponse returns the fields of a RemoteIdentity after it has been updated by
24868     a RemoteIdentityUpdateRequest.
24869    '''
24870    __slots__ = [
24871        'meta',
24872        'rate_limit',
24873        'remote_identity',
24874    ]
24875
24876    def __init__(
24877        self,
24878        meta=None,
24879        rate_limit=None,
24880        remote_identity=None,
24881    ):
24882        self.meta = meta if meta is not None else None
24883        '''
24884         Reserved for future use.
24885        '''
24886        self.rate_limit = rate_limit if rate_limit is not None else None
24887        '''
24888         Rate limit information.
24889        '''
24890        self.remote_identity = remote_identity if remote_identity is not None else None
24891        '''
24892         The updated RemoteIdentity.
24893        '''
24894
24895    def __repr__(self):
24896        return '<sdm.RemoteIdentityUpdateResponse ' + \
24897            'meta: ' + repr(self.meta) + ' ' +\
24898            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24899            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
24900            '>'
24901
24902    def to_dict(self):
24903        return {
24904            'meta': self.meta,
24905            'rate_limit': self.rate_limit,
24906            'remote_identity': self.remote_identity,
24907        }
24908
24909    @classmethod
24910    def from_dict(cls, d):
24911        return cls(
24912            meta=d.get('meta'),
24913            rate_limit=d.get('rate_limit'),
24914            remote_identity=d.get('remote_identity'),
24915        )
24916
24917
24918class ReplayChunk:
24919    '''
24920         A ReplayChunk represents a single "chunk" of data from the query replay.
24921    '''
24922    __slots__ = [
24923        'data',
24924        'events',
24925        'symmetric_key',
24926    ]
24927
24928    def __init__(
24929        self,
24930        data=None,
24931        events=None,
24932        symmetric_key=None,
24933    ):
24934        self.data = data if data is not None else b''
24935        '''
24936         The raw data of the ReplayChunk. The data is encrypted if the associated Query is encrypted.
24937        '''
24938        self.events = events if events is not None else []
24939        '''
24940         The list of events of the ReplayChunk. If the Query is encrypted, this field is always empty
24941         and the events can be obtained by decrypting the data using the QueryKey returned with the Query.
24942        '''
24943        self.symmetric_key = symmetric_key if symmetric_key is not None else ''
24944        '''
24945         If the data is encrypted, this contains the encrypted symmetric key
24946        '''
24947
24948    def __repr__(self):
24949        return '<sdm.ReplayChunk ' + \
24950            'data: ' + repr(self.data) + ' ' +\
24951            'events: ' + repr(self.events) + ' ' +\
24952            'symmetric_key: ' + repr(self.symmetric_key) + ' ' +\
24953            '>'
24954
24955    def to_dict(self):
24956        return {
24957            'data': self.data,
24958            'events': self.events,
24959            'symmetric_key': self.symmetric_key,
24960        }
24961
24962    @classmethod
24963    def from_dict(cls, d):
24964        return cls(
24965            data=d.get('data'),
24966            events=d.get('events'),
24967            symmetric_key=d.get('symmetric_key'),
24968        )
24969
24970
24971class ReplayChunkEvent:
24972    '''
24973         A ReplayChunkEvent represents a single event within a query replay.
24974     The timing information included in each ReplayChunkEvent may be used to replay a session in real time.
24975    '''
24976    __slots__ = [
24977        'data',
24978        'duration',
24979    ]
24980
24981    def __init__(
24982        self,
24983        data=None,
24984        duration=None,
24985    ):
24986        self.data = data if data is not None else b''
24987        '''
24988         The raw data of the ReplayChunkEvent.
24989        '''
24990        self.duration = duration if duration is not None else None
24991        '''
24992         The time duration over which the data in this ReplayChunkEvent was transferred.
24993        '''
24994
24995    def __repr__(self):
24996        return '<sdm.ReplayChunkEvent ' + \
24997            'data: ' + repr(self.data) + ' ' +\
24998            'duration: ' + repr(self.duration) + ' ' +\
24999            '>'
25000
25001    def to_dict(self):
25002        return {
25003            'data': self.data,
25004            'duration': self.duration,
25005        }
25006
25007    @classmethod
25008    def from_dict(cls, d):
25009        return cls(
25010            data=d.get('data'),
25011            duration=d.get('duration'),
25012        )
25013
25014
25015class RequestableResource:
25016    '''
25017         RequestableResource is a resource that can be requested via an AccessRequestConfig
25018    '''
25019    __slots__ = [
25020        'access',
25021        'authentication',
25022        'healthy',
25023        'id',
25024        'name',
25025        'tags',
25026        'type',
25027    ]
25028
25029    def __init__(
25030        self,
25031        access=None,
25032        authentication=None,
25033        healthy=None,
25034        id=None,
25035        name=None,
25036        tags=None,
25037        type=None,
25038    ):
25039        self.access = access if access is not None else ''
25040        '''
25041         The current state of the user's access to the resources
25042        '''
25043        self.authentication = authentication if authentication is not None else ''
25044        '''
25045         The type of authentication for the resource
25046        '''
25047        self.healthy = healthy if healthy is not None else False
25048        '''
25049         The health check status of the reasource
25050        '''
25051        self.id = id if id is not None else ''
25052        '''
25053         The resource id.
25054        '''
25055        self.name = name if name is not None else ''
25056        '''
25057         The resource name.
25058        '''
25059        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25060        '''
25061         Any tags attached to this resource
25062        '''
25063        self.type = type if type is not None else ''
25064        '''
25065         The resource type
25066        '''
25067
25068    def __repr__(self):
25069        return '<sdm.RequestableResource ' + \
25070            'access: ' + repr(self.access) + ' ' +\
25071            'authentication: ' + repr(self.authentication) + ' ' +\
25072            'healthy: ' + repr(self.healthy) + ' ' +\
25073            'id: ' + repr(self.id) + ' ' +\
25074            'name: ' + repr(self.name) + ' ' +\
25075            'tags: ' + repr(self.tags) + ' ' +\
25076            'type: ' + repr(self.type) + ' ' +\
25077            '>'
25078
25079    def to_dict(self):
25080        return {
25081            'access': self.access,
25082            'authentication': self.authentication,
25083            'healthy': self.healthy,
25084            'id': self.id,
25085            'name': self.name,
25086            'tags': self.tags,
25087            'type': self.type,
25088        }
25089
25090    @classmethod
25091    def from_dict(cls, d):
25092        return cls(
25093            access=d.get('access'),
25094            authentication=d.get('authentication'),
25095            healthy=d.get('healthy'),
25096            id=d.get('id'),
25097            name=d.get('name'),
25098            tags=d.get('tags'),
25099            type=d.get('type'),
25100        )
25101
25102
25103class ResourceCreateResponse:
25104    '''
25105         ResourceCreateResponse reports how the Resources were created in the system.
25106    '''
25107    __slots__ = [
25108        'meta',
25109        'rate_limit',
25110        'resource',
25111    ]
25112
25113    def __init__(
25114        self,
25115        meta=None,
25116        rate_limit=None,
25117        resource=None,
25118    ):
25119        self.meta = meta if meta is not None else None
25120        '''
25121         Reserved for future use.
25122        '''
25123        self.rate_limit = rate_limit if rate_limit is not None else None
25124        '''
25125         Rate limit information.
25126        '''
25127        self.resource = resource if resource is not None else None
25128        '''
25129         The created Resource.
25130        '''
25131
25132    def __repr__(self):
25133        return '<sdm.ResourceCreateResponse ' + \
25134            'meta: ' + repr(self.meta) + ' ' +\
25135            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25136            'resource: ' + repr(self.resource) + ' ' +\
25137            '>'
25138
25139    def to_dict(self):
25140        return {
25141            'meta': self.meta,
25142            'rate_limit': self.rate_limit,
25143            'resource': self.resource,
25144        }
25145
25146    @classmethod
25147    def from_dict(cls, d):
25148        return cls(
25149            meta=d.get('meta'),
25150            rate_limit=d.get('rate_limit'),
25151            resource=d.get('resource'),
25152        )
25153
25154
25155class ResourceDeleteResponse:
25156    '''
25157         ResourceDeleteResponse returns information about a Resource that was deleted.
25158    '''
25159    __slots__ = [
25160        'meta',
25161        'rate_limit',
25162    ]
25163
25164    def __init__(
25165        self,
25166        meta=None,
25167        rate_limit=None,
25168    ):
25169        self.meta = meta if meta is not None else None
25170        '''
25171         Reserved for future use.
25172        '''
25173        self.rate_limit = rate_limit if rate_limit is not None else None
25174        '''
25175         Rate limit information.
25176        '''
25177
25178    def __repr__(self):
25179        return '<sdm.ResourceDeleteResponse ' + \
25180            'meta: ' + repr(self.meta) + ' ' +\
25181            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25182            '>'
25183
25184    def to_dict(self):
25185        return {
25186            'meta': self.meta,
25187            'rate_limit': self.rate_limit,
25188        }
25189
25190    @classmethod
25191    def from_dict(cls, d):
25192        return cls(
25193            meta=d.get('meta'),
25194            rate_limit=d.get('rate_limit'),
25195        )
25196
25197
25198class ResourceGetResponse:
25199    '''
25200         ResourceGetResponse returns a requested Resource.
25201    '''
25202    __slots__ = [
25203        'meta',
25204        'rate_limit',
25205        'resource',
25206    ]
25207
25208    def __init__(
25209        self,
25210        meta=None,
25211        rate_limit=None,
25212        resource=None,
25213    ):
25214        self.meta = meta if meta is not None else None
25215        '''
25216         Reserved for future use.
25217        '''
25218        self.rate_limit = rate_limit if rate_limit is not None else None
25219        '''
25220         Rate limit information.
25221        '''
25222        self.resource = resource if resource is not None else None
25223        '''
25224         The requested Resource.
25225        '''
25226
25227    def __repr__(self):
25228        return '<sdm.ResourceGetResponse ' + \
25229            'meta: ' + repr(self.meta) + ' ' +\
25230            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25231            'resource: ' + repr(self.resource) + ' ' +\
25232            '>'
25233
25234    def to_dict(self):
25235        return {
25236            'meta': self.meta,
25237            'rate_limit': self.rate_limit,
25238            'resource': self.resource,
25239        }
25240
25241    @classmethod
25242    def from_dict(cls, d):
25243        return cls(
25244            meta=d.get('meta'),
25245            rate_limit=d.get('rate_limit'),
25246            resource=d.get('resource'),
25247        )
25248
25249
25250class ResourceHealthcheckRequest:
25251    '''
25252         ResourceHealthcheckRequest specifies requesting a healthcheck for a given resource by ID.
25253    '''
25254    __slots__ = [
25255        'id',
25256    ]
25257
25258    def __init__(
25259        self,
25260        id=None,
25261    ):
25262        self.id = id if id is not None else ''
25263        '''
25264         The unique identifier of the Resource to healthcheck.
25265        '''
25266
25267    def __repr__(self):
25268        return '<sdm.ResourceHealthcheckRequest ' + \
25269            'id: ' + repr(self.id) + ' ' +\
25270            '>'
25271
25272    def to_dict(self):
25273        return {
25274            'id': self.id,
25275        }
25276
25277    @classmethod
25278    def from_dict(cls, d):
25279        return cls(id=d.get('id'), )
25280
25281
25282class ResourceHealthcheckResponse:
25283    '''
25284         ResourceHealthcheckResponse reports any metadata concerning a healthcheck response.
25285     Healthchecks are non blocking, and this contains no non-metadata.
25286    '''
25287    __slots__ = [
25288        'meta',
25289        'rate_limit',
25290    ]
25291
25292    def __init__(
25293        self,
25294        meta=None,
25295        rate_limit=None,
25296    ):
25297        self.meta = meta if meta is not None else None
25298        '''
25299         Reserved for future use.
25300        '''
25301        self.rate_limit = rate_limit if rate_limit is not None else None
25302        '''
25303         Rate limit information.
25304        '''
25305
25306    def __repr__(self):
25307        return '<sdm.ResourceHealthcheckResponse ' + \
25308            'meta: ' + repr(self.meta) + ' ' +\
25309            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25310            '>'
25311
25312    def to_dict(self):
25313        return {
25314            'meta': self.meta,
25315            'rate_limit': self.rate_limit,
25316        }
25317
25318    @classmethod
25319    def from_dict(cls, d):
25320        return cls(
25321            meta=d.get('meta'),
25322            rate_limit=d.get('rate_limit'),
25323        )
25324
25325
25326class ResourceHistory:
25327    '''
25328         ResourceHistory records the state of a Resource at a given point in time,
25329     where every change (create, update and delete) to a Resource produces an
25330     ResourceHistory record.
25331    '''
25332    __slots__ = [
25333        'activity_id',
25334        'deleted_at',
25335        'resource',
25336        'timestamp',
25337    ]
25338
25339    def __init__(
25340        self,
25341        activity_id=None,
25342        deleted_at=None,
25343        resource=None,
25344        timestamp=None,
25345    ):
25346        self.activity_id = activity_id if activity_id is not None else ''
25347        '''
25348         The unique identifier of the Activity that produced this change to the Resource.
25349         May be empty for some system-initiated updates.
25350        '''
25351        self.deleted_at = deleted_at if deleted_at is not None else None
25352        '''
25353         If this Resource was deleted, the time it was deleted.
25354        '''
25355        self.resource = resource if resource is not None else None
25356        '''
25357         The complete Resource state at this time.
25358        '''
25359        self.timestamp = timestamp if timestamp is not None else None
25360        '''
25361         The time at which the Resource state was recorded.
25362        '''
25363
25364    def __repr__(self):
25365        return '<sdm.ResourceHistory ' + \
25366            'activity_id: ' + repr(self.activity_id) + ' ' +\
25367            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
25368            'resource: ' + repr(self.resource) + ' ' +\
25369            'timestamp: ' + repr(self.timestamp) + ' ' +\
25370            '>'
25371
25372    def to_dict(self):
25373        return {
25374            'activity_id': self.activity_id,
25375            'deleted_at': self.deleted_at,
25376            'resource': self.resource,
25377            'timestamp': self.timestamp,
25378        }
25379
25380    @classmethod
25381    def from_dict(cls, d):
25382        return cls(
25383            activity_id=d.get('activity_id'),
25384            deleted_at=d.get('deleted_at'),
25385            resource=d.get('resource'),
25386            timestamp=d.get('timestamp'),
25387        )
25388
25389
25390class ResourceUpdateResponse:
25391    '''
25392         ResourceUpdateResponse returns the fields of a Resource after it has been updated by
25393     a ResourceUpdateRequest.
25394    '''
25395    __slots__ = [
25396        'meta',
25397        'rate_limit',
25398        'resource',
25399    ]
25400
25401    def __init__(
25402        self,
25403        meta=None,
25404        rate_limit=None,
25405        resource=None,
25406    ):
25407        self.meta = meta if meta is not None else None
25408        '''
25409         Reserved for future use.
25410        '''
25411        self.rate_limit = rate_limit if rate_limit is not None else None
25412        '''
25413         Rate limit information.
25414        '''
25415        self.resource = resource if resource is not None else None
25416        '''
25417         The updated Resource.
25418        '''
25419
25420    def __repr__(self):
25421        return '<sdm.ResourceUpdateResponse ' + \
25422            'meta: ' + repr(self.meta) + ' ' +\
25423            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25424            'resource: ' + repr(self.resource) + ' ' +\
25425            '>'
25426
25427    def to_dict(self):
25428        return {
25429            'meta': self.meta,
25430            'rate_limit': self.rate_limit,
25431            'resource': self.resource,
25432        }
25433
25434    @classmethod
25435    def from_dict(cls, d):
25436        return cls(
25437            meta=d.get('meta'),
25438            rate_limit=d.get('rate_limit'),
25439            resource=d.get('resource'),
25440        )
25441
25442
25443class Role:
25444    '''
25445         A Role has a list of access rules which determine which Resources the members
25446     of the Role have access to. An Account can be a member of multiple Roles via
25447     AccountAttachments.
25448    '''
25449    __slots__ = [
25450        'access_rules',
25451        'id',
25452        'managed_by',
25453        'name',
25454        'tags',
25455    ]
25456
25457    def __init__(
25458        self,
25459        access_rules=None,
25460        id=None,
25461        managed_by=None,
25462        name=None,
25463        tags=None,
25464    ):
25465        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
25466        )
25467        '''
25468         AccessRules is a list of access rules defining the resources this Role has access to.
25469        '''
25470        self.id = id if id is not None else ''
25471        '''
25472         Unique identifier of the Role.
25473        '''
25474        self.managed_by = managed_by if managed_by is not None else ''
25475        '''
25476         Managed By is a read only field for what service manages this role, e.g. StrongDM, Okta, Azure.
25477        '''
25478        self.name = name if name is not None else ''
25479        '''
25480         Unique human-readable name of the Role.
25481        '''
25482        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25483        '''
25484         Tags is a map of key, value pairs.
25485        '''
25486
25487    def __repr__(self):
25488        return '<sdm.Role ' + \
25489            'access_rules: ' + repr(self.access_rules) + ' ' +\
25490            'id: ' + repr(self.id) + ' ' +\
25491            'managed_by: ' + repr(self.managed_by) + ' ' +\
25492            'name: ' + repr(self.name) + ' ' +\
25493            'tags: ' + repr(self.tags) + ' ' +\
25494            '>'
25495
25496    def to_dict(self):
25497        return {
25498            'access_rules': self.access_rules,
25499            'id': self.id,
25500            'managed_by': self.managed_by,
25501            'name': self.name,
25502            'tags': self.tags,
25503        }
25504
25505    @classmethod
25506    def from_dict(cls, d):
25507        return cls(
25508            access_rules=d.get('access_rules'),
25509            id=d.get('id'),
25510            managed_by=d.get('managed_by'),
25511            name=d.get('name'),
25512            tags=d.get('tags'),
25513        )
25514
25515
25516class RoleCreateResponse:
25517    '''
25518         RoleCreateResponse reports how the Roles were created in the system. It can
25519     communicate partial successes or failures.
25520    '''
25521    __slots__ = [
25522        'meta',
25523        'rate_limit',
25524        'role',
25525    ]
25526
25527    def __init__(
25528        self,
25529        meta=None,
25530        rate_limit=None,
25531        role=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        self.role = role if role is not None else None
25542        '''
25543         The created Role.
25544        '''
25545
25546    def __repr__(self):
25547        return '<sdm.RoleCreateResponse ' + \
25548            'meta: ' + repr(self.meta) + ' ' +\
25549            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25550            'role: ' + repr(self.role) + ' ' +\
25551            '>'
25552
25553    def to_dict(self):
25554        return {
25555            'meta': self.meta,
25556            'rate_limit': self.rate_limit,
25557            'role': self.role,
25558        }
25559
25560    @classmethod
25561    def from_dict(cls, d):
25562        return cls(
25563            meta=d.get('meta'),
25564            rate_limit=d.get('rate_limit'),
25565            role=d.get('role'),
25566        )
25567
25568
25569class RoleDeleteResponse:
25570    '''
25571         RoleDeleteResponse returns information about a Role that was deleted.
25572    '''
25573    __slots__ = [
25574        'meta',
25575        'rate_limit',
25576    ]
25577
25578    def __init__(
25579        self,
25580        meta=None,
25581        rate_limit=None,
25582    ):
25583        self.meta = meta if meta is not None else None
25584        '''
25585         Reserved for future use.
25586        '''
25587        self.rate_limit = rate_limit if rate_limit is not None else None
25588        '''
25589         Rate limit information.
25590        '''
25591
25592    def __repr__(self):
25593        return '<sdm.RoleDeleteResponse ' + \
25594            'meta: ' + repr(self.meta) + ' ' +\
25595            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25596            '>'
25597
25598    def to_dict(self):
25599        return {
25600            'meta': self.meta,
25601            'rate_limit': self.rate_limit,
25602        }
25603
25604    @classmethod
25605    def from_dict(cls, d):
25606        return cls(
25607            meta=d.get('meta'),
25608            rate_limit=d.get('rate_limit'),
25609        )
25610
25611
25612class RoleGetResponse:
25613    '''
25614         RoleGetResponse returns a requested Role.
25615    '''
25616    __slots__ = [
25617        'meta',
25618        'rate_limit',
25619        'role',
25620    ]
25621
25622    def __init__(
25623        self,
25624        meta=None,
25625        rate_limit=None,
25626        role=None,
25627    ):
25628        self.meta = meta if meta is not None else None
25629        '''
25630         Reserved for future use.
25631        '''
25632        self.rate_limit = rate_limit if rate_limit is not None else None
25633        '''
25634         Rate limit information.
25635        '''
25636        self.role = role if role is not None else None
25637        '''
25638         The requested Role.
25639        '''
25640
25641    def __repr__(self):
25642        return '<sdm.RoleGetResponse ' + \
25643            'meta: ' + repr(self.meta) + ' ' +\
25644            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25645            'role: ' + repr(self.role) + ' ' +\
25646            '>'
25647
25648    def to_dict(self):
25649        return {
25650            'meta': self.meta,
25651            'rate_limit': self.rate_limit,
25652            'role': self.role,
25653        }
25654
25655    @classmethod
25656    def from_dict(cls, d):
25657        return cls(
25658            meta=d.get('meta'),
25659            rate_limit=d.get('rate_limit'),
25660            role=d.get('role'),
25661        )
25662
25663
25664class RoleHistory:
25665    '''
25666         RoleHistory records the state of a Role at a given point in time,
25667     where every change (create, update and delete) to a Role produces an
25668     RoleHistory record.
25669    '''
25670    __slots__ = [
25671        'activity_id',
25672        'deleted_at',
25673        'role',
25674        'timestamp',
25675    ]
25676
25677    def __init__(
25678        self,
25679        activity_id=None,
25680        deleted_at=None,
25681        role=None,
25682        timestamp=None,
25683    ):
25684        self.activity_id = activity_id if activity_id is not None else ''
25685        '''
25686         The unique identifier of the Activity that produced this change to the Role.
25687         May be empty for some system-initiated updates.
25688        '''
25689        self.deleted_at = deleted_at if deleted_at is not None else None
25690        '''
25691         If this Role was deleted, the time it was deleted.
25692        '''
25693        self.role = role if role is not None else None
25694        '''
25695         The complete Role state at this time.
25696        '''
25697        self.timestamp = timestamp if timestamp is not None else None
25698        '''
25699         The time at which the Role state was recorded.
25700        '''
25701
25702    def __repr__(self):
25703        return '<sdm.RoleHistory ' + \
25704            'activity_id: ' + repr(self.activity_id) + ' ' +\
25705            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
25706            'role: ' + repr(self.role) + ' ' +\
25707            'timestamp: ' + repr(self.timestamp) + ' ' +\
25708            '>'
25709
25710    def to_dict(self):
25711        return {
25712            'activity_id': self.activity_id,
25713            'deleted_at': self.deleted_at,
25714            'role': self.role,
25715            'timestamp': self.timestamp,
25716        }
25717
25718    @classmethod
25719    def from_dict(cls, d):
25720        return cls(
25721            activity_id=d.get('activity_id'),
25722            deleted_at=d.get('deleted_at'),
25723            role=d.get('role'),
25724            timestamp=d.get('timestamp'),
25725        )
25726
25727
25728class RoleResource:
25729    '''
25730         RoleResource represents an individual access grant of a Role to a Resource.
25731    '''
25732    __slots__ = [
25733        'granted_at',
25734        'resource_id',
25735        'role_id',
25736    ]
25737
25738    def __init__(
25739        self,
25740        granted_at=None,
25741        resource_id=None,
25742        role_id=None,
25743    ):
25744        self.granted_at = granted_at if granted_at is not None else None
25745        '''
25746         The most recent time at which access was granted. If access was granted,
25747         revoked, and granted again, this will reflect the later time.
25748        '''
25749        self.resource_id = resource_id if resource_id is not None else ''
25750        '''
25751         The unique identifier of the Resource to which access is granted.
25752        '''
25753        self.role_id = role_id if role_id is not None else ''
25754        '''
25755         The unique identifier of the Role to which access is granted.
25756        '''
25757
25758    def __repr__(self):
25759        return '<sdm.RoleResource ' + \
25760            'granted_at: ' + repr(self.granted_at) + ' ' +\
25761            'resource_id: ' + repr(self.resource_id) + ' ' +\
25762            'role_id: ' + repr(self.role_id) + ' ' +\
25763            '>'
25764
25765    def to_dict(self):
25766        return {
25767            'granted_at': self.granted_at,
25768            'resource_id': self.resource_id,
25769            'role_id': self.role_id,
25770        }
25771
25772    @classmethod
25773    def from_dict(cls, d):
25774        return cls(
25775            granted_at=d.get('granted_at'),
25776            resource_id=d.get('resource_id'),
25777            role_id=d.get('role_id'),
25778        )
25779
25780
25781class RoleResourceHistory:
25782    '''
25783         RoleResourceHistory records the state of a RoleResource at a given point in time,
25784     where every change (create or delete) to a RoleResource produces an
25785     RoleResourceHistory record.
25786    '''
25787    __slots__ = [
25788        'activity_id',
25789        'deleted_at',
25790        'role_resource',
25791        'timestamp',
25792    ]
25793
25794    def __init__(
25795        self,
25796        activity_id=None,
25797        deleted_at=None,
25798        role_resource=None,
25799        timestamp=None,
25800    ):
25801        self.activity_id = activity_id if activity_id is not None else ''
25802        '''
25803         The unique identifier of the Activity that produced this change to the RoleResource.
25804         May be empty for some system-initiated updates.
25805        '''
25806        self.deleted_at = deleted_at if deleted_at is not None else None
25807        '''
25808         If this RoleResource was deleted, the time it was deleted.
25809        '''
25810        self.role_resource = role_resource if role_resource is not None else None
25811        '''
25812         The complete RoleResource state at this time.
25813        '''
25814        self.timestamp = timestamp if timestamp is not None else None
25815        '''
25816         The time at which the RoleResource state was recorded.
25817        '''
25818
25819    def __repr__(self):
25820        return '<sdm.RoleResourceHistory ' + \
25821            'activity_id: ' + repr(self.activity_id) + ' ' +\
25822            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
25823            'role_resource: ' + repr(self.role_resource) + ' ' +\
25824            'timestamp: ' + repr(self.timestamp) + ' ' +\
25825            '>'
25826
25827    def to_dict(self):
25828        return {
25829            'activity_id': self.activity_id,
25830            'deleted_at': self.deleted_at,
25831            'role_resource': self.role_resource,
25832            'timestamp': self.timestamp,
25833        }
25834
25835    @classmethod
25836    def from_dict(cls, d):
25837        return cls(
25838            activity_id=d.get('activity_id'),
25839            deleted_at=d.get('deleted_at'),
25840            role_resource=d.get('role_resource'),
25841            timestamp=d.get('timestamp'),
25842        )
25843
25844
25845class RoleUpdateResponse:
25846    '''
25847         RoleUpdateResponse returns the fields of a Role after it has been updated by
25848     a RoleUpdateRequest.
25849    '''
25850    __slots__ = [
25851        'meta',
25852        'rate_limit',
25853        'role',
25854    ]
25855
25856    def __init__(
25857        self,
25858        meta=None,
25859        rate_limit=None,
25860        role=None,
25861    ):
25862        self.meta = meta if meta is not None else None
25863        '''
25864         Reserved for future use.
25865        '''
25866        self.rate_limit = rate_limit if rate_limit is not None else None
25867        '''
25868         Rate limit information.
25869        '''
25870        self.role = role if role is not None else None
25871        '''
25872         The updated Role.
25873        '''
25874
25875    def __repr__(self):
25876        return '<sdm.RoleUpdateResponse ' + \
25877            'meta: ' + repr(self.meta) + ' ' +\
25878            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25879            'role: ' + repr(self.role) + ' ' +\
25880            '>'
25881
25882    def to_dict(self):
25883        return {
25884            'meta': self.meta,
25885            'rate_limit': self.rate_limit,
25886            'role': self.role,
25887        }
25888
25889    @classmethod
25890    def from_dict(cls, d):
25891        return cls(
25892            meta=d.get('meta'),
25893            rate_limit=d.get('rate_limit'),
25894            role=d.get('role'),
25895        )
25896
25897
25898class SQLServer:
25899    __slots__ = [
25900        'allow_deprecated_encryption',
25901        'bind_interface',
25902        'database',
25903        'egress_filter',
25904        'healthy',
25905        'hostname',
25906        'id',
25907        'name',
25908        'override_database',
25909        'password',
25910        'port',
25911        'port_override',
25912        'proxy_cluster_id',
25913        'schema',
25914        'secret_store_id',
25915        'subdomain',
25916        'tags',
25917        'username',
25918    ]
25919
25920    def __init__(
25921        self,
25922        allow_deprecated_encryption=None,
25923        bind_interface=None,
25924        database=None,
25925        egress_filter=None,
25926        healthy=None,
25927        hostname=None,
25928        id=None,
25929        name=None,
25930        override_database=None,
25931        password=None,
25932        port=None,
25933        port_override=None,
25934        proxy_cluster_id=None,
25935        schema=None,
25936        secret_store_id=None,
25937        subdomain=None,
25938        tags=None,
25939        username=None,
25940    ):
25941        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
25942        '''
25943         Whether to allow deprecated encryption protocols to be used for this resource. For example,
25944         TLS 1.0.
25945        '''
25946        self.bind_interface = bind_interface if bind_interface is not None else ''
25947        '''
25948         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
25949        '''
25950        self.database = database if database is not None else ''
25951        '''
25952         The database for healthchecks, and used for clients if Override Default Database is true.
25953        '''
25954        self.egress_filter = egress_filter if egress_filter is not None else ''
25955        '''
25956         A filter applied to the routing logic to pin datasource to nodes.
25957        '''
25958        self.healthy = healthy if healthy is not None else False
25959        '''
25960         True if the datasource is reachable and the credentials are valid.
25961        '''
25962        self.hostname = hostname if hostname is not None else ''
25963        '''
25964         The host to dial to initiate a connection from the egress node to this resource.
25965        '''
25966        self.id = id if id is not None else ''
25967        '''
25968         Unique identifier of the Resource.
25969        '''
25970        self.name = name if name is not None else ''
25971        '''
25972         Unique human-readable name of the Resource.
25973        '''
25974        self.override_database = override_database if override_database is not None else False
25975        '''
25976         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
25977        '''
25978        self.password = password if password is not None else ''
25979        '''
25980         The password to authenticate with.
25981        '''
25982        self.port = port if port is not None else 0
25983        '''
25984         The port to dial to initiate a connection from the egress node to this resource.
25985        '''
25986        self.port_override = port_override if port_override is not None else 0
25987        '''
25988         The local port used by clients to connect to this resource.
25989        '''
25990        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
25991        '''
25992         ID of the proxy cluster for this resource, if any.
25993        '''
25994        self.schema = schema if schema is not None else ''
25995        '''
25996         The Schema to use to direct initial requests.
25997        '''
25998        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
25999        '''
26000         ID of the secret store containing credentials for this resource, if any.
26001        '''
26002        self.subdomain = subdomain if subdomain is not None else ''
26003        '''
26004         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26005        '''
26006        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26007        '''
26008         Tags is a map of key, value pairs.
26009        '''
26010        self.username = username if username is not None else ''
26011        '''
26012         The username to authenticate with.
26013        '''
26014
26015    def __repr__(self):
26016        return '<sdm.SQLServer ' + \
26017            'allow_deprecated_encryption: ' + repr(self.allow_deprecated_encryption) + ' ' +\
26018            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26019            'database: ' + repr(self.database) + ' ' +\
26020            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26021            'healthy: ' + repr(self.healthy) + ' ' +\
26022            'hostname: ' + repr(self.hostname) + ' ' +\
26023            'id: ' + repr(self.id) + ' ' +\
26024            'name: ' + repr(self.name) + ' ' +\
26025            'override_database: ' + repr(self.override_database) + ' ' +\
26026            'password: ' + repr(self.password) + ' ' +\
26027            'port: ' + repr(self.port) + ' ' +\
26028            'port_override: ' + repr(self.port_override) + ' ' +\
26029            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26030            'schema: ' + repr(self.schema) + ' ' +\
26031            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26032            'subdomain: ' + repr(self.subdomain) + ' ' +\
26033            'tags: ' + repr(self.tags) + ' ' +\
26034            'username: ' + repr(self.username) + ' ' +\
26035            '>'
26036
26037    def to_dict(self):
26038        return {
26039            'allow_deprecated_encryption': self.allow_deprecated_encryption,
26040            'bind_interface': self.bind_interface,
26041            'database': self.database,
26042            'egress_filter': self.egress_filter,
26043            'healthy': self.healthy,
26044            'hostname': self.hostname,
26045            'id': self.id,
26046            'name': self.name,
26047            'override_database': self.override_database,
26048            'password': self.password,
26049            'port': self.port,
26050            'port_override': self.port_override,
26051            'proxy_cluster_id': self.proxy_cluster_id,
26052            'schema': self.schema,
26053            'secret_store_id': self.secret_store_id,
26054            'subdomain': self.subdomain,
26055            'tags': self.tags,
26056            'username': self.username,
26057        }
26058
26059    @classmethod
26060    def from_dict(cls, d):
26061        return cls(
26062            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
26063            bind_interface=d.get('bind_interface'),
26064            database=d.get('database'),
26065            egress_filter=d.get('egress_filter'),
26066            healthy=d.get('healthy'),
26067            hostname=d.get('hostname'),
26068            id=d.get('id'),
26069            name=d.get('name'),
26070            override_database=d.get('override_database'),
26071            password=d.get('password'),
26072            port=d.get('port'),
26073            port_override=d.get('port_override'),
26074            proxy_cluster_id=d.get('proxy_cluster_id'),
26075            schema=d.get('schema'),
26076            secret_store_id=d.get('secret_store_id'),
26077            subdomain=d.get('subdomain'),
26078            tags=d.get('tags'),
26079            username=d.get('username'),
26080        )
26081
26082
26083class SQLServerAzureAD:
26084    __slots__ = [
26085        'allow_deprecated_encryption',
26086        'bind_interface',
26087        'client_id',
26088        'database',
26089        'egress_filter',
26090        'healthy',
26091        'hostname',
26092        'id',
26093        'name',
26094        'override_database',
26095        'port',
26096        'port_override',
26097        'proxy_cluster_id',
26098        'schema',
26099        'secret',
26100        'secret_store_id',
26101        'subdomain',
26102        'tags',
26103        'tenant_id',
26104    ]
26105
26106    def __init__(
26107        self,
26108        allow_deprecated_encryption=None,
26109        bind_interface=None,
26110        client_id=None,
26111        database=None,
26112        egress_filter=None,
26113        healthy=None,
26114        hostname=None,
26115        id=None,
26116        name=None,
26117        override_database=None,
26118        port=None,
26119        port_override=None,
26120        proxy_cluster_id=None,
26121        schema=None,
26122        secret=None,
26123        secret_store_id=None,
26124        subdomain=None,
26125        tags=None,
26126        tenant_id=None,
26127    ):
26128        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
26129        '''
26130         Whether to allow deprecated encryption protocols to be used for this resource. For example,
26131         TLS 1.0.
26132        '''
26133        self.bind_interface = bind_interface if bind_interface is not None else ''
26134        '''
26135         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26136        '''
26137        self.client_id = client_id if client_id is not None else ''
26138        '''
26139         The Azure AD application (client) ID with which to authenticate.
26140        '''
26141        self.database = database if database is not None else ''
26142        '''
26143         The database for healthchecks, and used for clients if Override Default Database is true.
26144        '''
26145        self.egress_filter = egress_filter if egress_filter is not None else ''
26146        '''
26147         A filter applied to the routing logic to pin datasource to nodes.
26148        '''
26149        self.healthy = healthy if healthy is not None else False
26150        '''
26151         True if the datasource is reachable and the credentials are valid.
26152        '''
26153        self.hostname = hostname if hostname is not None else ''
26154        '''
26155         The host to dial to initiate a connection from the egress node to this resource.
26156        '''
26157        self.id = id if id is not None else ''
26158        '''
26159         Unique identifier of the Resource.
26160        '''
26161        self.name = name if name is not None else ''
26162        '''
26163         Unique human-readable name of the Resource.
26164        '''
26165        self.override_database = override_database if override_database is not None else False
26166        '''
26167         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
26168        '''
26169        self.port = port if port is not None else 0
26170        '''
26171         The port to dial to initiate a connection from the egress node to this resource.
26172        '''
26173        self.port_override = port_override if port_override is not None else 0
26174        '''
26175         The local port used by clients to connect to this resource.
26176        '''
26177        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26178        '''
26179         ID of the proxy cluster for this resource, if any.
26180        '''
26181        self.schema = schema if schema is not None else ''
26182        '''
26183         The Schema to use to direct initial requests.
26184        '''
26185        self.secret = secret if secret is not None else ''
26186        '''
26187         The Azure AD client secret (application password) with which to authenticate.
26188        '''
26189        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26190        '''
26191         ID of the secret store containing credentials for this resource, if any.
26192        '''
26193        self.subdomain = subdomain if subdomain is not None else ''
26194        '''
26195         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26196        '''
26197        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26198        '''
26199         Tags is a map of key, value pairs.
26200        '''
26201        self.tenant_id = tenant_id if tenant_id is not None else ''
26202        '''
26203         The Azure AD directory (tenant) ID with which to authenticate.
26204        '''
26205
26206    def __repr__(self):
26207        return '<sdm.SQLServerAzureAD ' + \
26208            'allow_deprecated_encryption: ' + repr(self.allow_deprecated_encryption) + ' ' +\
26209            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26210            'client_id: ' + repr(self.client_id) + ' ' +\
26211            'database: ' + repr(self.database) + ' ' +\
26212            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26213            'healthy: ' + repr(self.healthy) + ' ' +\
26214            'hostname: ' + repr(self.hostname) + ' ' +\
26215            'id: ' + repr(self.id) + ' ' +\
26216            'name: ' + repr(self.name) + ' ' +\
26217            'override_database: ' + repr(self.override_database) + ' ' +\
26218            'port: ' + repr(self.port) + ' ' +\
26219            'port_override: ' + repr(self.port_override) + ' ' +\
26220            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26221            'schema: ' + repr(self.schema) + ' ' +\
26222            'secret: ' + repr(self.secret) + ' ' +\
26223            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26224            'subdomain: ' + repr(self.subdomain) + ' ' +\
26225            'tags: ' + repr(self.tags) + ' ' +\
26226            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
26227            '>'
26228
26229    def to_dict(self):
26230        return {
26231            'allow_deprecated_encryption': self.allow_deprecated_encryption,
26232            'bind_interface': self.bind_interface,
26233            'client_id': self.client_id,
26234            'database': self.database,
26235            'egress_filter': self.egress_filter,
26236            'healthy': self.healthy,
26237            'hostname': self.hostname,
26238            'id': self.id,
26239            'name': self.name,
26240            'override_database': self.override_database,
26241            'port': self.port,
26242            'port_override': self.port_override,
26243            'proxy_cluster_id': self.proxy_cluster_id,
26244            'schema': self.schema,
26245            'secret': self.secret,
26246            'secret_store_id': self.secret_store_id,
26247            'subdomain': self.subdomain,
26248            'tags': self.tags,
26249            'tenant_id': self.tenant_id,
26250        }
26251
26252    @classmethod
26253    def from_dict(cls, d):
26254        return cls(
26255            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
26256            bind_interface=d.get('bind_interface'),
26257            client_id=d.get('client_id'),
26258            database=d.get('database'),
26259            egress_filter=d.get('egress_filter'),
26260            healthy=d.get('healthy'),
26261            hostname=d.get('hostname'),
26262            id=d.get('id'),
26263            name=d.get('name'),
26264            override_database=d.get('override_database'),
26265            port=d.get('port'),
26266            port_override=d.get('port_override'),
26267            proxy_cluster_id=d.get('proxy_cluster_id'),
26268            schema=d.get('schema'),
26269            secret=d.get('secret'),
26270            secret_store_id=d.get('secret_store_id'),
26271            subdomain=d.get('subdomain'),
26272            tags=d.get('tags'),
26273            tenant_id=d.get('tenant_id'),
26274        )
26275
26276
26277class SQLServerKerberosAD:
26278    __slots__ = [
26279        'allow_deprecated_encryption',
26280        'bind_interface',
26281        'database',
26282        'egress_filter',
26283        'healthy',
26284        'hostname',
26285        'id',
26286        'keytab',
26287        'krb_config',
26288        'name',
26289        'override_database',
26290        'port',
26291        'port_override',
26292        'proxy_cluster_id',
26293        'realm',
26294        'schema',
26295        'secret_store_id',
26296        'server_spn',
26297        'subdomain',
26298        'tags',
26299        'username',
26300    ]
26301
26302    def __init__(
26303        self,
26304        allow_deprecated_encryption=None,
26305        bind_interface=None,
26306        database=None,
26307        egress_filter=None,
26308        healthy=None,
26309        hostname=None,
26310        id=None,
26311        keytab=None,
26312        krb_config=None,
26313        name=None,
26314        override_database=None,
26315        port=None,
26316        port_override=None,
26317        proxy_cluster_id=None,
26318        realm=None,
26319        schema=None,
26320        secret_store_id=None,
26321        server_spn=None,
26322        subdomain=None,
26323        tags=None,
26324        username=None,
26325    ):
26326        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
26327        '''
26328         Whether to allow deprecated encryption protocols to be used for this resource. For example,
26329         TLS 1.0.
26330        '''
26331        self.bind_interface = bind_interface if bind_interface is not None else ''
26332        '''
26333         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26334        '''
26335        self.database = database if database is not None else ''
26336        '''
26337         The database for healthchecks, and used for clients if Override Default Database is true.
26338        '''
26339        self.egress_filter = egress_filter if egress_filter is not None else ''
26340        '''
26341         A filter applied to the routing logic to pin datasource to nodes.
26342        '''
26343        self.healthy = healthy if healthy is not None else False
26344        '''
26345         True if the datasource is reachable and the credentials are valid.
26346        '''
26347        self.hostname = hostname if hostname is not None else ''
26348        '''
26349         The host to dial to initiate a connection from the egress node to this resource.
26350        '''
26351        self.id = id if id is not None else ''
26352        '''
26353         Unique identifier of the Resource.
26354        '''
26355        self.keytab = keytab if keytab is not None else ''
26356        '''
26357         The keytab file in base64 format containing an entry with the principal name (username@realm) and key version number with which to authenticate.
26358        '''
26359        self.krb_config = krb_config if krb_config is not None else ''
26360        '''
26361         The Kerberos 5 configuration file (krb5.conf) specifying the Active Directory server (KDC) for the configured realm.
26362        '''
26363        self.name = name if name is not None else ''
26364        '''
26365         Unique human-readable name of the Resource.
26366        '''
26367        self.override_database = override_database if override_database is not None else False
26368        '''
26369         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
26370        '''
26371        self.port = port if port is not None else 0
26372        '''
26373         The port to dial to initiate a connection from the egress node to this resource.
26374        '''
26375        self.port_override = port_override if port_override is not None else 0
26376        '''
26377         The local port used by clients to connect to this resource.
26378        '''
26379        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26380        '''
26381         ID of the proxy cluster for this resource, if any.
26382        '''
26383        self.realm = realm if realm is not None else ''
26384        '''
26385         The Active Directory domain (realm) to which the configured username belongs.
26386        '''
26387        self.schema = schema if schema is not None else ''
26388        '''
26389         The Schema to use to direct initial requests.
26390        '''
26391        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26392        '''
26393         ID of the secret store containing credentials for this resource, if any.
26394        '''
26395        self.server_spn = server_spn if server_spn is not None else ''
26396        '''
26397         The Service Principal Name of the Microsoft SQL Server instance in Active Directory.
26398        '''
26399        self.subdomain = subdomain if subdomain is not None else ''
26400        '''
26401         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26402        '''
26403        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26404        '''
26405         Tags is a map of key, value pairs.
26406        '''
26407        self.username = username if username is not None else ''
26408        '''
26409         The username to authenticate with.
26410        '''
26411
26412    def __repr__(self):
26413        return '<sdm.SQLServerKerberosAD ' + \
26414            'allow_deprecated_encryption: ' + repr(self.allow_deprecated_encryption) + ' ' +\
26415            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26416            'database: ' + repr(self.database) + ' ' +\
26417            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26418            'healthy: ' + repr(self.healthy) + ' ' +\
26419            'hostname: ' + repr(self.hostname) + ' ' +\
26420            'id: ' + repr(self.id) + ' ' +\
26421            'keytab: ' + repr(self.keytab) + ' ' +\
26422            'krb_config: ' + repr(self.krb_config) + ' ' +\
26423            'name: ' + repr(self.name) + ' ' +\
26424            'override_database: ' + repr(self.override_database) + ' ' +\
26425            'port: ' + repr(self.port) + ' ' +\
26426            'port_override: ' + repr(self.port_override) + ' ' +\
26427            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26428            'realm: ' + repr(self.realm) + ' ' +\
26429            'schema: ' + repr(self.schema) + ' ' +\
26430            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26431            'server_spn: ' + repr(self.server_spn) + ' ' +\
26432            'subdomain: ' + repr(self.subdomain) + ' ' +\
26433            'tags: ' + repr(self.tags) + ' ' +\
26434            'username: ' + repr(self.username) + ' ' +\
26435            '>'
26436
26437    def to_dict(self):
26438        return {
26439            'allow_deprecated_encryption': self.allow_deprecated_encryption,
26440            'bind_interface': self.bind_interface,
26441            'database': self.database,
26442            'egress_filter': self.egress_filter,
26443            'healthy': self.healthy,
26444            'hostname': self.hostname,
26445            'id': self.id,
26446            'keytab': self.keytab,
26447            'krb_config': self.krb_config,
26448            'name': self.name,
26449            'override_database': self.override_database,
26450            'port': self.port,
26451            'port_override': self.port_override,
26452            'proxy_cluster_id': self.proxy_cluster_id,
26453            'realm': self.realm,
26454            'schema': self.schema,
26455            'secret_store_id': self.secret_store_id,
26456            'server_spn': self.server_spn,
26457            'subdomain': self.subdomain,
26458            'tags': self.tags,
26459            'username': self.username,
26460        }
26461
26462    @classmethod
26463    def from_dict(cls, d):
26464        return cls(
26465            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
26466            bind_interface=d.get('bind_interface'),
26467            database=d.get('database'),
26468            egress_filter=d.get('egress_filter'),
26469            healthy=d.get('healthy'),
26470            hostname=d.get('hostname'),
26471            id=d.get('id'),
26472            keytab=d.get('keytab'),
26473            krb_config=d.get('krb_config'),
26474            name=d.get('name'),
26475            override_database=d.get('override_database'),
26476            port=d.get('port'),
26477            port_override=d.get('port_override'),
26478            proxy_cluster_id=d.get('proxy_cluster_id'),
26479            realm=d.get('realm'),
26480            schema=d.get('schema'),
26481            secret_store_id=d.get('secret_store_id'),
26482            server_spn=d.get('server_spn'),
26483            subdomain=d.get('subdomain'),
26484            tags=d.get('tags'),
26485            username=d.get('username'),
26486        )
26487
26488
26489class SSH:
26490    __slots__ = [
26491        'allow_deprecated_key_exchanges',
26492        'bind_interface',
26493        'egress_filter',
26494        'healthy',
26495        'hostname',
26496        'id',
26497        'key_type',
26498        'name',
26499        'port',
26500        'port_forwarding',
26501        'port_override',
26502        'proxy_cluster_id',
26503        'public_key',
26504        'secret_store_id',
26505        'subdomain',
26506        'tags',
26507        'username',
26508    ]
26509
26510    def __init__(
26511        self,
26512        allow_deprecated_key_exchanges=None,
26513        bind_interface=None,
26514        egress_filter=None,
26515        healthy=None,
26516        hostname=None,
26517        id=None,
26518        key_type=None,
26519        name=None,
26520        port=None,
26521        port_forwarding=None,
26522        port_override=None,
26523        proxy_cluster_id=None,
26524        public_key=None,
26525        secret_store_id=None,
26526        subdomain=None,
26527        tags=None,
26528        username=None,
26529    ):
26530        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
26531        '''
26532         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
26533        '''
26534        self.bind_interface = bind_interface if bind_interface is not None else ''
26535        '''
26536         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26537        '''
26538        self.egress_filter = egress_filter if egress_filter is not None else ''
26539        '''
26540         A filter applied to the routing logic to pin datasource to nodes.
26541        '''
26542        self.healthy = healthy if healthy is not None else False
26543        '''
26544         True if the datasource is reachable and the credentials are valid.
26545        '''
26546        self.hostname = hostname if hostname is not None else ''
26547        '''
26548         The host to dial to initiate a connection from the egress node to this resource.
26549        '''
26550        self.id = id if id is not None else ''
26551        '''
26552         Unique identifier of the Resource.
26553        '''
26554        self.key_type = key_type if key_type is not None else ''
26555        '''
26556         The key type to use e.g. rsa-2048 or ed25519
26557        '''
26558        self.name = name if name is not None else ''
26559        '''
26560         Unique human-readable name of the Resource.
26561        '''
26562        self.port = port if port is not None else 0
26563        '''
26564         The port to dial to initiate a connection from the egress node to this resource.
26565        '''
26566        self.port_forwarding = port_forwarding if port_forwarding is not None else False
26567        '''
26568         Whether port forwarding is allowed through this server.
26569        '''
26570        self.port_override = port_override if port_override is not None else 0
26571        '''
26572         The local port used by clients to connect to this resource.
26573        '''
26574        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26575        '''
26576         ID of the proxy cluster for this resource, if any.
26577        '''
26578        self.public_key = public_key if public_key is not None else ''
26579        '''
26580         The public key to append to a server's authorized keys. This will be generated after resource creation.
26581        '''
26582        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26583        '''
26584         ID of the secret store containing credentials for this resource, if any.
26585        '''
26586        self.subdomain = subdomain if subdomain is not None else ''
26587        '''
26588         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26589        '''
26590        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26591        '''
26592         Tags is a map of key, value pairs.
26593        '''
26594        self.username = username if username is not None else ''
26595        '''
26596         The username to authenticate with.
26597        '''
26598
26599    def __repr__(self):
26600        return '<sdm.SSH ' + \
26601            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
26602            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26603            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26604            'healthy: ' + repr(self.healthy) + ' ' +\
26605            'hostname: ' + repr(self.hostname) + ' ' +\
26606            'id: ' + repr(self.id) + ' ' +\
26607            'key_type: ' + repr(self.key_type) + ' ' +\
26608            'name: ' + repr(self.name) + ' ' +\
26609            'port: ' + repr(self.port) + ' ' +\
26610            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
26611            'port_override: ' + repr(self.port_override) + ' ' +\
26612            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26613            'public_key: ' + repr(self.public_key) + ' ' +\
26614            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26615            'subdomain: ' + repr(self.subdomain) + ' ' +\
26616            'tags: ' + repr(self.tags) + ' ' +\
26617            'username: ' + repr(self.username) + ' ' +\
26618            '>'
26619
26620    def to_dict(self):
26621        return {
26622            'allow_deprecated_key_exchanges':
26623            self.allow_deprecated_key_exchanges,
26624            'bind_interface': self.bind_interface,
26625            'egress_filter': self.egress_filter,
26626            'healthy': self.healthy,
26627            'hostname': self.hostname,
26628            'id': self.id,
26629            'key_type': self.key_type,
26630            'name': self.name,
26631            'port': self.port,
26632            'port_forwarding': self.port_forwarding,
26633            'port_override': self.port_override,
26634            'proxy_cluster_id': self.proxy_cluster_id,
26635            'public_key': self.public_key,
26636            'secret_store_id': self.secret_store_id,
26637            'subdomain': self.subdomain,
26638            'tags': self.tags,
26639            'username': self.username,
26640        }
26641
26642    @classmethod
26643    def from_dict(cls, d):
26644        return cls(
26645            allow_deprecated_key_exchanges=d.get(
26646                'allow_deprecated_key_exchanges'),
26647            bind_interface=d.get('bind_interface'),
26648            egress_filter=d.get('egress_filter'),
26649            healthy=d.get('healthy'),
26650            hostname=d.get('hostname'),
26651            id=d.get('id'),
26652            key_type=d.get('key_type'),
26653            name=d.get('name'),
26654            port=d.get('port'),
26655            port_forwarding=d.get('port_forwarding'),
26656            port_override=d.get('port_override'),
26657            proxy_cluster_id=d.get('proxy_cluster_id'),
26658            public_key=d.get('public_key'),
26659            secret_store_id=d.get('secret_store_id'),
26660            subdomain=d.get('subdomain'),
26661            tags=d.get('tags'),
26662            username=d.get('username'),
26663        )
26664
26665
26666class SSHCert:
26667    __slots__ = [
26668        'allow_deprecated_key_exchanges',
26669        'bind_interface',
26670        'egress_filter',
26671        'healthy',
26672        'hostname',
26673        'id',
26674        'identity_alias_healthcheck_username',
26675        'identity_set_id',
26676        'key_type',
26677        'name',
26678        'port',
26679        'port_forwarding',
26680        'port_override',
26681        'proxy_cluster_id',
26682        'secret_store_id',
26683        'subdomain',
26684        'tags',
26685        'username',
26686    ]
26687
26688    def __init__(
26689        self,
26690        allow_deprecated_key_exchanges=None,
26691        bind_interface=None,
26692        egress_filter=None,
26693        healthy=None,
26694        hostname=None,
26695        id=None,
26696        identity_alias_healthcheck_username=None,
26697        identity_set_id=None,
26698        key_type=None,
26699        name=None,
26700        port=None,
26701        port_forwarding=None,
26702        port_override=None,
26703        proxy_cluster_id=None,
26704        secret_store_id=None,
26705        subdomain=None,
26706        tags=None,
26707        username=None,
26708    ):
26709        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
26710        '''
26711         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
26712        '''
26713        self.bind_interface = bind_interface if bind_interface is not None else ''
26714        '''
26715         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26716        '''
26717        self.egress_filter = egress_filter if egress_filter is not None else ''
26718        '''
26719         A filter applied to the routing logic to pin datasource to nodes.
26720        '''
26721        self.healthy = healthy if healthy is not None else False
26722        '''
26723         True if the datasource is reachable and the credentials are valid.
26724        '''
26725        self.hostname = hostname if hostname is not None else ''
26726        '''
26727         The host to dial to initiate a connection from the egress node to this resource.
26728        '''
26729        self.id = id if id is not None else ''
26730        '''
26731         Unique identifier of the Resource.
26732        '''
26733        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
26734        '''
26735         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
26736        '''
26737        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
26738        '''
26739         The ID of the identity set to use for identity connections.
26740        '''
26741        self.key_type = key_type if key_type is not None else ''
26742        '''
26743         The key type to use e.g. rsa-2048 or ed25519
26744        '''
26745        self.name = name if name is not None else ''
26746        '''
26747         Unique human-readable name of the Resource.
26748        '''
26749        self.port = port if port is not None else 0
26750        '''
26751         The port to dial to initiate a connection from the egress node to this resource.
26752        '''
26753        self.port_forwarding = port_forwarding if port_forwarding is not None else False
26754        '''
26755         Whether port forwarding is allowed through this server.
26756        '''
26757        self.port_override = port_override if port_override is not None else 0
26758        '''
26759         The local port used by clients to connect to this resource.
26760        '''
26761        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26762        '''
26763         ID of the proxy cluster for this resource, if any.
26764        '''
26765        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26766        '''
26767         ID of the secret store containing credentials for this resource, if any.
26768        '''
26769        self.subdomain = subdomain if subdomain is not None else ''
26770        '''
26771         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26772        '''
26773        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26774        '''
26775         Tags is a map of key, value pairs.
26776        '''
26777        self.username = username if username is not None else ''
26778        '''
26779         The username to authenticate with.
26780        '''
26781
26782    def __repr__(self):
26783        return '<sdm.SSHCert ' + \
26784            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
26785            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26786            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26787            'healthy: ' + repr(self.healthy) + ' ' +\
26788            'hostname: ' + repr(self.hostname) + ' ' +\
26789            'id: ' + repr(self.id) + ' ' +\
26790            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
26791            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
26792            'key_type: ' + repr(self.key_type) + ' ' +\
26793            'name: ' + repr(self.name) + ' ' +\
26794            'port: ' + repr(self.port) + ' ' +\
26795            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
26796            'port_override: ' + repr(self.port_override) + ' ' +\
26797            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26798            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26799            'subdomain: ' + repr(self.subdomain) + ' ' +\
26800            'tags: ' + repr(self.tags) + ' ' +\
26801            'username: ' + repr(self.username) + ' ' +\
26802            '>'
26803
26804    def to_dict(self):
26805        return {
26806            'allow_deprecated_key_exchanges':
26807            self.allow_deprecated_key_exchanges,
26808            'bind_interface': self.bind_interface,
26809            'egress_filter': self.egress_filter,
26810            'healthy': self.healthy,
26811            'hostname': self.hostname,
26812            'id': self.id,
26813            'identity_alias_healthcheck_username':
26814            self.identity_alias_healthcheck_username,
26815            'identity_set_id': self.identity_set_id,
26816            'key_type': self.key_type,
26817            'name': self.name,
26818            'port': self.port,
26819            'port_forwarding': self.port_forwarding,
26820            'port_override': self.port_override,
26821            'proxy_cluster_id': self.proxy_cluster_id,
26822            'secret_store_id': self.secret_store_id,
26823            'subdomain': self.subdomain,
26824            'tags': self.tags,
26825            'username': self.username,
26826        }
26827
26828    @classmethod
26829    def from_dict(cls, d):
26830        return cls(
26831            allow_deprecated_key_exchanges=d.get(
26832                'allow_deprecated_key_exchanges'),
26833            bind_interface=d.get('bind_interface'),
26834            egress_filter=d.get('egress_filter'),
26835            healthy=d.get('healthy'),
26836            hostname=d.get('hostname'),
26837            id=d.get('id'),
26838            identity_alias_healthcheck_username=d.get(
26839                'identity_alias_healthcheck_username'),
26840            identity_set_id=d.get('identity_set_id'),
26841            key_type=d.get('key_type'),
26842            name=d.get('name'),
26843            port=d.get('port'),
26844            port_forwarding=d.get('port_forwarding'),
26845            port_override=d.get('port_override'),
26846            proxy_cluster_id=d.get('proxy_cluster_id'),
26847            secret_store_id=d.get('secret_store_id'),
26848            subdomain=d.get('subdomain'),
26849            tags=d.get('tags'),
26850            username=d.get('username'),
26851        )
26852
26853
26854class SSHCustomerKey:
26855    __slots__ = [
26856        'allow_deprecated_key_exchanges',
26857        'bind_interface',
26858        'egress_filter',
26859        'healthy',
26860        'hostname',
26861        'id',
26862        'identity_alias_healthcheck_username',
26863        'identity_set_id',
26864        'name',
26865        'port',
26866        'port_forwarding',
26867        'port_override',
26868        'private_key',
26869        'proxy_cluster_id',
26870        'secret_store_id',
26871        'subdomain',
26872        'tags',
26873        'username',
26874    ]
26875
26876    def __init__(
26877        self,
26878        allow_deprecated_key_exchanges=None,
26879        bind_interface=None,
26880        egress_filter=None,
26881        healthy=None,
26882        hostname=None,
26883        id=None,
26884        identity_alias_healthcheck_username=None,
26885        identity_set_id=None,
26886        name=None,
26887        port=None,
26888        port_forwarding=None,
26889        port_override=None,
26890        private_key=None,
26891        proxy_cluster_id=None,
26892        secret_store_id=None,
26893        subdomain=None,
26894        tags=None,
26895        username=None,
26896    ):
26897        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
26898        '''
26899         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
26900        '''
26901        self.bind_interface = bind_interface if bind_interface is not None else ''
26902        '''
26903         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26904        '''
26905        self.egress_filter = egress_filter if egress_filter is not None else ''
26906        '''
26907         A filter applied to the routing logic to pin datasource to nodes.
26908        '''
26909        self.healthy = healthy if healthy is not None else False
26910        '''
26911         True if the datasource is reachable and the credentials are valid.
26912        '''
26913        self.hostname = hostname if hostname is not None else ''
26914        '''
26915         The host to dial to initiate a connection from the egress node to this resource.
26916        '''
26917        self.id = id if id is not None else ''
26918        '''
26919         Unique identifier of the Resource.
26920        '''
26921        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
26922        '''
26923         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
26924        '''
26925        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
26926        '''
26927         The ID of the identity set to use for identity connections.
26928        '''
26929        self.name = name if name is not None else ''
26930        '''
26931         Unique human-readable name of the Resource.
26932        '''
26933        self.port = port if port is not None else 0
26934        '''
26935         The port to dial to initiate a connection from the egress node to this resource.
26936        '''
26937        self.port_forwarding = port_forwarding if port_forwarding is not None else False
26938        '''
26939         Whether port forwarding is allowed through this server.
26940        '''
26941        self.port_override = port_override if port_override is not None else 0
26942        '''
26943         The local port used by clients to connect to this resource.
26944        '''
26945        self.private_key = private_key if private_key is not None else ''
26946        '''
26947         The private key used to authenticate with the server.
26948        '''
26949        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26950        '''
26951         ID of the proxy cluster for this resource, if any.
26952        '''
26953        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26954        '''
26955         ID of the secret store containing credentials for this resource, if any.
26956        '''
26957        self.subdomain = subdomain if subdomain is not None else ''
26958        '''
26959         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26960        '''
26961        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26962        '''
26963         Tags is a map of key, value pairs.
26964        '''
26965        self.username = username if username is not None else ''
26966        '''
26967         The username to authenticate with.
26968        '''
26969
26970    def __repr__(self):
26971        return '<sdm.SSHCustomerKey ' + \
26972            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
26973            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26974            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26975            'healthy: ' + repr(self.healthy) + ' ' +\
26976            'hostname: ' + repr(self.hostname) + ' ' +\
26977            'id: ' + repr(self.id) + ' ' +\
26978            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
26979            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
26980            'name: ' + repr(self.name) + ' ' +\
26981            'port: ' + repr(self.port) + ' ' +\
26982            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
26983            'port_override: ' + repr(self.port_override) + ' ' +\
26984            'private_key: ' + repr(self.private_key) + ' ' +\
26985            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26986            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26987            'subdomain: ' + repr(self.subdomain) + ' ' +\
26988            'tags: ' + repr(self.tags) + ' ' +\
26989            'username: ' + repr(self.username) + ' ' +\
26990            '>'
26991
26992    def to_dict(self):
26993        return {
26994            'allow_deprecated_key_exchanges':
26995            self.allow_deprecated_key_exchanges,
26996            'bind_interface': self.bind_interface,
26997            'egress_filter': self.egress_filter,
26998            'healthy': self.healthy,
26999            'hostname': self.hostname,
27000            'id': self.id,
27001            'identity_alias_healthcheck_username':
27002            self.identity_alias_healthcheck_username,
27003            'identity_set_id': self.identity_set_id,
27004            'name': self.name,
27005            'port': self.port,
27006            'port_forwarding': self.port_forwarding,
27007            'port_override': self.port_override,
27008            'private_key': self.private_key,
27009            'proxy_cluster_id': self.proxy_cluster_id,
27010            'secret_store_id': self.secret_store_id,
27011            'subdomain': self.subdomain,
27012            'tags': self.tags,
27013            'username': self.username,
27014        }
27015
27016    @classmethod
27017    def from_dict(cls, d):
27018        return cls(
27019            allow_deprecated_key_exchanges=d.get(
27020                'allow_deprecated_key_exchanges'),
27021            bind_interface=d.get('bind_interface'),
27022            egress_filter=d.get('egress_filter'),
27023            healthy=d.get('healthy'),
27024            hostname=d.get('hostname'),
27025            id=d.get('id'),
27026            identity_alias_healthcheck_username=d.get(
27027                'identity_alias_healthcheck_username'),
27028            identity_set_id=d.get('identity_set_id'),
27029            name=d.get('name'),
27030            port=d.get('port'),
27031            port_forwarding=d.get('port_forwarding'),
27032            port_override=d.get('port_override'),
27033            private_key=d.get('private_key'),
27034            proxy_cluster_id=d.get('proxy_cluster_id'),
27035            secret_store_id=d.get('secret_store_id'),
27036            subdomain=d.get('subdomain'),
27037            tags=d.get('tags'),
27038            username=d.get('username'),
27039        )
27040
27041
27042class SSHPassword:
27043    __slots__ = [
27044        'allow_deprecated_key_exchanges',
27045        'bind_interface',
27046        'egress_filter',
27047        'healthy',
27048        'hostname',
27049        'id',
27050        'name',
27051        'password',
27052        'port',
27053        'port_forwarding',
27054        'port_override',
27055        'proxy_cluster_id',
27056        'secret_store_id',
27057        'subdomain',
27058        'tags',
27059        'username',
27060    ]
27061
27062    def __init__(
27063        self,
27064        allow_deprecated_key_exchanges=None,
27065        bind_interface=None,
27066        egress_filter=None,
27067        healthy=None,
27068        hostname=None,
27069        id=None,
27070        name=None,
27071        password=None,
27072        port=None,
27073        port_forwarding=None,
27074        port_override=None,
27075        proxy_cluster_id=None,
27076        secret_store_id=None,
27077        subdomain=None,
27078        tags=None,
27079        username=None,
27080    ):
27081        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
27082        '''
27083         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
27084        '''
27085        self.bind_interface = bind_interface if bind_interface is not None else ''
27086        '''
27087         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
27088        '''
27089        self.egress_filter = egress_filter if egress_filter is not None else ''
27090        '''
27091         A filter applied to the routing logic to pin datasource to nodes.
27092        '''
27093        self.healthy = healthy if healthy is not None else False
27094        '''
27095         True if the datasource is reachable and the credentials are valid.
27096        '''
27097        self.hostname = hostname if hostname is not None else ''
27098        '''
27099         The host to dial to initiate a connection from the egress node to this resource.
27100        '''
27101        self.id = id if id is not None else ''
27102        '''
27103         Unique identifier of the Resource.
27104        '''
27105        self.name = name if name is not None else ''
27106        '''
27107         Unique human-readable name of the Resource.
27108        '''
27109        self.password = password if password is not None else ''
27110        '''
27111         The password to authenticate with.
27112        '''
27113        self.port = port if port is not None else 0
27114        '''
27115         The port to dial to initiate a connection from the egress node to this resource.
27116        '''
27117        self.port_forwarding = port_forwarding if port_forwarding is not None else False
27118        '''
27119         Whether port forwarding is allowed through this server.
27120        '''
27121        self.port_override = port_override if port_override is not None else 0
27122        '''
27123         The local port used by clients to connect to this resource.
27124        '''
27125        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
27126        '''
27127         ID of the proxy cluster for this resource, if any.
27128        '''
27129        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
27130        '''
27131         ID of the secret store containing credentials for this resource, if any.
27132        '''
27133        self.subdomain = subdomain if subdomain is not None else ''
27134        '''
27135         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
27136        '''
27137        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27138        '''
27139         Tags is a map of key, value pairs.
27140        '''
27141        self.username = username if username is not None else ''
27142        '''
27143         The username to authenticate with.
27144        '''
27145
27146    def __repr__(self):
27147        return '<sdm.SSHPassword ' + \
27148            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
27149            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
27150            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
27151            'healthy: ' + repr(self.healthy) + ' ' +\
27152            'hostname: ' + repr(self.hostname) + ' ' +\
27153            'id: ' + repr(self.id) + ' ' +\
27154            'name: ' + repr(self.name) + ' ' +\
27155            'password: ' + repr(self.password) + ' ' +\
27156            'port: ' + repr(self.port) + ' ' +\
27157            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
27158            'port_override: ' + repr(self.port_override) + ' ' +\
27159            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
27160            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
27161            'subdomain: ' + repr(self.subdomain) + ' ' +\
27162            'tags: ' + repr(self.tags) + ' ' +\
27163            'username: ' + repr(self.username) + ' ' +\
27164            '>'
27165
27166    def to_dict(self):
27167        return {
27168            'allow_deprecated_key_exchanges':
27169            self.allow_deprecated_key_exchanges,
27170            'bind_interface': self.bind_interface,
27171            'egress_filter': self.egress_filter,
27172            'healthy': self.healthy,
27173            'hostname': self.hostname,
27174            'id': self.id,
27175            'name': self.name,
27176            'password': self.password,
27177            'port': self.port,
27178            'port_forwarding': self.port_forwarding,
27179            'port_override': self.port_override,
27180            'proxy_cluster_id': self.proxy_cluster_id,
27181            'secret_store_id': self.secret_store_id,
27182            'subdomain': self.subdomain,
27183            'tags': self.tags,
27184            'username': self.username,
27185        }
27186
27187    @classmethod
27188    def from_dict(cls, d):
27189        return cls(
27190            allow_deprecated_key_exchanges=d.get(
27191                'allow_deprecated_key_exchanges'),
27192            bind_interface=d.get('bind_interface'),
27193            egress_filter=d.get('egress_filter'),
27194            healthy=d.get('healthy'),
27195            hostname=d.get('hostname'),
27196            id=d.get('id'),
27197            name=d.get('name'),
27198            password=d.get('password'),
27199            port=d.get('port'),
27200            port_forwarding=d.get('port_forwarding'),
27201            port_override=d.get('port_override'),
27202            proxy_cluster_id=d.get('proxy_cluster_id'),
27203            secret_store_id=d.get('secret_store_id'),
27204            subdomain=d.get('subdomain'),
27205            tags=d.get('tags'),
27206            username=d.get('username'),
27207        )
27208
27209
27210class SecretEngineCreateRequest:
27211    '''
27212         SecretEngineCreateRequest specifies a Secret Engine to create.
27213    '''
27214    __slots__ = [
27215        'secret_engine',
27216    ]
27217
27218    def __init__(
27219        self,
27220        secret_engine=None,
27221    ):
27222        self.secret_engine = secret_engine if secret_engine is not None else None
27223        '''
27224         Parameters to define the new Secret Engine.
27225        '''
27226
27227    def __repr__(self):
27228        return '<sdm.SecretEngineCreateRequest ' + \
27229            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
27230            '>'
27231
27232    def to_dict(self):
27233        return {
27234            'secret_engine': self.secret_engine,
27235        }
27236
27237    @classmethod
27238    def from_dict(cls, d):
27239        return cls(secret_engine=d.get('secret_engine'), )
27240
27241
27242class SecretEngineCreateResponse:
27243    '''
27244         SecretEngineCreateResponse contains information about a Secret Engine after successful creation.
27245    '''
27246    __slots__ = [
27247        'meta',
27248        'rate_limit',
27249        'secret_engine',
27250    ]
27251
27252    def __init__(
27253        self,
27254        meta=None,
27255        rate_limit=None,
27256        secret_engine=None,
27257    ):
27258        self.meta = meta if meta is not None else None
27259        '''
27260         Reserved for future use.
27261        '''
27262        self.rate_limit = rate_limit if rate_limit is not None else None
27263        '''
27264         Rate limit information.
27265        '''
27266        self.secret_engine = secret_engine if secret_engine is not None else None
27267        '''
27268         The requested Secret Engine.
27269        '''
27270
27271    def __repr__(self):
27272        return '<sdm.SecretEngineCreateResponse ' + \
27273            'meta: ' + repr(self.meta) + ' ' +\
27274            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27275            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
27276            '>'
27277
27278    def to_dict(self):
27279        return {
27280            'meta': self.meta,
27281            'rate_limit': self.rate_limit,
27282            'secret_engine': self.secret_engine,
27283        }
27284
27285    @classmethod
27286    def from_dict(cls, d):
27287        return cls(
27288            meta=d.get('meta'),
27289            rate_limit=d.get('rate_limit'),
27290            secret_engine=d.get('secret_engine'),
27291        )
27292
27293
27294class SecretEngineDeleteRequest:
27295    '''
27296         SecretEngineDeleteRequest specified the ID of a Secret Engine to be deleted.
27297    '''
27298    __slots__ = [
27299        'id',
27300    ]
27301
27302    def __init__(
27303        self,
27304        id=None,
27305    ):
27306        self.id = id if id is not None else ''
27307        '''
27308         The unique identifier of the Secret Engine to delete.
27309        '''
27310
27311    def __repr__(self):
27312        return '<sdm.SecretEngineDeleteRequest ' + \
27313            'id: ' + repr(self.id) + ' ' +\
27314            '>'
27315
27316    def to_dict(self):
27317        return {
27318            'id': self.id,
27319        }
27320
27321    @classmethod
27322    def from_dict(cls, d):
27323        return cls(id=d.get('id'), )
27324
27325
27326class SecretEngineDeleteResponse:
27327    '''
27328         SecretEngineDeleteResponse contains information about a Secret Engine after it was deleted.
27329    '''
27330    __slots__ = [
27331        'rate_limit',
27332    ]
27333
27334    def __init__(
27335        self,
27336        rate_limit=None,
27337    ):
27338        self.rate_limit = rate_limit if rate_limit is not None else None
27339        '''
27340         Rate limit information.
27341        '''
27342
27343    def __repr__(self):
27344        return '<sdm.SecretEngineDeleteResponse ' + \
27345            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27346            '>'
27347
27348    def to_dict(self):
27349        return {
27350            'rate_limit': self.rate_limit,
27351        }
27352
27353    @classmethod
27354    def from_dict(cls, d):
27355        return cls(rate_limit=d.get('rate_limit'), )
27356
27357
27358class SecretEngineGetRequest:
27359    '''
27360         SecretEngineGetRequest specifies which Secret Engine to retrieve
27361    '''
27362    __slots__ = [
27363        'id',
27364    ]
27365
27366    def __init__(
27367        self,
27368        id=None,
27369    ):
27370        self.id = id if id is not None else ''
27371        '''
27372         The unique identifier of the Secret Engine to retrieve.
27373        '''
27374
27375    def __repr__(self):
27376        return '<sdm.SecretEngineGetRequest ' + \
27377            'id: ' + repr(self.id) + ' ' +\
27378            '>'
27379
27380    def to_dict(self):
27381        return {
27382            'id': self.id,
27383        }
27384
27385    @classmethod
27386    def from_dict(cls, d):
27387        return cls(id=d.get('id'), )
27388
27389
27390class SecretEngineGetResponse:
27391    '''
27392         SecretEngineGetResponse contains information about requested Secret Engine
27393    '''
27394    __slots__ = [
27395        'meta',
27396        'rate_limit',
27397        'secret_engine',
27398    ]
27399
27400    def __init__(
27401        self,
27402        meta=None,
27403        rate_limit=None,
27404        secret_engine=None,
27405    ):
27406        self.meta = meta if meta is not None else None
27407        '''
27408         Reserved for future use.
27409        '''
27410        self.rate_limit = rate_limit if rate_limit is not None else None
27411        '''
27412         Rate limit information.
27413        '''
27414        self.secret_engine = secret_engine if secret_engine is not None else None
27415        '''
27416         The requested Secret Engine.
27417        '''
27418
27419    def __repr__(self):
27420        return '<sdm.SecretEngineGetResponse ' + \
27421            'meta: ' + repr(self.meta) + ' ' +\
27422            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27423            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
27424            '>'
27425
27426    def to_dict(self):
27427        return {
27428            'meta': self.meta,
27429            'rate_limit': self.rate_limit,
27430            'secret_engine': self.secret_engine,
27431        }
27432
27433    @classmethod
27434    def from_dict(cls, d):
27435        return cls(
27436            meta=d.get('meta'),
27437            rate_limit=d.get('rate_limit'),
27438            secret_engine=d.get('secret_engine'),
27439        )
27440
27441
27442class SecretEngineListRequest:
27443    '''
27444         SecretEngineListRequest specifies criteria for retrieving a list of Secret Engines
27445    '''
27446    __slots__ = [
27447        'filter',
27448    ]
27449
27450    def __init__(
27451        self,
27452        filter=None,
27453    ):
27454        self.filter = filter if filter is not None else ''
27455        '''
27456         A human-readable filter query string.
27457        '''
27458
27459    def __repr__(self):
27460        return '<sdm.SecretEngineListRequest ' + \
27461            'filter: ' + repr(self.filter) + ' ' +\
27462            '>'
27463
27464    def to_dict(self):
27465        return {
27466            'filter': self.filter,
27467        }
27468
27469    @classmethod
27470    def from_dict(cls, d):
27471        return cls(filter=d.get('filter'), )
27472
27473
27474class SecretEngineListResponse:
27475    '''
27476         SecretEngineListResponse contains a list of requested Secret Engine
27477    '''
27478    __slots__ = [
27479        'rate_limit',
27480    ]
27481
27482    def __init__(
27483        self,
27484        rate_limit=None,
27485    ):
27486        self.rate_limit = rate_limit if rate_limit is not None else None
27487        '''
27488         Rate limit information.
27489        '''
27490
27491    def __repr__(self):
27492        return '<sdm.SecretEngineListResponse ' + \
27493            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27494            '>'
27495
27496    def to_dict(self):
27497        return {
27498            'rate_limit': self.rate_limit,
27499        }
27500
27501    @classmethod
27502    def from_dict(cls, d):
27503        return cls(rate_limit=d.get('rate_limit'), )
27504
27505
27506class SecretEnginePasswordPolicy:
27507    __slots__ = [
27508        'allow_repeat',
27509        'exclude_characters',
27510        'exclude_upper_case',
27511        'length',
27512        'num_digits',
27513        'num_symbols',
27514    ]
27515
27516    def __init__(
27517        self,
27518        allow_repeat=None,
27519        exclude_characters=None,
27520        exclude_upper_case=None,
27521        length=None,
27522        num_digits=None,
27523        num_symbols=None,
27524    ):
27525        self.allow_repeat = allow_repeat if allow_repeat is not None else False
27526        '''
27527         If set to true allows for consecutive characters to repeat itself
27528        '''
27529        self.exclude_characters = exclude_characters if exclude_characters is not None else ''
27530        '''
27531         Characters to exclude when generating password
27532        '''
27533        self.exclude_upper_case = exclude_upper_case if exclude_upper_case is not None else False
27534        '''
27535         If set to true do not include upper case letters when generating password
27536        '''
27537        self.length = length if length is not None else 0
27538        '''
27539         Password length.
27540        '''
27541        self.num_digits = num_digits if num_digits is not None else 0
27542        '''
27543         Numbers of digits to use when generating password
27544        '''
27545        self.num_symbols = num_symbols if num_symbols is not None else 0
27546        '''
27547         Number of symbols to use when generating password
27548        '''
27549
27550    def __repr__(self):
27551        return '<sdm.SecretEnginePasswordPolicy ' + \
27552            'allow_repeat: ' + repr(self.allow_repeat) + ' ' +\
27553            'exclude_characters: ' + repr(self.exclude_characters) + ' ' +\
27554            'exclude_upper_case: ' + repr(self.exclude_upper_case) + ' ' +\
27555            'length: ' + repr(self.length) + ' ' +\
27556            'num_digits: ' + repr(self.num_digits) + ' ' +\
27557            'num_symbols: ' + repr(self.num_symbols) + ' ' +\
27558            '>'
27559
27560    def to_dict(self):
27561        return {
27562            'allow_repeat': self.allow_repeat,
27563            'exclude_characters': self.exclude_characters,
27564            'exclude_upper_case': self.exclude_upper_case,
27565            'length': self.length,
27566            'num_digits': self.num_digits,
27567            'num_symbols': self.num_symbols,
27568        }
27569
27570    @classmethod
27571    def from_dict(cls, d):
27572        return cls(
27573            allow_repeat=d.get('allow_repeat'),
27574            exclude_characters=d.get('exclude_characters'),
27575            exclude_upper_case=d.get('exclude_upper_case'),
27576            length=d.get('length'),
27577            num_digits=d.get('num_digits'),
27578            num_symbols=d.get('num_symbols'),
27579        )
27580
27581
27582class SecretEnginePolicy:
27583    __slots__ = [
27584        'password_policy',
27585    ]
27586
27587    def __init__(
27588        self,
27589        password_policy=None,
27590    ):
27591        self.password_policy = password_policy if password_policy is not None else None
27592        '''
27593         Policy for password
27594        '''
27595
27596    def __repr__(self):
27597        return '<sdm.SecretEnginePolicy ' + \
27598            'password_policy: ' + repr(self.password_policy) + ' ' +\
27599            '>'
27600
27601    def to_dict(self):
27602        return {
27603            'password_policy': self.password_policy,
27604        }
27605
27606    @classmethod
27607    def from_dict(cls, d):
27608        return cls(password_policy=d.get('password_policy'), )
27609
27610
27611class SecretEngineRotateRequest:
27612    __slots__ = [
27613        'id',
27614        'password_policy',
27615    ]
27616
27617    def __init__(
27618        self,
27619        id=None,
27620        password_policy=None,
27621    ):
27622        self.id = id if id is not None else ''
27623        '''
27624         The unique identifier of the Secret Engine to rotate credentials for.
27625        '''
27626        self.password_policy = password_policy if password_policy is not None else None
27627        '''
27628         Optional password policy to use when generating a password
27629         If not provided it will use secret engine's password_policy
27630        '''
27631
27632    def __repr__(self):
27633        return '<sdm.SecretEngineRotateRequest ' + \
27634            'id: ' + repr(self.id) + ' ' +\
27635            'password_policy: ' + repr(self.password_policy) + ' ' +\
27636            '>'
27637
27638    def to_dict(self):
27639        return {
27640            'id': self.id,
27641            'password_policy': self.password_policy,
27642        }
27643
27644    @classmethod
27645    def from_dict(cls, d):
27646        return cls(
27647            id=d.get('id'),
27648            password_policy=d.get('password_policy'),
27649        )
27650
27651
27652class SecretEngineRotateResponse:
27653    __slots__ = [
27654        'rate_limit',
27655    ]
27656
27657    def __init__(
27658        self,
27659        rate_limit=None,
27660    ):
27661        self.rate_limit = rate_limit if rate_limit is not None else None
27662        '''
27663         Rate limit information.
27664        '''
27665
27666    def __repr__(self):
27667        return '<sdm.SecretEngineRotateResponse ' + \
27668            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27669            '>'
27670
27671    def to_dict(self):
27672        return {
27673            'rate_limit': self.rate_limit,
27674        }
27675
27676    @classmethod
27677    def from_dict(cls, d):
27678        return cls(rate_limit=d.get('rate_limit'), )
27679
27680
27681class SecretEngineUpdateRequest:
27682    '''
27683         SecretEngineUpdateRequest specifies secret engine to update
27684    '''
27685    __slots__ = [
27686        'secret_engine',
27687    ]
27688
27689    def __init__(
27690        self,
27691        secret_engine=None,
27692    ):
27693        self.secret_engine = secret_engine if secret_engine is not None else None
27694        '''
27695         Secret engine to update
27696        '''
27697
27698    def __repr__(self):
27699        return '<sdm.SecretEngineUpdateRequest ' + \
27700            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
27701            '>'
27702
27703    def to_dict(self):
27704        return {
27705            'secret_engine': self.secret_engine,
27706        }
27707
27708    @classmethod
27709    def from_dict(cls, d):
27710        return cls(secret_engine=d.get('secret_engine'), )
27711
27712
27713class SecretEngineUpdateResponse:
27714    '''
27715         SecretEngineUpdateResponse contains information about Secret Engine after successful update.
27716    '''
27717    __slots__ = [
27718        'meta',
27719        'rate_limit',
27720        'secret_engine',
27721    ]
27722
27723    def __init__(
27724        self,
27725        meta=None,
27726        rate_limit=None,
27727        secret_engine=None,
27728    ):
27729        self.meta = meta if meta is not None else None
27730        '''
27731         Reserved for future use.
27732        '''
27733        self.rate_limit = rate_limit if rate_limit is not None else None
27734        '''
27735         Rate limit information.
27736        '''
27737        self.secret_engine = secret_engine if secret_engine is not None else None
27738        '''
27739         The requested Secret Engine.
27740        '''
27741
27742    def __repr__(self):
27743        return '<sdm.SecretEngineUpdateResponse ' + \
27744            'meta: ' + repr(self.meta) + ' ' +\
27745            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27746            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
27747            '>'
27748
27749    def to_dict(self):
27750        return {
27751            'meta': self.meta,
27752            'rate_limit': self.rate_limit,
27753            'secret_engine': self.secret_engine,
27754        }
27755
27756    @classmethod
27757    def from_dict(cls, d):
27758        return cls(
27759            meta=d.get('meta'),
27760            rate_limit=d.get('rate_limit'),
27761            secret_engine=d.get('secret_engine'),
27762        )
27763
27764
27765class SecretStoreCreateResponse:
27766    '''
27767         SecretStoreCreateResponse reports how the SecretStores were created in the system.
27768    '''
27769    __slots__ = [
27770        'meta',
27771        'rate_limit',
27772        'secret_store',
27773    ]
27774
27775    def __init__(
27776        self,
27777        meta=None,
27778        rate_limit=None,
27779        secret_store=None,
27780    ):
27781        self.meta = meta if meta is not None else None
27782        '''
27783         Reserved for future use.
27784        '''
27785        self.rate_limit = rate_limit if rate_limit is not None else None
27786        '''
27787         Rate limit information.
27788        '''
27789        self.secret_store = secret_store if secret_store is not None else None
27790        '''
27791         The created SecretStore.
27792        '''
27793
27794    def __repr__(self):
27795        return '<sdm.SecretStoreCreateResponse ' + \
27796            'meta: ' + repr(self.meta) + ' ' +\
27797            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27798            'secret_store: ' + repr(self.secret_store) + ' ' +\
27799            '>'
27800
27801    def to_dict(self):
27802        return {
27803            'meta': self.meta,
27804            'rate_limit': self.rate_limit,
27805            'secret_store': self.secret_store,
27806        }
27807
27808    @classmethod
27809    def from_dict(cls, d):
27810        return cls(
27811            meta=d.get('meta'),
27812            rate_limit=d.get('rate_limit'),
27813            secret_store=d.get('secret_store'),
27814        )
27815
27816
27817class SecretStoreDeleteResponse:
27818    '''
27819         SecretStoreDeleteResponse returns information about a SecretStore that was deleted.
27820    '''
27821    __slots__ = [
27822        'meta',
27823        'rate_limit',
27824    ]
27825
27826    def __init__(
27827        self,
27828        meta=None,
27829        rate_limit=None,
27830    ):
27831        self.meta = meta if meta is not None else None
27832        '''
27833         Reserved for future use.
27834        '''
27835        self.rate_limit = rate_limit if rate_limit is not None else None
27836        '''
27837         Rate limit information.
27838        '''
27839
27840    def __repr__(self):
27841        return '<sdm.SecretStoreDeleteResponse ' + \
27842            'meta: ' + repr(self.meta) + ' ' +\
27843            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27844            '>'
27845
27846    def to_dict(self):
27847        return {
27848            'meta': self.meta,
27849            'rate_limit': self.rate_limit,
27850        }
27851
27852    @classmethod
27853    def from_dict(cls, d):
27854        return cls(
27855            meta=d.get('meta'),
27856            rate_limit=d.get('rate_limit'),
27857        )
27858
27859
27860class SecretStoreGetResponse:
27861    '''
27862         SecretStoreGetResponse returns a requested SecretStore.
27863    '''
27864    __slots__ = [
27865        'meta',
27866        'rate_limit',
27867        'secret_store',
27868    ]
27869
27870    def __init__(
27871        self,
27872        meta=None,
27873        rate_limit=None,
27874        secret_store=None,
27875    ):
27876        self.meta = meta if meta is not None else None
27877        '''
27878         Reserved for future use.
27879        '''
27880        self.rate_limit = rate_limit if rate_limit is not None else None
27881        '''
27882         Rate limit information.
27883        '''
27884        self.secret_store = secret_store if secret_store is not None else None
27885        '''
27886         The requested SecretStore.
27887        '''
27888
27889    def __repr__(self):
27890        return '<sdm.SecretStoreGetResponse ' + \
27891            'meta: ' + repr(self.meta) + ' ' +\
27892            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27893            'secret_store: ' + repr(self.secret_store) + ' ' +\
27894            '>'
27895
27896    def to_dict(self):
27897        return {
27898            'meta': self.meta,
27899            'rate_limit': self.rate_limit,
27900            'secret_store': self.secret_store,
27901        }
27902
27903    @classmethod
27904    def from_dict(cls, d):
27905        return cls(
27906            meta=d.get('meta'),
27907            rate_limit=d.get('rate_limit'),
27908            secret_store=d.get('secret_store'),
27909        )
27910
27911
27912class SecretStoreHealth:
27913    '''
27914         SecretStoreHealth denotes a secret store's health status. Note a secret store is not
27915     healthy in terms of a simple boolean, but rather healthy with respect to a particular node
27916     or set of nodes.
27917    '''
27918    __slots__ = [
27919        'changed_at',
27920        'checked_at',
27921        'error',
27922        'flags',
27923        'node_id',
27924        'reachability',
27925        'secret_store_id',
27926        'status',
27927    ]
27928
27929    def __init__(
27930        self,
27931        changed_at=None,
27932        checked_at=None,
27933        error=None,
27934        flags=None,
27935        node_id=None,
27936        reachability=None,
27937        secret_store_id=None,
27938        status=None,
27939    ):
27940        self.changed_at = changed_at if changed_at is not None else None
27941        '''
27942         The time when the status last changed
27943        '''
27944        self.checked_at = checked_at if checked_at is not None else None
27945        '''
27946         The time when the status was last checked by the node
27947        '''
27948        self.error = error if error is not None else ''
27949        '''
27950         The error associated with this health check, if it occurred after reachability checks succeeded.
27951        '''
27952        self.flags = flags if flags is not None else []
27953        '''
27954         Any specific status or error flags associated with this health check.
27955        '''
27956        self.node_id = node_id if node_id is not None else ''
27957        '''
27958         Associated node id for this health
27959        '''
27960        self.reachability = reachability if reachability is not None else ''
27961        '''
27962         The error associated with this health check, if it occurred during reachability checks.
27963        '''
27964        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
27965        '''
27966         Associated secret store for this health
27967        '''
27968        self.status = status if status is not None else ''
27969        '''
27970         The status of the link between the node and secret store
27971        '''
27972
27973    def __repr__(self):
27974        return '<sdm.SecretStoreHealth ' + \
27975            'changed_at: ' + repr(self.changed_at) + ' ' +\
27976            'checked_at: ' + repr(self.checked_at) + ' ' +\
27977            'error: ' + repr(self.error) + ' ' +\
27978            'flags: ' + repr(self.flags) + ' ' +\
27979            'node_id: ' + repr(self.node_id) + ' ' +\
27980            'reachability: ' + repr(self.reachability) + ' ' +\
27981            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
27982            'status: ' + repr(self.status) + ' ' +\
27983            '>'
27984
27985    def to_dict(self):
27986        return {
27987            'changed_at': self.changed_at,
27988            'checked_at': self.checked_at,
27989            'error': self.error,
27990            'flags': self.flags,
27991            'node_id': self.node_id,
27992            'reachability': self.reachability,
27993            'secret_store_id': self.secret_store_id,
27994            'status': self.status,
27995        }
27996
27997    @classmethod
27998    def from_dict(cls, d):
27999        return cls(
28000            changed_at=d.get('changed_at'),
28001            checked_at=d.get('checked_at'),
28002            error=d.get('error'),
28003            flags=d.get('flags'),
28004            node_id=d.get('node_id'),
28005            reachability=d.get('reachability'),
28006            secret_store_id=d.get('secret_store_id'),
28007            status=d.get('status'),
28008        )
28009
28010
28011class SecretStoreHealthListResponse:
28012    __slots__ = [
28013        'rate_limit',
28014    ]
28015
28016    def __init__(
28017        self,
28018        rate_limit=None,
28019    ):
28020        self.rate_limit = rate_limit if rate_limit is not None else None
28021        '''
28022         Rate limit information.
28023        '''
28024
28025    def __repr__(self):
28026        return '<sdm.SecretStoreHealthListResponse ' + \
28027            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28028            '>'
28029
28030    def to_dict(self):
28031        return {
28032            'rate_limit': self.rate_limit,
28033        }
28034
28035    @classmethod
28036    def from_dict(cls, d):
28037        return cls(rate_limit=d.get('rate_limit'), )
28038
28039
28040class SecretStoreHealthcheckResponse:
28041    __slots__ = [
28042        'rate_limit',
28043    ]
28044
28045    def __init__(
28046        self,
28047        rate_limit=None,
28048    ):
28049        self.rate_limit = rate_limit if rate_limit is not None else None
28050        '''
28051         Rate limit information.
28052        '''
28053
28054    def __repr__(self):
28055        return '<sdm.SecretStoreHealthcheckResponse ' + \
28056            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28057            '>'
28058
28059    def to_dict(self):
28060        return {
28061            'rate_limit': self.rate_limit,
28062        }
28063
28064    @classmethod
28065    def from_dict(cls, d):
28066        return cls(rate_limit=d.get('rate_limit'), )
28067
28068
28069class SecretStoreHistory:
28070    '''
28071         SecretStoreHistory records the state of a SecretStore at a given point in time,
28072     where every change (create, update and delete) to a SecretStore produces an
28073     SecretStoreHistory record.
28074    '''
28075    __slots__ = [
28076        'activity_id',
28077        'deleted_at',
28078        'secret_store',
28079        'timestamp',
28080    ]
28081
28082    def __init__(
28083        self,
28084        activity_id=None,
28085        deleted_at=None,
28086        secret_store=None,
28087        timestamp=None,
28088    ):
28089        self.activity_id = activity_id if activity_id is not None else ''
28090        '''
28091         The unique identifier of the Activity that produced this change to the SecretStore.
28092         May be empty for some system-initiated updates.
28093        '''
28094        self.deleted_at = deleted_at if deleted_at is not None else None
28095        '''
28096         If this SecretStore was deleted, the time it was deleted.
28097        '''
28098        self.secret_store = secret_store if secret_store is not None else None
28099        '''
28100         The complete SecretStore state at this time.
28101        '''
28102        self.timestamp = timestamp if timestamp is not None else None
28103        '''
28104         The time at which the SecretStore state was recorded.
28105        '''
28106
28107    def __repr__(self):
28108        return '<sdm.SecretStoreHistory ' + \
28109            'activity_id: ' + repr(self.activity_id) + ' ' +\
28110            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
28111            'secret_store: ' + repr(self.secret_store) + ' ' +\
28112            'timestamp: ' + repr(self.timestamp) + ' ' +\
28113            '>'
28114
28115    def to_dict(self):
28116        return {
28117            'activity_id': self.activity_id,
28118            'deleted_at': self.deleted_at,
28119            'secret_store': self.secret_store,
28120            'timestamp': self.timestamp,
28121        }
28122
28123    @classmethod
28124    def from_dict(cls, d):
28125        return cls(
28126            activity_id=d.get('activity_id'),
28127            deleted_at=d.get('deleted_at'),
28128            secret_store=d.get('secret_store'),
28129            timestamp=d.get('timestamp'),
28130        )
28131
28132
28133class SecretStoreUpdateResponse:
28134    '''
28135         SecretStoreUpdateResponse returns the fields of a SecretStore after it has been updated by
28136     a SecretStoreUpdateRequest.
28137    '''
28138    __slots__ = [
28139        'meta',
28140        'rate_limit',
28141        'secret_store',
28142    ]
28143
28144    def __init__(
28145        self,
28146        meta=None,
28147        rate_limit=None,
28148        secret_store=None,
28149    ):
28150        self.meta = meta if meta is not None else None
28151        '''
28152         Reserved for future use.
28153        '''
28154        self.rate_limit = rate_limit if rate_limit is not None else None
28155        '''
28156         Rate limit information.
28157        '''
28158        self.secret_store = secret_store if secret_store is not None else None
28159        '''
28160         The updated SecretStore.
28161        '''
28162
28163    def __repr__(self):
28164        return '<sdm.SecretStoreUpdateResponse ' + \
28165            'meta: ' + repr(self.meta) + ' ' +\
28166            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28167            'secret_store: ' + repr(self.secret_store) + ' ' +\
28168            '>'
28169
28170    def to_dict(self):
28171        return {
28172            'meta': self.meta,
28173            'rate_limit': self.rate_limit,
28174            'secret_store': self.secret_store,
28175        }
28176
28177    @classmethod
28178    def from_dict(cls, d):
28179        return cls(
28180            meta=d.get('meta'),
28181            rate_limit=d.get('rate_limit'),
28182            secret_store=d.get('secret_store'),
28183        )
28184
28185
28186class Service:
28187    '''
28188         A Service is a service account that can connect to resources they are granted
28189     directly, or granted via roles. Services are typically automated jobs.
28190    '''
28191    __slots__ = [
28192        'id',
28193        'name',
28194        'suspended',
28195        'tags',
28196    ]
28197
28198    def __init__(
28199        self,
28200        id=None,
28201        name=None,
28202        suspended=None,
28203        tags=None,
28204    ):
28205        self.id = id if id is not None else ''
28206        '''
28207         Unique identifier of the Service.
28208        '''
28209        self.name = name if name is not None else ''
28210        '''
28211         Unique human-readable name of the Service.
28212        '''
28213        self.suspended = suspended if suspended is not None else False
28214        '''
28215         The Service's suspended state.
28216        '''
28217        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28218        '''
28219         Tags is a map of key, value pairs.
28220        '''
28221
28222    def __repr__(self):
28223        return '<sdm.Service ' + \
28224            'id: ' + repr(self.id) + ' ' +\
28225            'name: ' + repr(self.name) + ' ' +\
28226            'suspended: ' + repr(self.suspended) + ' ' +\
28227            'tags: ' + repr(self.tags) + ' ' +\
28228            '>'
28229
28230    def to_dict(self):
28231        return {
28232            'id': self.id,
28233            'name': self.name,
28234            'suspended': self.suspended,
28235            'tags': self.tags,
28236        }
28237
28238    @classmethod
28239    def from_dict(cls, d):
28240        return cls(
28241            id=d.get('id'),
28242            name=d.get('name'),
28243            suspended=d.get('suspended'),
28244            tags=d.get('tags'),
28245        )
28246
28247
28248class SingleStore:
28249    __slots__ = [
28250        'bind_interface',
28251        'database',
28252        'egress_filter',
28253        'healthy',
28254        'hostname',
28255        'id',
28256        'name',
28257        'password',
28258        'port',
28259        'port_override',
28260        'proxy_cluster_id',
28261        'require_native_auth',
28262        'secret_store_id',
28263        'subdomain',
28264        'tags',
28265        'use_azure_single_server_usernames',
28266        'username',
28267    ]
28268
28269    def __init__(
28270        self,
28271        bind_interface=None,
28272        database=None,
28273        egress_filter=None,
28274        healthy=None,
28275        hostname=None,
28276        id=None,
28277        name=None,
28278        password=None,
28279        port=None,
28280        port_override=None,
28281        proxy_cluster_id=None,
28282        require_native_auth=None,
28283        secret_store_id=None,
28284        subdomain=None,
28285        tags=None,
28286        use_azure_single_server_usernames=None,
28287        username=None,
28288    ):
28289        self.bind_interface = bind_interface if bind_interface is not None else ''
28290        '''
28291         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28292        '''
28293        self.database = database if database is not None else ''
28294        '''
28295         The database for healthchecks. Does not affect client requests.
28296        '''
28297        self.egress_filter = egress_filter if egress_filter is not None else ''
28298        '''
28299         A filter applied to the routing logic to pin datasource to nodes.
28300        '''
28301        self.healthy = healthy if healthy is not None else False
28302        '''
28303         True if the datasource is reachable and the credentials are valid.
28304        '''
28305        self.hostname = hostname if hostname is not None else ''
28306        '''
28307         The host to dial to initiate a connection from the egress node to this resource.
28308        '''
28309        self.id = id if id is not None else ''
28310        '''
28311         Unique identifier of the Resource.
28312        '''
28313        self.name = name if name is not None else ''
28314        '''
28315         Unique human-readable name of the Resource.
28316        '''
28317        self.password = password if password is not None else ''
28318        '''
28319         The password to authenticate with.
28320        '''
28321        self.port = port if port is not None else 0
28322        '''
28323         The port to dial to initiate a connection from the egress node to this resource.
28324        '''
28325        self.port_override = port_override if port_override is not None else 0
28326        '''
28327         The local port used by clients to connect to this resource.
28328        '''
28329        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28330        '''
28331         ID of the proxy cluster for this resource, if any.
28332        '''
28333        self.require_native_auth = require_native_auth if require_native_auth is not None else False
28334        '''
28335         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
28336        '''
28337        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28338        '''
28339         ID of the secret store containing credentials for this resource, if any.
28340        '''
28341        self.subdomain = subdomain if subdomain is not None else ''
28342        '''
28343         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
28344        '''
28345        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28346        '''
28347         Tags is a map of key, value pairs.
28348        '''
28349        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
28350        '''
28351         If true, appends the hostname to the username when hitting a database.azure.com address
28352        '''
28353        self.username = username if username is not None else ''
28354        '''
28355         The username to authenticate with.
28356        '''
28357
28358    def __repr__(self):
28359        return '<sdm.SingleStore ' + \
28360            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
28361            'database: ' + repr(self.database) + ' ' +\
28362            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
28363            'healthy: ' + repr(self.healthy) + ' ' +\
28364            'hostname: ' + repr(self.hostname) + ' ' +\
28365            'id: ' + repr(self.id) + ' ' +\
28366            'name: ' + repr(self.name) + ' ' +\
28367            'password: ' + repr(self.password) + ' ' +\
28368            'port: ' + repr(self.port) + ' ' +\
28369            'port_override: ' + repr(self.port_override) + ' ' +\
28370            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
28371            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
28372            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
28373            'subdomain: ' + repr(self.subdomain) + ' ' +\
28374            'tags: ' + repr(self.tags) + ' ' +\
28375            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
28376            'username: ' + repr(self.username) + ' ' +\
28377            '>'
28378
28379    def to_dict(self):
28380        return {
28381            'bind_interface': self.bind_interface,
28382            'database': self.database,
28383            'egress_filter': self.egress_filter,
28384            'healthy': self.healthy,
28385            'hostname': self.hostname,
28386            'id': self.id,
28387            'name': self.name,
28388            'password': self.password,
28389            'port': self.port,
28390            'port_override': self.port_override,
28391            'proxy_cluster_id': self.proxy_cluster_id,
28392            'require_native_auth': self.require_native_auth,
28393            'secret_store_id': self.secret_store_id,
28394            'subdomain': self.subdomain,
28395            'tags': self.tags,
28396            'use_azure_single_server_usernames':
28397            self.use_azure_single_server_usernames,
28398            'username': self.username,
28399        }
28400
28401    @classmethod
28402    def from_dict(cls, d):
28403        return cls(
28404            bind_interface=d.get('bind_interface'),
28405            database=d.get('database'),
28406            egress_filter=d.get('egress_filter'),
28407            healthy=d.get('healthy'),
28408            hostname=d.get('hostname'),
28409            id=d.get('id'),
28410            name=d.get('name'),
28411            password=d.get('password'),
28412            port=d.get('port'),
28413            port_override=d.get('port_override'),
28414            proxy_cluster_id=d.get('proxy_cluster_id'),
28415            require_native_auth=d.get('require_native_auth'),
28416            secret_store_id=d.get('secret_store_id'),
28417            subdomain=d.get('subdomain'),
28418            tags=d.get('tags'),
28419            use_azure_single_server_usernames=d.get(
28420                'use_azure_single_server_usernames'),
28421            username=d.get('username'),
28422        )
28423
28424
28425class Snowflake:
28426    __slots__ = [
28427        'bind_interface',
28428        'database',
28429        'egress_filter',
28430        'healthy',
28431        'hostname',
28432        'id',
28433        'name',
28434        'password',
28435        'port_override',
28436        'proxy_cluster_id',
28437        'schema',
28438        'secret_store_id',
28439        'subdomain',
28440        'tags',
28441        'username',
28442    ]
28443
28444    def __init__(
28445        self,
28446        bind_interface=None,
28447        database=None,
28448        egress_filter=None,
28449        healthy=None,
28450        hostname=None,
28451        id=None,
28452        name=None,
28453        password=None,
28454        port_override=None,
28455        proxy_cluster_id=None,
28456        schema=None,
28457        secret_store_id=None,
28458        subdomain=None,
28459        tags=None,
28460        username=None,
28461    ):
28462        self.bind_interface = bind_interface if bind_interface is not None else ''
28463        '''
28464         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28465        '''
28466        self.database = database if database is not None else ''
28467        '''
28468         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
28469        '''
28470        self.egress_filter = egress_filter if egress_filter is not None else ''
28471        '''
28472         A filter applied to the routing logic to pin datasource to nodes.
28473        '''
28474        self.healthy = healthy if healthy is not None else False
28475        '''
28476         True if the datasource is reachable and the credentials are valid.
28477        '''
28478        self.hostname = hostname if hostname is not None else ''
28479        '''
28480         The host to dial to initiate a connection from the egress node to this resource.
28481        '''
28482        self.id = id if id is not None else ''
28483        '''
28484         Unique identifier of the Resource.
28485        '''
28486        self.name = name if name is not None else ''
28487        '''
28488         Unique human-readable name of the Resource.
28489        '''
28490        self.password = password if password is not None else ''
28491        '''
28492         The password to authenticate with.
28493        '''
28494        self.port_override = port_override if port_override is not None else 0
28495        '''
28496         The local port used by clients to connect to this resource.
28497        '''
28498        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28499        '''
28500         ID of the proxy cluster for this resource, if any.
28501        '''
28502        self.schema = schema if schema is not None else ''
28503        '''
28504         The schema to provide on authentication.
28505        '''
28506        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28507        '''
28508         ID of the secret store containing credentials for this resource, if any.
28509        '''
28510        self.subdomain = subdomain if subdomain is not None else ''
28511        '''
28512         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
28513        '''
28514        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28515        '''
28516         Tags is a map of key, value pairs.
28517        '''
28518        self.username = username if username is not None else ''
28519        '''
28520         The username to authenticate with.
28521        '''
28522
28523    def __repr__(self):
28524        return '<sdm.Snowflake ' + \
28525            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
28526            'database: ' + repr(self.database) + ' ' +\
28527            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
28528            'healthy: ' + repr(self.healthy) + ' ' +\
28529            'hostname: ' + repr(self.hostname) + ' ' +\
28530            'id: ' + repr(self.id) + ' ' +\
28531            'name: ' + repr(self.name) + ' ' +\
28532            'password: ' + repr(self.password) + ' ' +\
28533            'port_override: ' + repr(self.port_override) + ' ' +\
28534            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
28535            'schema: ' + repr(self.schema) + ' ' +\
28536            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
28537            'subdomain: ' + repr(self.subdomain) + ' ' +\
28538            'tags: ' + repr(self.tags) + ' ' +\
28539            'username: ' + repr(self.username) + ' ' +\
28540            '>'
28541
28542    def to_dict(self):
28543        return {
28544            'bind_interface': self.bind_interface,
28545            'database': self.database,
28546            'egress_filter': self.egress_filter,
28547            'healthy': self.healthy,
28548            'hostname': self.hostname,
28549            'id': self.id,
28550            'name': self.name,
28551            'password': self.password,
28552            'port_override': self.port_override,
28553            'proxy_cluster_id': self.proxy_cluster_id,
28554            'schema': self.schema,
28555            'secret_store_id': self.secret_store_id,
28556            'subdomain': self.subdomain,
28557            'tags': self.tags,
28558            'username': self.username,
28559        }
28560
28561    @classmethod
28562    def from_dict(cls, d):
28563        return cls(
28564            bind_interface=d.get('bind_interface'),
28565            database=d.get('database'),
28566            egress_filter=d.get('egress_filter'),
28567            healthy=d.get('healthy'),
28568            hostname=d.get('hostname'),
28569            id=d.get('id'),
28570            name=d.get('name'),
28571            password=d.get('password'),
28572            port_override=d.get('port_override'),
28573            proxy_cluster_id=d.get('proxy_cluster_id'),
28574            schema=d.get('schema'),
28575            secret_store_id=d.get('secret_store_id'),
28576            subdomain=d.get('subdomain'),
28577            tags=d.get('tags'),
28578            username=d.get('username'),
28579        )
28580
28581
28582class Snowsight:
28583    __slots__ = [
28584        'bind_interface',
28585        'egress_filter',
28586        'healthcheck_username',
28587        'healthy',
28588        'id',
28589        'name',
28590        'port_override',
28591        'proxy_cluster_id',
28592        'samlmetadata',
28593        'secret_store_id',
28594        'subdomain',
28595        'tags',
28596    ]
28597
28598    def __init__(
28599        self,
28600        bind_interface=None,
28601        egress_filter=None,
28602        healthcheck_username=None,
28603        healthy=None,
28604        id=None,
28605        name=None,
28606        port_override=None,
28607        proxy_cluster_id=None,
28608        samlmetadata=None,
28609        secret_store_id=None,
28610        subdomain=None,
28611        tags=None,
28612    ):
28613        self.bind_interface = bind_interface if bind_interface is not None else ''
28614        '''
28615         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28616        '''
28617        self.egress_filter = egress_filter if egress_filter is not None else ''
28618        '''
28619         A filter applied to the routing logic to pin datasource to nodes.
28620        '''
28621        self.healthcheck_username = healthcheck_username if healthcheck_username is not None else ''
28622        '''
28623         The StrongDM user email to use for healthchecks.
28624        '''
28625        self.healthy = healthy if healthy is not None else False
28626        '''
28627         True if the datasource is reachable and the credentials are valid.
28628        '''
28629        self.id = id if id is not None else ''
28630        '''
28631         Unique identifier of the Resource.
28632        '''
28633        self.name = name if name is not None else ''
28634        '''
28635         Unique human-readable name of the Resource.
28636        '''
28637        self.port_override = port_override if port_override is not None else 0
28638        '''
28639         The local port used by clients to connect to this resource.
28640        '''
28641        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28642        '''
28643         ID of the proxy cluster for this resource, if any.
28644        '''
28645        self.samlmetadata = samlmetadata if samlmetadata is not None else ''
28646        '''
28647         The Metadata for your snowflake IDP integration
28648        '''
28649        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28650        '''
28651         ID of the secret store containing credentials for this resource, if any.
28652        '''
28653        self.subdomain = subdomain if subdomain is not None else ''
28654        '''
28655         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
28656        '''
28657        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28658        '''
28659         Tags is a map of key, value pairs.
28660        '''
28661
28662    def __repr__(self):
28663        return '<sdm.Snowsight ' + \
28664            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
28665            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
28666            'healthcheck_username: ' + repr(self.healthcheck_username) + ' ' +\
28667            'healthy: ' + repr(self.healthy) + ' ' +\
28668            'id: ' + repr(self.id) + ' ' +\
28669            'name: ' + repr(self.name) + ' ' +\
28670            'port_override: ' + repr(self.port_override) + ' ' +\
28671            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
28672            'samlmetadata: ' + repr(self.samlmetadata) + ' ' +\
28673            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
28674            'subdomain: ' + repr(self.subdomain) + ' ' +\
28675            'tags: ' + repr(self.tags) + ' ' +\
28676            '>'
28677
28678    def to_dict(self):
28679        return {
28680            'bind_interface': self.bind_interface,
28681            'egress_filter': self.egress_filter,
28682            'healthcheck_username': self.healthcheck_username,
28683            'healthy': self.healthy,
28684            'id': self.id,
28685            'name': self.name,
28686            'port_override': self.port_override,
28687            'proxy_cluster_id': self.proxy_cluster_id,
28688            'samlmetadata': self.samlmetadata,
28689            'secret_store_id': self.secret_store_id,
28690            'subdomain': self.subdomain,
28691            'tags': self.tags,
28692        }
28693
28694    @classmethod
28695    def from_dict(cls, d):
28696        return cls(
28697            bind_interface=d.get('bind_interface'),
28698            egress_filter=d.get('egress_filter'),
28699            healthcheck_username=d.get('healthcheck_username'),
28700            healthy=d.get('healthy'),
28701            id=d.get('id'),
28702            name=d.get('name'),
28703            port_override=d.get('port_override'),
28704            proxy_cluster_id=d.get('proxy_cluster_id'),
28705            samlmetadata=d.get('samlmetadata'),
28706            secret_store_id=d.get('secret_store_id'),
28707            subdomain=d.get('subdomain'),
28708            tags=d.get('tags'),
28709        )
28710
28711
28712class Sybase:
28713    __slots__ = [
28714        'bind_interface',
28715        'egress_filter',
28716        'healthy',
28717        'hostname',
28718        'id',
28719        'name',
28720        'password',
28721        'port',
28722        'port_override',
28723        'proxy_cluster_id',
28724        'secret_store_id',
28725        'subdomain',
28726        'tags',
28727        'username',
28728    ]
28729
28730    def __init__(
28731        self,
28732        bind_interface=None,
28733        egress_filter=None,
28734        healthy=None,
28735        hostname=None,
28736        id=None,
28737        name=None,
28738        password=None,
28739        port=None,
28740        port_override=None,
28741        proxy_cluster_id=None,
28742        secret_store_id=None,
28743        subdomain=None,
28744        tags=None,
28745        username=None,
28746    ):
28747        self.bind_interface = bind_interface if bind_interface is not None else ''
28748        '''
28749         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28750        '''
28751        self.egress_filter = egress_filter if egress_filter is not None else ''
28752        '''
28753         A filter applied to the routing logic to pin datasource to nodes.
28754        '''
28755        self.healthy = healthy if healthy is not None else False
28756        '''
28757         True if the datasource is reachable and the credentials are valid.
28758        '''
28759        self.hostname = hostname if hostname is not None else ''
28760        '''
28761         The host to dial to initiate a connection from the egress node to this resource.
28762        '''
28763        self.id = id if id is not None else ''
28764        '''
28765         Unique identifier of the Resource.
28766        '''
28767        self.name = name if name is not None else ''
28768        '''
28769         Unique human-readable name of the Resource.
28770        '''
28771        self.password = password if password is not None else ''
28772        '''
28773         The password to authenticate with.
28774        '''
28775        self.port = port if port is not None else 0
28776        '''
28777         The port to dial to initiate a connection from the egress node to this resource.
28778        '''
28779        self.port_override = port_override if port_override is not None else 0
28780        '''
28781         The local port used by clients to connect to this resource.
28782        '''
28783        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28784        '''
28785         ID of the proxy cluster for this resource, if any.
28786        '''
28787        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28788        '''
28789         ID of the secret store containing credentials for this resource, if any.
28790        '''
28791        self.subdomain = subdomain if subdomain is not None else ''
28792        '''
28793         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
28794        '''
28795        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28796        '''
28797         Tags is a map of key, value pairs.
28798        '''
28799        self.username = username if username is not None else ''
28800        '''
28801         The username to authenticate with.
28802        '''
28803
28804    def __repr__(self):
28805        return '<sdm.Sybase ' + \
28806            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
28807            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
28808            'healthy: ' + repr(self.healthy) + ' ' +\
28809            'hostname: ' + repr(self.hostname) + ' ' +\
28810            'id: ' + repr(self.id) + ' ' +\
28811            'name: ' + repr(self.name) + ' ' +\
28812            'password: ' + repr(self.password) + ' ' +\
28813            'port: ' + repr(self.port) + ' ' +\
28814            'port_override: ' + repr(self.port_override) + ' ' +\
28815            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
28816            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
28817            'subdomain: ' + repr(self.subdomain) + ' ' +\
28818            'tags: ' + repr(self.tags) + ' ' +\
28819            'username: ' + repr(self.username) + ' ' +\
28820            '>'
28821
28822    def to_dict(self):
28823        return {
28824            'bind_interface': self.bind_interface,
28825            'egress_filter': self.egress_filter,
28826            'healthy': self.healthy,
28827            'hostname': self.hostname,
28828            'id': self.id,
28829            'name': self.name,
28830            'password': self.password,
28831            'port': self.port,
28832            'port_override': self.port_override,
28833            'proxy_cluster_id': self.proxy_cluster_id,
28834            'secret_store_id': self.secret_store_id,
28835            'subdomain': self.subdomain,
28836            'tags': self.tags,
28837            'username': self.username,
28838        }
28839
28840    @classmethod
28841    def from_dict(cls, d):
28842        return cls(
28843            bind_interface=d.get('bind_interface'),
28844            egress_filter=d.get('egress_filter'),
28845            healthy=d.get('healthy'),
28846            hostname=d.get('hostname'),
28847            id=d.get('id'),
28848            name=d.get('name'),
28849            password=d.get('password'),
28850            port=d.get('port'),
28851            port_override=d.get('port_override'),
28852            proxy_cluster_id=d.get('proxy_cluster_id'),
28853            secret_store_id=d.get('secret_store_id'),
28854            subdomain=d.get('subdomain'),
28855            tags=d.get('tags'),
28856            username=d.get('username'),
28857        )
28858
28859
28860class SybaseIQ:
28861    __slots__ = [
28862        'bind_interface',
28863        'egress_filter',
28864        'healthy',
28865        'hostname',
28866        'id',
28867        'name',
28868        'password',
28869        'port',
28870        'port_override',
28871        'proxy_cluster_id',
28872        'secret_store_id',
28873        'subdomain',
28874        'tags',
28875        'username',
28876    ]
28877
28878    def __init__(
28879        self,
28880        bind_interface=None,
28881        egress_filter=None,
28882        healthy=None,
28883        hostname=None,
28884        id=None,
28885        name=None,
28886        password=None,
28887        port=None,
28888        port_override=None,
28889        proxy_cluster_id=None,
28890        secret_store_id=None,
28891        subdomain=None,
28892        tags=None,
28893        username=None,
28894    ):
28895        self.bind_interface = bind_interface if bind_interface is not None else ''
28896        '''
28897         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28898        '''
28899        self.egress_filter = egress_filter if egress_filter is not None else ''
28900        '''
28901         A filter applied to the routing logic to pin datasource to nodes.
28902        '''
28903        self.healthy = healthy if healthy is not None else False
28904        '''
28905         True if the datasource is reachable and the credentials are valid.
28906        '''
28907        self.hostname = hostname if hostname is not None else ''
28908        '''
28909         The host to dial to initiate a connection from the egress node to this resource.
28910        '''
28911        self.id = id if id is not None else ''
28912        '''
28913         Unique identifier of the Resource.
28914        '''
28915        self.name = name if name is not None else ''
28916        '''
28917         Unique human-readable name of the Resource.
28918        '''
28919        self.password = password if password is not None else ''
28920        '''
28921         The password to authenticate with.
28922        '''
28923        self.port = port if port is not None else 0
28924        '''
28925         The port to dial to initiate a connection from the egress node to this resource.
28926        '''
28927        self.port_override = port_override if port_override is not None else 0
28928        '''
28929         The local port used by clients to connect to this resource.
28930        '''
28931        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28932        '''
28933         ID of the proxy cluster for this resource, if any.
28934        '''
28935        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28936        '''
28937         ID of the secret store containing credentials for this resource, if any.
28938        '''
28939        self.subdomain = subdomain if subdomain is not None else ''
28940        '''
28941         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
28942        '''
28943        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28944        '''
28945         Tags is a map of key, value pairs.
28946        '''
28947        self.username = username if username is not None else ''
28948        '''
28949         The username to authenticate with.
28950        '''
28951
28952    def __repr__(self):
28953        return '<sdm.SybaseIQ ' + \
28954            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
28955            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
28956            'healthy: ' + repr(self.healthy) + ' ' +\
28957            'hostname: ' + repr(self.hostname) + ' ' +\
28958            'id: ' + repr(self.id) + ' ' +\
28959            'name: ' + repr(self.name) + ' ' +\
28960            'password: ' + repr(self.password) + ' ' +\
28961            'port: ' + repr(self.port) + ' ' +\
28962            'port_override: ' + repr(self.port_override) + ' ' +\
28963            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
28964            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
28965            'subdomain: ' + repr(self.subdomain) + ' ' +\
28966            'tags: ' + repr(self.tags) + ' ' +\
28967            'username: ' + repr(self.username) + ' ' +\
28968            '>'
28969
28970    def to_dict(self):
28971        return {
28972            'bind_interface': self.bind_interface,
28973            'egress_filter': self.egress_filter,
28974            'healthy': self.healthy,
28975            'hostname': self.hostname,
28976            'id': self.id,
28977            'name': self.name,
28978            'password': self.password,
28979            'port': self.port,
28980            'port_override': self.port_override,
28981            'proxy_cluster_id': self.proxy_cluster_id,
28982            'secret_store_id': self.secret_store_id,
28983            'subdomain': self.subdomain,
28984            'tags': self.tags,
28985            'username': self.username,
28986        }
28987
28988    @classmethod
28989    def from_dict(cls, d):
28990        return cls(
28991            bind_interface=d.get('bind_interface'),
28992            egress_filter=d.get('egress_filter'),
28993            healthy=d.get('healthy'),
28994            hostname=d.get('hostname'),
28995            id=d.get('id'),
28996            name=d.get('name'),
28997            password=d.get('password'),
28998            port=d.get('port'),
28999            port_override=d.get('port_override'),
29000            proxy_cluster_id=d.get('proxy_cluster_id'),
29001            secret_store_id=d.get('secret_store_id'),
29002            subdomain=d.get('subdomain'),
29003            tags=d.get('tags'),
29004            username=d.get('username'),
29005        )
29006
29007
29008class Tag:
29009    __slots__ = [
29010        'name',
29011        'value',
29012    ]
29013
29014    def __init__(
29015        self,
29016        name=None,
29017        value=None,
29018    ):
29019        self.name = name if name is not None else ''
29020        '''
29021         The name or key of this tag. Each name can only refer to one value on a tagged entity.
29022        '''
29023        self.value = value if value is not None else ''
29024        '''
29025         The value of this tag.
29026        '''
29027
29028    def __repr__(self):
29029        return '<sdm.Tag ' + \
29030            'name: ' + repr(self.name) + ' ' +\
29031            'value: ' + repr(self.value) + ' ' +\
29032            '>'
29033
29034    def to_dict(self):
29035        return {
29036            'name': self.name,
29037            'value': self.value,
29038        }
29039
29040    @classmethod
29041    def from_dict(cls, d):
29042        return cls(
29043            name=d.get('name'),
29044            value=d.get('value'),
29045        )
29046
29047
29048class Teradata:
29049    __slots__ = [
29050        'bind_interface',
29051        'egress_filter',
29052        'healthy',
29053        'hostname',
29054        'id',
29055        'name',
29056        'password',
29057        'port',
29058        'port_override',
29059        'proxy_cluster_id',
29060        'secret_store_id',
29061        'subdomain',
29062        'tags',
29063        'username',
29064    ]
29065
29066    def __init__(
29067        self,
29068        bind_interface=None,
29069        egress_filter=None,
29070        healthy=None,
29071        hostname=None,
29072        id=None,
29073        name=None,
29074        password=None,
29075        port=None,
29076        port_override=None,
29077        proxy_cluster_id=None,
29078        secret_store_id=None,
29079        subdomain=None,
29080        tags=None,
29081        username=None,
29082    ):
29083        self.bind_interface = bind_interface if bind_interface is not None else ''
29084        '''
29085         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
29086        '''
29087        self.egress_filter = egress_filter if egress_filter is not None else ''
29088        '''
29089         A filter applied to the routing logic to pin datasource to nodes.
29090        '''
29091        self.healthy = healthy if healthy is not None else False
29092        '''
29093         True if the datasource is reachable and the credentials are valid.
29094        '''
29095        self.hostname = hostname if hostname is not None else ''
29096        '''
29097         The host to dial to initiate a connection from the egress node to this resource.
29098        '''
29099        self.id = id if id is not None else ''
29100        '''
29101         Unique identifier of the Resource.
29102        '''
29103        self.name = name if name is not None else ''
29104        '''
29105         Unique human-readable name of the Resource.
29106        '''
29107        self.password = password if password is not None else ''
29108        '''
29109         The password to authenticate with.
29110        '''
29111        self.port = port if port is not None else 0
29112        '''
29113         The port to dial to initiate a connection from the egress node to this resource.
29114        '''
29115        self.port_override = port_override if port_override is not None else 0
29116        '''
29117         The local port used by clients to connect to this resource.
29118        '''
29119        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29120        '''
29121         ID of the proxy cluster for this resource, if any.
29122        '''
29123        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29124        '''
29125         ID of the secret store containing credentials for this resource, if any.
29126        '''
29127        self.subdomain = subdomain if subdomain is not None else ''
29128        '''
29129         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
29130        '''
29131        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29132        '''
29133         Tags is a map of key, value pairs.
29134        '''
29135        self.username = username if username is not None else ''
29136        '''
29137         The username to authenticate with.
29138        '''
29139
29140    def __repr__(self):
29141        return '<sdm.Teradata ' + \
29142            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29143            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29144            'healthy: ' + repr(self.healthy) + ' ' +\
29145            'hostname: ' + repr(self.hostname) + ' ' +\
29146            'id: ' + repr(self.id) + ' ' +\
29147            'name: ' + repr(self.name) + ' ' +\
29148            'password: ' + repr(self.password) + ' ' +\
29149            'port: ' + repr(self.port) + ' ' +\
29150            'port_override: ' + repr(self.port_override) + ' ' +\
29151            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29152            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29153            'subdomain: ' + repr(self.subdomain) + ' ' +\
29154            'tags: ' + repr(self.tags) + ' ' +\
29155            'username: ' + repr(self.username) + ' ' +\
29156            '>'
29157
29158    def to_dict(self):
29159        return {
29160            'bind_interface': self.bind_interface,
29161            'egress_filter': self.egress_filter,
29162            'healthy': self.healthy,
29163            'hostname': self.hostname,
29164            'id': self.id,
29165            'name': self.name,
29166            'password': self.password,
29167            'port': self.port,
29168            'port_override': self.port_override,
29169            'proxy_cluster_id': self.proxy_cluster_id,
29170            'secret_store_id': self.secret_store_id,
29171            'subdomain': self.subdomain,
29172            'tags': self.tags,
29173            'username': self.username,
29174        }
29175
29176    @classmethod
29177    def from_dict(cls, d):
29178        return cls(
29179            bind_interface=d.get('bind_interface'),
29180            egress_filter=d.get('egress_filter'),
29181            healthy=d.get('healthy'),
29182            hostname=d.get('hostname'),
29183            id=d.get('id'),
29184            name=d.get('name'),
29185            password=d.get('password'),
29186            port=d.get('port'),
29187            port_override=d.get('port_override'),
29188            proxy_cluster_id=d.get('proxy_cluster_id'),
29189            secret_store_id=d.get('secret_store_id'),
29190            subdomain=d.get('subdomain'),
29191            tags=d.get('tags'),
29192            username=d.get('username'),
29193        )
29194
29195
29196class Token:
29197    '''
29198         A Token is an account providing tokenized access for automation or integration use.
29199     Tokens include admin tokens, API keys, and SCIM tokens.
29200    '''
29201    __slots__ = [
29202        'account_type',
29203        'deadline',
29204        'duration',
29205        'id',
29206        'name',
29207        'permissions',
29208        'rekeyed',
29209        'suspended',
29210        'tags',
29211    ]
29212
29213    def __init__(
29214        self,
29215        account_type=None,
29216        deadline=None,
29217        duration=None,
29218        id=None,
29219        name=None,
29220        permissions=None,
29221        rekeyed=None,
29222        suspended=None,
29223        tags=None,
29224    ):
29225        self.account_type = account_type if account_type is not None else ''
29226        '''
29227         Corresponds to the type of token, e.g. api or admin-token.
29228        '''
29229        self.deadline = deadline if deadline is not None else None
29230        '''
29231         The timestamp when the Token will expire.
29232        '''
29233        self.duration = duration if duration is not None else None
29234        '''
29235         Duration from token creation to expiration.
29236        '''
29237        self.id = id if id is not None else ''
29238        '''
29239         Unique identifier of the Token.
29240        '''
29241        self.name = name if name is not None else ''
29242        '''
29243         Unique human-readable name of the Token.
29244        '''
29245        self.permissions = permissions if permissions is not None else []
29246        '''
29247         Permissions assigned to the token, e.g. role:create.
29248        '''
29249        self.rekeyed = rekeyed if rekeyed is not None else None
29250        '''
29251         The timestamp when the Token was last rekeyed.
29252        '''
29253        self.suspended = suspended if suspended is not None else False
29254        '''
29255         Reserved for future use.  Always false for tokens.
29256        '''
29257        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29258        '''
29259         Tags is a map of key, value pairs.
29260        '''
29261
29262    def __repr__(self):
29263        return '<sdm.Token ' + \
29264            'account_type: ' + repr(self.account_type) + ' ' +\
29265            'deadline: ' + repr(self.deadline) + ' ' +\
29266            'duration: ' + repr(self.duration) + ' ' +\
29267            'id: ' + repr(self.id) + ' ' +\
29268            'name: ' + repr(self.name) + ' ' +\
29269            'permissions: ' + repr(self.permissions) + ' ' +\
29270            'rekeyed: ' + repr(self.rekeyed) + ' ' +\
29271            'suspended: ' + repr(self.suspended) + ' ' +\
29272            'tags: ' + repr(self.tags) + ' ' +\
29273            '>'
29274
29275    def to_dict(self):
29276        return {
29277            'account_type': self.account_type,
29278            'deadline': self.deadline,
29279            'duration': self.duration,
29280            'id': self.id,
29281            'name': self.name,
29282            'permissions': self.permissions,
29283            'rekeyed': self.rekeyed,
29284            'suspended': self.suspended,
29285            'tags': self.tags,
29286        }
29287
29288    @classmethod
29289    def from_dict(cls, d):
29290        return cls(
29291            account_type=d.get('account_type'),
29292            deadline=d.get('deadline'),
29293            duration=d.get('duration'),
29294            id=d.get('id'),
29295            name=d.get('name'),
29296            permissions=d.get('permissions'),
29297            rekeyed=d.get('rekeyed'),
29298            suspended=d.get('suspended'),
29299            tags=d.get('tags'),
29300        )
29301
29302
29303class Trino:
29304    '''
29305    Trino is currently unstable, and its API may change, or it may be removed,
29306    without a major version bump.
29307    '''
29308    __slots__ = [
29309        'bind_interface',
29310        'egress_filter',
29311        'healthy',
29312        'hostname',
29313        'id',
29314        'name',
29315        'password',
29316        'port',
29317        'port_override',
29318        'proxy_cluster_id',
29319        'secret_store_id',
29320        'subdomain',
29321        'tags',
29322        'username',
29323    ]
29324
29325    def __init__(
29326        self,
29327        bind_interface=None,
29328        egress_filter=None,
29329        healthy=None,
29330        hostname=None,
29331        id=None,
29332        name=None,
29333        password=None,
29334        port=None,
29335        port_override=None,
29336        proxy_cluster_id=None,
29337        secret_store_id=None,
29338        subdomain=None,
29339        tags=None,
29340        username=None,
29341    ):
29342        self.bind_interface = bind_interface if bind_interface is not None else ''
29343        '''
29344         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
29345        '''
29346        self.egress_filter = egress_filter if egress_filter is not None else ''
29347        '''
29348         A filter applied to the routing logic to pin datasource to nodes.
29349        '''
29350        self.healthy = healthy if healthy is not None else False
29351        '''
29352         True if the datasource is reachable and the credentials are valid.
29353        '''
29354        self.hostname = hostname if hostname is not None else ''
29355        '''
29356         The host to dial to initiate a connection from the egress node to this resource.
29357        '''
29358        self.id = id if id is not None else ''
29359        '''
29360         Unique identifier of the Resource.
29361        '''
29362        self.name = name if name is not None else ''
29363        '''
29364         Unique human-readable name of the Resource.
29365        '''
29366        self.password = password if password is not None else ''
29367        '''
29368         The password to authenticate with.
29369        '''
29370        self.port = port if port is not None else 0
29371        '''
29372         The port to dial to initiate a connection from the egress node to this resource.
29373        '''
29374        self.port_override = port_override if port_override is not None else 0
29375        '''
29376         The local port used by clients to connect to this resource.
29377        '''
29378        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29379        '''
29380         ID of the proxy cluster for this resource, if any.
29381        '''
29382        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29383        '''
29384         ID of the secret store containing credentials for this resource, if any.
29385        '''
29386        self.subdomain = subdomain if subdomain is not None else ''
29387        '''
29388         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
29389        '''
29390        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29391        '''
29392         Tags is a map of key, value pairs.
29393        '''
29394        self.username = username if username is not None else ''
29395        '''
29396         The username to authenticate with.
29397        '''
29398
29399    def __repr__(self):
29400        return '<sdm.Trino ' + \
29401            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29402            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29403            'healthy: ' + repr(self.healthy) + ' ' +\
29404            'hostname: ' + repr(self.hostname) + ' ' +\
29405            'id: ' + repr(self.id) + ' ' +\
29406            'name: ' + repr(self.name) + ' ' +\
29407            'password: ' + repr(self.password) + ' ' +\
29408            'port: ' + repr(self.port) + ' ' +\
29409            'port_override: ' + repr(self.port_override) + ' ' +\
29410            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29411            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29412            'subdomain: ' + repr(self.subdomain) + ' ' +\
29413            'tags: ' + repr(self.tags) + ' ' +\
29414            'username: ' + repr(self.username) + ' ' +\
29415            '>'
29416
29417    def to_dict(self):
29418        return {
29419            'bind_interface': self.bind_interface,
29420            'egress_filter': self.egress_filter,
29421            'healthy': self.healthy,
29422            'hostname': self.hostname,
29423            'id': self.id,
29424            'name': self.name,
29425            'password': self.password,
29426            'port': self.port,
29427            'port_override': self.port_override,
29428            'proxy_cluster_id': self.proxy_cluster_id,
29429            'secret_store_id': self.secret_store_id,
29430            'subdomain': self.subdomain,
29431            'tags': self.tags,
29432            'username': self.username,
29433        }
29434
29435    @classmethod
29436    def from_dict(cls, d):
29437        return cls(
29438            bind_interface=d.get('bind_interface'),
29439            egress_filter=d.get('egress_filter'),
29440            healthy=d.get('healthy'),
29441            hostname=d.get('hostname'),
29442            id=d.get('id'),
29443            name=d.get('name'),
29444            password=d.get('password'),
29445            port=d.get('port'),
29446            port_override=d.get('port_override'),
29447            proxy_cluster_id=d.get('proxy_cluster_id'),
29448            secret_store_id=d.get('secret_store_id'),
29449            subdomain=d.get('subdomain'),
29450            tags=d.get('tags'),
29451            username=d.get('username'),
29452        )
29453
29454
29455class UpdateResponseMetadata:
29456    '''
29457         UpdateResponseMetadata is reserved for future use.
29458    '''
29459    __slots__ = []
29460
29461    def __init__(self, ):
29462        pass
29463
29464    def __repr__(self):
29465        return '<sdm.UpdateResponseMetadata ' + \
29466            '>'
29467
29468    def to_dict(self):
29469        return {}
29470
29471    @classmethod
29472    def from_dict(cls, d):
29473        return cls()
29474
29475
29476class User:
29477    '''
29478         A User can connect to resources they are granted directly, or granted
29479     via roles.
29480    '''
29481    __slots__ = [
29482        'scim',
29483        'email',
29484        'external_id',
29485        'first_name',
29486        'id',
29487        'last_name',
29488        'managed_by',
29489        'manager_id',
29490        'password',
29491        'permission_level',
29492        'resolved_manager_id',
29493        'suspended',
29494        'tags',
29495    ]
29496
29497    def __init__(
29498        self,
29499        scim=None,
29500        email=None,
29501        external_id=None,
29502        first_name=None,
29503        id=None,
29504        last_name=None,
29505        managed_by=None,
29506        manager_id=None,
29507        password=None,
29508        permission_level=None,
29509        resolved_manager_id=None,
29510        suspended=None,
29511        tags=None,
29512    ):
29513        self.scim = scim if scim is not None else ''
29514        '''
29515         SCIM contains the raw SCIM metadata for the user. This is a read-only field.
29516        '''
29517        self.email = email if email is not None else ''
29518        '''
29519         The User's email address. Must be unique.
29520        '''
29521        self.external_id = external_id if external_id is not None else ''
29522        '''
29523         External ID is an alternative unique ID this user is represented by within an external service.
29524        '''
29525        self.first_name = first_name if first_name is not None else ''
29526        '''
29527         The User's first name.
29528        '''
29529        self.id = id if id is not None else ''
29530        '''
29531         Unique identifier of the User.
29532        '''
29533        self.last_name = last_name if last_name is not None else ''
29534        '''
29535         The User's last name.
29536        '''
29537        self.managed_by = managed_by if managed_by is not None else ''
29538        '''
29539         Managed By is a read only field for what service manages this user, e.g. StrongDM, Okta, Azure.
29540        '''
29541        self.manager_id = manager_id if manager_id is not None else ''
29542        '''
29543         Manager ID is the ID of the user's manager. This field is empty when the user has no manager.
29544        '''
29545        self.password = password if password is not None else ''
29546        '''
29547         Password is a write-only field that can be used to set the user's password.
29548         Currently only supported for update.
29549        '''
29550        self.permission_level = permission_level if permission_level is not None else ''
29551        '''
29552         PermissionLevel is the user's permission level e.g. admin, DBA, user.
29553        '''
29554        self.resolved_manager_id = resolved_manager_id if resolved_manager_id is not None else ''
29555        '''
29556         Resolved Manager ID is the ID of the user's manager derived from the manager_id,
29557         if present, or from the SCIM metadata.
29558         This is a read-only field that's only populated for get and list.
29559        '''
29560        self.suspended = suspended if suspended is not None else False
29561        '''
29562         Suspended is a read only field for the User's suspended state.
29563        '''
29564        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29565        '''
29566         Tags is a map of key, value pairs.
29567        '''
29568
29569    def __repr__(self):
29570        return '<sdm.User ' + \
29571            'scim: ' + repr(self.scim) + ' ' +\
29572            'email: ' + repr(self.email) + ' ' +\
29573            'external_id: ' + repr(self.external_id) + ' ' +\
29574            'first_name: ' + repr(self.first_name) + ' ' +\
29575            'id: ' + repr(self.id) + ' ' +\
29576            'last_name: ' + repr(self.last_name) + ' ' +\
29577            'managed_by: ' + repr(self.managed_by) + ' ' +\
29578            'manager_id: ' + repr(self.manager_id) + ' ' +\
29579            'password: ' + repr(self.password) + ' ' +\
29580            'permission_level: ' + repr(self.permission_level) + ' ' +\
29581            'resolved_manager_id: ' + repr(self.resolved_manager_id) + ' ' +\
29582            'suspended: ' + repr(self.suspended) + ' ' +\
29583            'tags: ' + repr(self.tags) + ' ' +\
29584            '>'
29585
29586    def to_dict(self):
29587        return {
29588            'scim': self.scim,
29589            'email': self.email,
29590            'external_id': self.external_id,
29591            'first_name': self.first_name,
29592            'id': self.id,
29593            'last_name': self.last_name,
29594            'managed_by': self.managed_by,
29595            'manager_id': self.manager_id,
29596            'password': self.password,
29597            'permission_level': self.permission_level,
29598            'resolved_manager_id': self.resolved_manager_id,
29599            'suspended': self.suspended,
29600            'tags': self.tags,
29601        }
29602
29603    @classmethod
29604    def from_dict(cls, d):
29605        return cls(
29606            scim=d.get('scim'),
29607            email=d.get('email'),
29608            external_id=d.get('external_id'),
29609            first_name=d.get('first_name'),
29610            id=d.get('id'),
29611            last_name=d.get('last_name'),
29612            managed_by=d.get('managed_by'),
29613            manager_id=d.get('manager_id'),
29614            password=d.get('password'),
29615            permission_level=d.get('permission_level'),
29616            resolved_manager_id=d.get('resolved_manager_id'),
29617            suspended=d.get('suspended'),
29618            tags=d.get('tags'),
29619        )
29620
29621
29622class VaultAWSEC2Store:
29623    '''
29624    VaultAWSEC2Store is currently unstable, and its API may change, or it may be removed,
29625    without a major version bump.
29626    '''
29627    __slots__ = [
29628        'id',
29629        'name',
29630        'namespace',
29631        'server_address',
29632        'tags',
29633    ]
29634
29635    def __init__(
29636        self,
29637        id=None,
29638        name=None,
29639        namespace=None,
29640        server_address=None,
29641        tags=None,
29642    ):
29643        self.id = id if id is not None else ''
29644        '''
29645         Unique identifier of the SecretStore.
29646        '''
29647        self.name = name if name is not None else ''
29648        '''
29649         Unique human-readable name of the SecretStore.
29650        '''
29651        self.namespace = namespace if namespace is not None else ''
29652        '''
29653         The namespace to make requests within
29654        '''
29655        self.server_address = server_address if server_address is not None else ''
29656        '''
29657         The URL of the Vault to target
29658        '''
29659        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29660        '''
29661         Tags is a map of key, value pairs.
29662        '''
29663
29664    def __repr__(self):
29665        return '<sdm.VaultAWSEC2Store ' + \
29666            'id: ' + repr(self.id) + ' ' +\
29667            'name: ' + repr(self.name) + ' ' +\
29668            'namespace: ' + repr(self.namespace) + ' ' +\
29669            'server_address: ' + repr(self.server_address) + ' ' +\
29670            'tags: ' + repr(self.tags) + ' ' +\
29671            '>'
29672
29673    def to_dict(self):
29674        return {
29675            'id': self.id,
29676            'name': self.name,
29677            'namespace': self.namespace,
29678            'server_address': self.server_address,
29679            'tags': self.tags,
29680        }
29681
29682    @classmethod
29683    def from_dict(cls, d):
29684        return cls(
29685            id=d.get('id'),
29686            name=d.get('name'),
29687            namespace=d.get('namespace'),
29688            server_address=d.get('server_address'),
29689            tags=d.get('tags'),
29690        )
29691
29692
29693class VaultAWSIAMStore:
29694    '''
29695    VaultAWSIAMStore is currently unstable, and its API may change, or it may be removed,
29696    without a major version bump.
29697    '''
29698    __slots__ = [
29699        'id',
29700        'name',
29701        'namespace',
29702        'server_address',
29703        'tags',
29704    ]
29705
29706    def __init__(
29707        self,
29708        id=None,
29709        name=None,
29710        namespace=None,
29711        server_address=None,
29712        tags=None,
29713    ):
29714        self.id = id if id is not None else ''
29715        '''
29716         Unique identifier of the SecretStore.
29717        '''
29718        self.name = name if name is not None else ''
29719        '''
29720         Unique human-readable name of the SecretStore.
29721        '''
29722        self.namespace = namespace if namespace is not None else ''
29723        '''
29724         The namespace to make requests within
29725        '''
29726        self.server_address = server_address if server_address is not None else ''
29727        '''
29728         The URL of the Vault to target
29729        '''
29730        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29731        '''
29732         Tags is a map of key, value pairs.
29733        '''
29734
29735    def __repr__(self):
29736        return '<sdm.VaultAWSIAMStore ' + \
29737            'id: ' + repr(self.id) + ' ' +\
29738            'name: ' + repr(self.name) + ' ' +\
29739            'namespace: ' + repr(self.namespace) + ' ' +\
29740            'server_address: ' + repr(self.server_address) + ' ' +\
29741            'tags: ' + repr(self.tags) + ' ' +\
29742            '>'
29743
29744    def to_dict(self):
29745        return {
29746            'id': self.id,
29747            'name': self.name,
29748            'namespace': self.namespace,
29749            'server_address': self.server_address,
29750            'tags': self.tags,
29751        }
29752
29753    @classmethod
29754    def from_dict(cls, d):
29755        return cls(
29756            id=d.get('id'),
29757            name=d.get('name'),
29758            namespace=d.get('namespace'),
29759            server_address=d.get('server_address'),
29760            tags=d.get('tags'),
29761        )
29762
29763
29764class VaultAppRoleCertSSHStore:
29765    __slots__ = [
29766        'id',
29767        'issuedcertttlminutes',
29768        'name',
29769        'namespace',
29770        'server_address',
29771        'signing_role',
29772        'ssh_mount_point',
29773        'tags',
29774    ]
29775
29776    def __init__(
29777        self,
29778        id=None,
29779        issuedcertttlminutes=None,
29780        name=None,
29781        namespace=None,
29782        server_address=None,
29783        signing_role=None,
29784        ssh_mount_point=None,
29785        tags=None,
29786    ):
29787        self.id = id if id is not None else ''
29788        '''
29789         Unique identifier of the SecretStore.
29790        '''
29791        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
29792        '''
29793         The lifetime of certificates issued by this CA represented in minutes.
29794        '''
29795        self.name = name if name is not None else ''
29796        '''
29797         Unique human-readable name of the SecretStore.
29798        '''
29799        self.namespace = namespace if namespace is not None else ''
29800        '''
29801         The namespace to make requests within
29802        '''
29803        self.server_address = server_address if server_address is not None else ''
29804        '''
29805         The URL of the Vault to target
29806        '''
29807        self.signing_role = signing_role if signing_role is not None else ''
29808        '''
29809         The signing role to be used for signing certificates
29810        '''
29811        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
29812        '''
29813         The mount point of the SSH engine configured with the desired CA
29814        '''
29815        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29816        '''
29817         Tags is a map of key, value pairs.
29818        '''
29819
29820    def __repr__(self):
29821        return '<sdm.VaultAppRoleCertSSHStore ' + \
29822            'id: ' + repr(self.id) + ' ' +\
29823            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
29824            'name: ' + repr(self.name) + ' ' +\
29825            'namespace: ' + repr(self.namespace) + ' ' +\
29826            'server_address: ' + repr(self.server_address) + ' ' +\
29827            'signing_role: ' + repr(self.signing_role) + ' ' +\
29828            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
29829            'tags: ' + repr(self.tags) + ' ' +\
29830            '>'
29831
29832    def to_dict(self):
29833        return {
29834            'id': self.id,
29835            'issuedcertttlminutes': self.issuedcertttlminutes,
29836            'name': self.name,
29837            'namespace': self.namespace,
29838            'server_address': self.server_address,
29839            'signing_role': self.signing_role,
29840            'ssh_mount_point': self.ssh_mount_point,
29841            'tags': self.tags,
29842        }
29843
29844    @classmethod
29845    def from_dict(cls, d):
29846        return cls(
29847            id=d.get('id'),
29848            issuedcertttlminutes=d.get('issuedcertttlminutes'),
29849            name=d.get('name'),
29850            namespace=d.get('namespace'),
29851            server_address=d.get('server_address'),
29852            signing_role=d.get('signing_role'),
29853            ssh_mount_point=d.get('ssh_mount_point'),
29854            tags=d.get('tags'),
29855        )
29856
29857
29858class VaultAppRoleCertX509Store:
29859    __slots__ = [
29860        'id',
29861        'issuedcertttlminutes',
29862        'name',
29863        'namespace',
29864        'pki_mount_point',
29865        'server_address',
29866        'signing_role',
29867        'tags',
29868    ]
29869
29870    def __init__(
29871        self,
29872        id=None,
29873        issuedcertttlminutes=None,
29874        name=None,
29875        namespace=None,
29876        pki_mount_point=None,
29877        server_address=None,
29878        signing_role=None,
29879        tags=None,
29880    ):
29881        self.id = id if id is not None else ''
29882        '''
29883         Unique identifier of the SecretStore.
29884        '''
29885        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
29886        '''
29887         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
29888        '''
29889        self.name = name if name is not None else ''
29890        '''
29891         Unique human-readable name of the SecretStore.
29892        '''
29893        self.namespace = namespace if namespace is not None else ''
29894        '''
29895         The namespace to make requests within
29896        '''
29897        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
29898        '''
29899         The mount point of the PKI engine configured with the desired CA
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.signing_role = signing_role if signing_role is not None else ''
29906        '''
29907         The signing role to be used for signing certificates
29908        '''
29909        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29910        '''
29911         Tags is a map of key, value pairs.
29912        '''
29913
29914    def __repr__(self):
29915        return '<sdm.VaultAppRoleCertX509Store ' + \
29916            'id: ' + repr(self.id) + ' ' +\
29917            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
29918            'name: ' + repr(self.name) + ' ' +\
29919            'namespace: ' + repr(self.namespace) + ' ' +\
29920            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
29921            'server_address: ' + repr(self.server_address) + ' ' +\
29922            'signing_role: ' + repr(self.signing_role) + ' ' +\
29923            'tags: ' + repr(self.tags) + ' ' +\
29924            '>'
29925
29926    def to_dict(self):
29927        return {
29928            'id': self.id,
29929            'issuedcertttlminutes': self.issuedcertttlminutes,
29930            'name': self.name,
29931            'namespace': self.namespace,
29932            'pki_mount_point': self.pki_mount_point,
29933            'server_address': self.server_address,
29934            'signing_role': self.signing_role,
29935            'tags': self.tags,
29936        }
29937
29938    @classmethod
29939    def from_dict(cls, d):
29940        return cls(
29941            id=d.get('id'),
29942            issuedcertttlminutes=d.get('issuedcertttlminutes'),
29943            name=d.get('name'),
29944            namespace=d.get('namespace'),
29945            pki_mount_point=d.get('pki_mount_point'),
29946            server_address=d.get('server_address'),
29947            signing_role=d.get('signing_role'),
29948            tags=d.get('tags'),
29949        )
29950
29951
29952class VaultAppRoleStore:
29953    __slots__ = [
29954        'id',
29955        'name',
29956        'namespace',
29957        'server_address',
29958        'tags',
29959    ]
29960
29961    def __init__(
29962        self,
29963        id=None,
29964        name=None,
29965        namespace=None,
29966        server_address=None,
29967        tags=None,
29968    ):
29969        self.id = id if id is not None else ''
29970        '''
29971         Unique identifier of the SecretStore.
29972        '''
29973        self.name = name if name is not None else ''
29974        '''
29975         Unique human-readable name of the SecretStore.
29976        '''
29977        self.namespace = namespace if namespace is not None else ''
29978        '''
29979         The namespace to make requests within
29980        '''
29981        self.server_address = server_address if server_address is not None else ''
29982        '''
29983         The URL of the Vault to target
29984        '''
29985        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29986        '''
29987         Tags is a map of key, value pairs.
29988        '''
29989
29990    def __repr__(self):
29991        return '<sdm.VaultAppRoleStore ' + \
29992            'id: ' + repr(self.id) + ' ' +\
29993            'name: ' + repr(self.name) + ' ' +\
29994            'namespace: ' + repr(self.namespace) + ' ' +\
29995            'server_address: ' + repr(self.server_address) + ' ' +\
29996            'tags: ' + repr(self.tags) + ' ' +\
29997            '>'
29998
29999    def to_dict(self):
30000        return {
30001            'id': self.id,
30002            'name': self.name,
30003            'namespace': self.namespace,
30004            'server_address': self.server_address,
30005            'tags': self.tags,
30006        }
30007
30008    @classmethod
30009    def from_dict(cls, d):
30010        return cls(
30011            id=d.get('id'),
30012            name=d.get('name'),
30013            namespace=d.get('namespace'),
30014            server_address=d.get('server_address'),
30015            tags=d.get('tags'),
30016        )
30017
30018
30019class VaultTLSCertSSHStore:
30020    __slots__ = [
30021        'ca_cert_path',
30022        'client_cert_path',
30023        'client_key_path',
30024        'id',
30025        'issuedcertttlminutes',
30026        'name',
30027        'namespace',
30028        'server_address',
30029        'signing_role',
30030        'ssh_mount_point',
30031        'tags',
30032    ]
30033
30034    def __init__(
30035        self,
30036        ca_cert_path=None,
30037        client_cert_path=None,
30038        client_key_path=None,
30039        id=None,
30040        issuedcertttlminutes=None,
30041        name=None,
30042        namespace=None,
30043        server_address=None,
30044        signing_role=None,
30045        ssh_mount_point=None,
30046        tags=None,
30047    ):
30048        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
30049        '''
30050         A path to a CA file accessible by a Node
30051        '''
30052        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
30053        '''
30054         A path to a client certificate file accessible by a Node
30055        '''
30056        self.client_key_path = client_key_path if client_key_path is not None else ''
30057        '''
30058         A path to a client key file accessible by a Node
30059        '''
30060        self.id = id if id is not None else ''
30061        '''
30062         Unique identifier of the SecretStore.
30063        '''
30064        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30065        '''
30066         The lifetime of certificates issued by this CA represented in minutes.
30067        '''
30068        self.name = name if name is not None else ''
30069        '''
30070         Unique human-readable name of the SecretStore.
30071        '''
30072        self.namespace = namespace if namespace is not None else ''
30073        '''
30074         The namespace to make requests within
30075        '''
30076        self.server_address = server_address if server_address is not None else ''
30077        '''
30078         The URL of the Vault to target
30079        '''
30080        self.signing_role = signing_role if signing_role is not None else ''
30081        '''
30082         The signing role to be used for signing certificates
30083        '''
30084        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
30085        '''
30086         The mount point of the SSH engine configured with the desired CA
30087        '''
30088        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30089        '''
30090         Tags is a map of key, value pairs.
30091        '''
30092
30093    def __repr__(self):
30094        return '<sdm.VaultTLSCertSSHStore ' + \
30095            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
30096            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
30097            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
30098            'id: ' + repr(self.id) + ' ' +\
30099            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
30100            'name: ' + repr(self.name) + ' ' +\
30101            'namespace: ' + repr(self.namespace) + ' ' +\
30102            'server_address: ' + repr(self.server_address) + ' ' +\
30103            'signing_role: ' + repr(self.signing_role) + ' ' +\
30104            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
30105            'tags: ' + repr(self.tags) + ' ' +\
30106            '>'
30107
30108    def to_dict(self):
30109        return {
30110            'ca_cert_path': self.ca_cert_path,
30111            'client_cert_path': self.client_cert_path,
30112            'client_key_path': self.client_key_path,
30113            'id': self.id,
30114            'issuedcertttlminutes': self.issuedcertttlminutes,
30115            'name': self.name,
30116            'namespace': self.namespace,
30117            'server_address': self.server_address,
30118            'signing_role': self.signing_role,
30119            'ssh_mount_point': self.ssh_mount_point,
30120            'tags': self.tags,
30121        }
30122
30123    @classmethod
30124    def from_dict(cls, d):
30125        return cls(
30126            ca_cert_path=d.get('ca_cert_path'),
30127            client_cert_path=d.get('client_cert_path'),
30128            client_key_path=d.get('client_key_path'),
30129            id=d.get('id'),
30130            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30131            name=d.get('name'),
30132            namespace=d.get('namespace'),
30133            server_address=d.get('server_address'),
30134            signing_role=d.get('signing_role'),
30135            ssh_mount_point=d.get('ssh_mount_point'),
30136            tags=d.get('tags'),
30137        )
30138
30139
30140class VaultTLSCertX509Store:
30141    __slots__ = [
30142        'ca_cert_path',
30143        'client_cert_path',
30144        'client_key_path',
30145        'id',
30146        'issuedcertttlminutes',
30147        'name',
30148        'namespace',
30149        'pki_mount_point',
30150        'server_address',
30151        'signing_role',
30152        'tags',
30153    ]
30154
30155    def __init__(
30156        self,
30157        ca_cert_path=None,
30158        client_cert_path=None,
30159        client_key_path=None,
30160        id=None,
30161        issuedcertttlminutes=None,
30162        name=None,
30163        namespace=None,
30164        pki_mount_point=None,
30165        server_address=None,
30166        signing_role=None,
30167        tags=None,
30168    ):
30169        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
30170        '''
30171         A path to a CA file accessible by a Node
30172        '''
30173        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
30174        '''
30175         A path to a client certificate file accessible by a Node
30176        '''
30177        self.client_key_path = client_key_path if client_key_path is not None else ''
30178        '''
30179         A path to a client key file accessible by a Node
30180        '''
30181        self.id = id if id is not None else ''
30182        '''
30183         Unique identifier of the SecretStore.
30184        '''
30185        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30186        '''
30187         The lifetime of certificates issued by this CA represented in minutes.
30188        '''
30189        self.name = name if name is not None else ''
30190        '''
30191         Unique human-readable name of the SecretStore.
30192        '''
30193        self.namespace = namespace if namespace is not None else ''
30194        '''
30195         The namespace to make requests within
30196        '''
30197        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
30198        '''
30199         The mount point of the PKI engine configured with the desired CA
30200        '''
30201        self.server_address = server_address if server_address is not None else ''
30202        '''
30203         The URL of the Vault to target
30204        '''
30205        self.signing_role = signing_role if signing_role is not None else ''
30206        '''
30207         The signing role to be used for signing certificates
30208        '''
30209        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30210        '''
30211         Tags is a map of key, value pairs.
30212        '''
30213
30214    def __repr__(self):
30215        return '<sdm.VaultTLSCertX509Store ' + \
30216            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
30217            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
30218            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
30219            'id: ' + repr(self.id) + ' ' +\
30220            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
30221            'name: ' + repr(self.name) + ' ' +\
30222            'namespace: ' + repr(self.namespace) + ' ' +\
30223            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
30224            'server_address: ' + repr(self.server_address) + ' ' +\
30225            'signing_role: ' + repr(self.signing_role) + ' ' +\
30226            'tags: ' + repr(self.tags) + ' ' +\
30227            '>'
30228
30229    def to_dict(self):
30230        return {
30231            'ca_cert_path': self.ca_cert_path,
30232            'client_cert_path': self.client_cert_path,
30233            'client_key_path': self.client_key_path,
30234            'id': self.id,
30235            'issuedcertttlminutes': self.issuedcertttlminutes,
30236            'name': self.name,
30237            'namespace': self.namespace,
30238            'pki_mount_point': self.pki_mount_point,
30239            'server_address': self.server_address,
30240            'signing_role': self.signing_role,
30241            'tags': self.tags,
30242        }
30243
30244    @classmethod
30245    def from_dict(cls, d):
30246        return cls(
30247            ca_cert_path=d.get('ca_cert_path'),
30248            client_cert_path=d.get('client_cert_path'),
30249            client_key_path=d.get('client_key_path'),
30250            id=d.get('id'),
30251            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30252            name=d.get('name'),
30253            namespace=d.get('namespace'),
30254            pki_mount_point=d.get('pki_mount_point'),
30255            server_address=d.get('server_address'),
30256            signing_role=d.get('signing_role'),
30257            tags=d.get('tags'),
30258        )
30259
30260
30261class VaultTLSStore:
30262    __slots__ = [
30263        'ca_cert_path',
30264        'client_cert_path',
30265        'client_key_path',
30266        'id',
30267        'name',
30268        'namespace',
30269        'server_address',
30270        'tags',
30271    ]
30272
30273    def __init__(
30274        self,
30275        ca_cert_path=None,
30276        client_cert_path=None,
30277        client_key_path=None,
30278        id=None,
30279        name=None,
30280        namespace=None,
30281        server_address=None,
30282        tags=None,
30283    ):
30284        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
30285        '''
30286         A path to a CA file accessible by a Node
30287        '''
30288        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
30289        '''
30290         A path to a client certificate file accessible by a Node
30291        '''
30292        self.client_key_path = client_key_path if client_key_path is not None else ''
30293        '''
30294         A path to a client key file accessible by a Node
30295        '''
30296        self.id = id if id is not None else ''
30297        '''
30298         Unique identifier of the SecretStore.
30299        '''
30300        self.name = name if name is not None else ''
30301        '''
30302         Unique human-readable name of the SecretStore.
30303        '''
30304        self.namespace = namespace if namespace is not None else ''
30305        '''
30306         The namespace to make requests within
30307        '''
30308        self.server_address = server_address if server_address is not None else ''
30309        '''
30310         The URL of the Vault to target
30311        '''
30312        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30313        '''
30314         Tags is a map of key, value pairs.
30315        '''
30316
30317    def __repr__(self):
30318        return '<sdm.VaultTLSStore ' + \
30319            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
30320            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
30321            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
30322            'id: ' + repr(self.id) + ' ' +\
30323            'name: ' + repr(self.name) + ' ' +\
30324            'namespace: ' + repr(self.namespace) + ' ' +\
30325            'server_address: ' + repr(self.server_address) + ' ' +\
30326            'tags: ' + repr(self.tags) + ' ' +\
30327            '>'
30328
30329    def to_dict(self):
30330        return {
30331            'ca_cert_path': self.ca_cert_path,
30332            'client_cert_path': self.client_cert_path,
30333            'client_key_path': self.client_key_path,
30334            'id': self.id,
30335            'name': self.name,
30336            'namespace': self.namespace,
30337            'server_address': self.server_address,
30338            'tags': self.tags,
30339        }
30340
30341    @classmethod
30342    def from_dict(cls, d):
30343        return cls(
30344            ca_cert_path=d.get('ca_cert_path'),
30345            client_cert_path=d.get('client_cert_path'),
30346            client_key_path=d.get('client_key_path'),
30347            id=d.get('id'),
30348            name=d.get('name'),
30349            namespace=d.get('namespace'),
30350            server_address=d.get('server_address'),
30351            tags=d.get('tags'),
30352        )
30353
30354
30355class VaultTokenCertSSHStore:
30356    __slots__ = [
30357        'id',
30358        'issuedcertttlminutes',
30359        'name',
30360        'namespace',
30361        'server_address',
30362        'signing_role',
30363        'ssh_mount_point',
30364        'tags',
30365    ]
30366
30367    def __init__(
30368        self,
30369        id=None,
30370        issuedcertttlminutes=None,
30371        name=None,
30372        namespace=None,
30373        server_address=None,
30374        signing_role=None,
30375        ssh_mount_point=None,
30376        tags=None,
30377    ):
30378        self.id = id if id is not None else ''
30379        '''
30380         Unique identifier of the SecretStore.
30381        '''
30382        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30383        '''
30384         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
30385        '''
30386        self.name = name if name is not None else ''
30387        '''
30388         Unique human-readable name of the SecretStore.
30389        '''
30390        self.namespace = namespace if namespace is not None else ''
30391        '''
30392         The namespace to make requests within
30393        '''
30394        self.server_address = server_address if server_address is not None else ''
30395        '''
30396         The URL of the Vault to target
30397        '''
30398        self.signing_role = signing_role if signing_role is not None else ''
30399        '''
30400         The signing role to be used for signing certificates
30401        '''
30402        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
30403        '''
30404         The mount point of the SSH engine configured with the desired CA
30405        '''
30406        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30407        '''
30408         Tags is a map of key, value pairs.
30409        '''
30410
30411    def __repr__(self):
30412        return '<sdm.VaultTokenCertSSHStore ' + \
30413            'id: ' + repr(self.id) + ' ' +\
30414            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
30415            'name: ' + repr(self.name) + ' ' +\
30416            'namespace: ' + repr(self.namespace) + ' ' +\
30417            'server_address: ' + repr(self.server_address) + ' ' +\
30418            'signing_role: ' + repr(self.signing_role) + ' ' +\
30419            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
30420            'tags: ' + repr(self.tags) + ' ' +\
30421            '>'
30422
30423    def to_dict(self):
30424        return {
30425            'id': self.id,
30426            'issuedcertttlminutes': self.issuedcertttlminutes,
30427            'name': self.name,
30428            'namespace': self.namespace,
30429            'server_address': self.server_address,
30430            'signing_role': self.signing_role,
30431            'ssh_mount_point': self.ssh_mount_point,
30432            'tags': self.tags,
30433        }
30434
30435    @classmethod
30436    def from_dict(cls, d):
30437        return cls(
30438            id=d.get('id'),
30439            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30440            name=d.get('name'),
30441            namespace=d.get('namespace'),
30442            server_address=d.get('server_address'),
30443            signing_role=d.get('signing_role'),
30444            ssh_mount_point=d.get('ssh_mount_point'),
30445            tags=d.get('tags'),
30446        )
30447
30448
30449class VaultTokenCertX509Store:
30450    __slots__ = [
30451        'id',
30452        'issuedcertttlminutes',
30453        'name',
30454        'namespace',
30455        'pki_mount_point',
30456        'server_address',
30457        'signing_role',
30458        'tags',
30459    ]
30460
30461    def __init__(
30462        self,
30463        id=None,
30464        issuedcertttlminutes=None,
30465        name=None,
30466        namespace=None,
30467        pki_mount_point=None,
30468        server_address=None,
30469        signing_role=None,
30470        tags=None,
30471    ):
30472        self.id = id if id is not None else ''
30473        '''
30474         Unique identifier of the SecretStore.
30475        '''
30476        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30477        '''
30478         The lifetime of certificates issued by this CA represented in minutes.
30479        '''
30480        self.name = name if name is not None else ''
30481        '''
30482         Unique human-readable name of the SecretStore.
30483        '''
30484        self.namespace = namespace if namespace is not None else ''
30485        '''
30486         The namespace to make requests within
30487        '''
30488        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
30489        '''
30490         The mount point of the PKI engine configured with the desired CA
30491        '''
30492        self.server_address = server_address if server_address is not None else ''
30493        '''
30494         The URL of the Vault to target
30495        '''
30496        self.signing_role = signing_role if signing_role is not None else ''
30497        '''
30498         The signing role to be used for signing certificates
30499        '''
30500        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30501        '''
30502         Tags is a map of key, value pairs.
30503        '''
30504
30505    def __repr__(self):
30506        return '<sdm.VaultTokenCertX509Store ' + \
30507            'id: ' + repr(self.id) + ' ' +\
30508            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
30509            'name: ' + repr(self.name) + ' ' +\
30510            'namespace: ' + repr(self.namespace) + ' ' +\
30511            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
30512            'server_address: ' + repr(self.server_address) + ' ' +\
30513            'signing_role: ' + repr(self.signing_role) + ' ' +\
30514            'tags: ' + repr(self.tags) + ' ' +\
30515            '>'
30516
30517    def to_dict(self):
30518        return {
30519            'id': self.id,
30520            'issuedcertttlminutes': self.issuedcertttlminutes,
30521            'name': self.name,
30522            'namespace': self.namespace,
30523            'pki_mount_point': self.pki_mount_point,
30524            'server_address': self.server_address,
30525            'signing_role': self.signing_role,
30526            'tags': self.tags,
30527        }
30528
30529    @classmethod
30530    def from_dict(cls, d):
30531        return cls(
30532            id=d.get('id'),
30533            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30534            name=d.get('name'),
30535            namespace=d.get('namespace'),
30536            pki_mount_point=d.get('pki_mount_point'),
30537            server_address=d.get('server_address'),
30538            signing_role=d.get('signing_role'),
30539            tags=d.get('tags'),
30540        )
30541
30542
30543class VaultTokenStore:
30544    __slots__ = [
30545        'id',
30546        'name',
30547        'namespace',
30548        'server_address',
30549        'tags',
30550    ]
30551
30552    def __init__(
30553        self,
30554        id=None,
30555        name=None,
30556        namespace=None,
30557        server_address=None,
30558        tags=None,
30559    ):
30560        self.id = id if id is not None else ''
30561        '''
30562         Unique identifier of the SecretStore.
30563        '''
30564        self.name = name if name is not None else ''
30565        '''
30566         Unique human-readable name of the SecretStore.
30567        '''
30568        self.namespace = namespace if namespace is not None else ''
30569        '''
30570         The namespace to make requests within
30571        '''
30572        self.server_address = server_address if server_address is not None else ''
30573        '''
30574         The URL of the Vault to target
30575        '''
30576        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30577        '''
30578         Tags is a map of key, value pairs.
30579        '''
30580
30581    def __repr__(self):
30582        return '<sdm.VaultTokenStore ' + \
30583            'id: ' + repr(self.id) + ' ' +\
30584            'name: ' + repr(self.name) + ' ' +\
30585            'namespace: ' + repr(self.namespace) + ' ' +\
30586            'server_address: ' + repr(self.server_address) + ' ' +\
30587            'tags: ' + repr(self.tags) + ' ' +\
30588            '>'
30589
30590    def to_dict(self):
30591        return {
30592            'id': self.id,
30593            'name': self.name,
30594            'namespace': self.namespace,
30595            'server_address': self.server_address,
30596            'tags': self.tags,
30597        }
30598
30599    @classmethod
30600    def from_dict(cls, d):
30601        return cls(
30602            id=d.get('id'),
30603            name=d.get('name'),
30604            namespace=d.get('namespace'),
30605            server_address=d.get('server_address'),
30606            tags=d.get('tags'),
30607        )
30608
30609
30610class Vertica:
30611    __slots__ = [
30612        'bind_interface',
30613        'database',
30614        'egress_filter',
30615        'healthy',
30616        'hostname',
30617        'id',
30618        'name',
30619        'password',
30620        'port',
30621        'port_override',
30622        'proxy_cluster_id',
30623        'secret_store_id',
30624        'subdomain',
30625        'tags',
30626        'username',
30627    ]
30628
30629    def __init__(
30630        self,
30631        bind_interface=None,
30632        database=None,
30633        egress_filter=None,
30634        healthy=None,
30635        hostname=None,
30636        id=None,
30637        name=None,
30638        password=None,
30639        port=None,
30640        port_override=None,
30641        proxy_cluster_id=None,
30642        secret_store_id=None,
30643        subdomain=None,
30644        tags=None,
30645        username=None,
30646    ):
30647        self.bind_interface = bind_interface if bind_interface is not None else ''
30648        '''
30649         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
30650        '''
30651        self.database = database if database is not None else ''
30652        '''
30653         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
30654        '''
30655        self.egress_filter = egress_filter if egress_filter is not None else ''
30656        '''
30657         A filter applied to the routing logic to pin datasource to nodes.
30658        '''
30659        self.healthy = healthy if healthy is not None else False
30660        '''
30661         True if the datasource is reachable and the credentials are valid.
30662        '''
30663        self.hostname = hostname if hostname is not None else ''
30664        '''
30665         The host to dial to initiate a connection from the egress node to this resource.
30666        '''
30667        self.id = id if id is not None else ''
30668        '''
30669         Unique identifier of the Resource.
30670        '''
30671        self.name = name if name is not None else ''
30672        '''
30673         Unique human-readable name of the Resource.
30674        '''
30675        self.password = password if password is not None else ''
30676        '''
30677         The password to authenticate with.
30678        '''
30679        self.port = port if port is not None else 0
30680        '''
30681         The port to dial to initiate a connection from the egress node to this resource.
30682        '''
30683        self.port_override = port_override if port_override is not None else 0
30684        '''
30685         The local port used by clients to connect to this resource.
30686        '''
30687        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
30688        '''
30689         ID of the proxy cluster for this resource, if any.
30690        '''
30691        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
30692        '''
30693         ID of the secret store containing credentials for this resource, if any.
30694        '''
30695        self.subdomain = subdomain if subdomain is not None else ''
30696        '''
30697         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
30698        '''
30699        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30700        '''
30701         Tags is a map of key, value pairs.
30702        '''
30703        self.username = username if username is not None else ''
30704        '''
30705         The username to authenticate with.
30706        '''
30707
30708    def __repr__(self):
30709        return '<sdm.Vertica ' + \
30710            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
30711            'database: ' + repr(self.database) + ' ' +\
30712            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
30713            'healthy: ' + repr(self.healthy) + ' ' +\
30714            'hostname: ' + repr(self.hostname) + ' ' +\
30715            'id: ' + repr(self.id) + ' ' +\
30716            'name: ' + repr(self.name) + ' ' +\
30717            'password: ' + repr(self.password) + ' ' +\
30718            'port: ' + repr(self.port) + ' ' +\
30719            'port_override: ' + repr(self.port_override) + ' ' +\
30720            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
30721            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
30722            'subdomain: ' + repr(self.subdomain) + ' ' +\
30723            'tags: ' + repr(self.tags) + ' ' +\
30724            'username: ' + repr(self.username) + ' ' +\
30725            '>'
30726
30727    def to_dict(self):
30728        return {
30729            'bind_interface': self.bind_interface,
30730            'database': self.database,
30731            'egress_filter': self.egress_filter,
30732            'healthy': self.healthy,
30733            'hostname': self.hostname,
30734            'id': self.id,
30735            'name': self.name,
30736            'password': self.password,
30737            'port': self.port,
30738            'port_override': self.port_override,
30739            'proxy_cluster_id': self.proxy_cluster_id,
30740            'secret_store_id': self.secret_store_id,
30741            'subdomain': self.subdomain,
30742            'tags': self.tags,
30743            'username': self.username,
30744        }
30745
30746    @classmethod
30747    def from_dict(cls, d):
30748        return cls(
30749            bind_interface=d.get('bind_interface'),
30750            database=d.get('database'),
30751            egress_filter=d.get('egress_filter'),
30752            healthy=d.get('healthy'),
30753            hostname=d.get('hostname'),
30754            id=d.get('id'),
30755            name=d.get('name'),
30756            password=d.get('password'),
30757            port=d.get('port'),
30758            port_override=d.get('port_override'),
30759            proxy_cluster_id=d.get('proxy_cluster_id'),
30760            secret_store_id=d.get('secret_store_id'),
30761            subdomain=d.get('subdomain'),
30762            tags=d.get('tags'),
30763            username=d.get('username'),
30764        )
30765
30766
30767class Workflow:
30768    '''
30769         Workflows are the collection of rules that define the resources to which access can be requested,
30770     the users that can request that access, and the mechanism for approving those requests which can either
30771     but automatic approval or a set of users authorized to approve the requests.
30772    '''
30773    __slots__ = [
30774        'access_request_fixed_duration',
30775        'access_request_max_duration',
30776        'access_rules',
30777        'approval_flow_id',
30778        'auto_grant',
30779        'description',
30780        'enabled',
30781        'id',
30782        'name',
30783        'weight',
30784    ]
30785
30786    def __init__(
30787        self,
30788        access_request_fixed_duration=None,
30789        access_request_max_duration=None,
30790        access_rules=None,
30791        approval_flow_id=None,
30792        auto_grant=None,
30793        description=None,
30794        enabled=None,
30795        id=None,
30796        name=None,
30797        weight=None,
30798    ):
30799        self.access_request_fixed_duration = access_request_fixed_duration if access_request_fixed_duration is not None else None
30800        '''
30801         Fixed Duration of access requests bound to this workflow. If fixed duration is provided, max duration must be empty.
30802         If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.
30803        '''
30804        self.access_request_max_duration = access_request_max_duration if access_request_max_duration is not None else None
30805        '''
30806         Maximum Duration of access requests bound to this workflow. If max duration is provided, fixed duration must be empty.
30807         If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.
30808        '''
30809        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
30810        )
30811        '''
30812         AccessRules is a list of access rules defining the resources this Workflow provides access to.
30813        '''
30814        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
30815        '''
30816         Optional approval flow ID identifies an approval flow that linked to the workflow
30817        '''
30818        self.auto_grant = auto_grant if auto_grant is not None else False
30819        '''
30820         Optional auto grant setting to automatically approve requests or not, defaults to false.
30821        '''
30822        self.description = description if description is not None else ''
30823        '''
30824         Optional description of the Workflow.
30825        '''
30826        self.enabled = enabled if enabled is not None else False
30827        '''
30828         Optional enabled state for workflow. This setting may be overridden by the system if
30829         the workflow doesn't meet the requirements to be enabled or if other conditions prevent
30830         enabling the workflow. The requirements to enable a workflow are that the workflow must be
30831         either set up for with auto grant enabled or have one or more WorkflowApprovers created for
30832         the workflow.
30833        '''
30834        self.id = id if id is not None else ''
30835        '''
30836         Unique identifier of the Workflow.
30837        '''
30838        self.name = name if name is not None else ''
30839        '''
30840         Unique human-readable name of the Workflow.
30841        '''
30842        self.weight = weight if weight is not None else 0
30843        '''
30844         Optional weight for workflow to specify it's priority in matching a request.
30845        '''
30846
30847    def __repr__(self):
30848        return '<sdm.Workflow ' + \
30849            'access_request_fixed_duration: ' + repr(self.access_request_fixed_duration) + ' ' +\
30850            'access_request_max_duration: ' + repr(self.access_request_max_duration) + ' ' +\
30851            'access_rules: ' + repr(self.access_rules) + ' ' +\
30852            'approval_flow_id: ' + repr(self.approval_flow_id) + ' ' +\
30853            'auto_grant: ' + repr(self.auto_grant) + ' ' +\
30854            'description: ' + repr(self.description) + ' ' +\
30855            'enabled: ' + repr(self.enabled) + ' ' +\
30856            'id: ' + repr(self.id) + ' ' +\
30857            'name: ' + repr(self.name) + ' ' +\
30858            'weight: ' + repr(self.weight) + ' ' +\
30859            '>'
30860
30861    def to_dict(self):
30862        return {
30863            'access_request_fixed_duration':
30864            self.access_request_fixed_duration,
30865            'access_request_max_duration': self.access_request_max_duration,
30866            'access_rules': self.access_rules,
30867            'approval_flow_id': self.approval_flow_id,
30868            'auto_grant': self.auto_grant,
30869            'description': self.description,
30870            'enabled': self.enabled,
30871            'id': self.id,
30872            'name': self.name,
30873            'weight': self.weight,
30874        }
30875
30876    @classmethod
30877    def from_dict(cls, d):
30878        return cls(
30879            access_request_fixed_duration=d.get(
30880                'access_request_fixed_duration'),
30881            access_request_max_duration=d.get('access_request_max_duration'),
30882            access_rules=d.get('access_rules'),
30883            approval_flow_id=d.get('approval_flow_id'),
30884            auto_grant=d.get('auto_grant'),
30885            description=d.get('description'),
30886            enabled=d.get('enabled'),
30887            id=d.get('id'),
30888            name=d.get('name'),
30889            weight=d.get('weight'),
30890        )
30891
30892
30893class WorkflowApprover:
30894    '''
30895         WorkflowApprover is an account or a role with the ability to approve requests bound to a workflow.
30896    '''
30897    __slots__ = [
30898        'account_id',
30899        'id',
30900        'role_id',
30901        'workflow_id',
30902    ]
30903
30904    def __init__(
30905        self,
30906        account_id=None,
30907        id=None,
30908        role_id=None,
30909        workflow_id=None,
30910    ):
30911        self.account_id = account_id if account_id is not None else ''
30912        '''
30913         The approver account id.
30914        '''
30915        self.id = id if id is not None else ''
30916        '''
30917         Unique identifier of the WorkflowApprover.
30918        '''
30919        self.role_id = role_id if role_id is not None else ''
30920        '''
30921         The approver role id
30922        '''
30923        self.workflow_id = workflow_id if workflow_id is not None else ''
30924        '''
30925         The workflow id.
30926        '''
30927
30928    def __repr__(self):
30929        return '<sdm.WorkflowApprover ' + \
30930            'account_id: ' + repr(self.account_id) + ' ' +\
30931            'id: ' + repr(self.id) + ' ' +\
30932            'role_id: ' + repr(self.role_id) + ' ' +\
30933            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
30934            '>'
30935
30936    def to_dict(self):
30937        return {
30938            'account_id': self.account_id,
30939            'id': self.id,
30940            'role_id': self.role_id,
30941            'workflow_id': self.workflow_id,
30942        }
30943
30944    @classmethod
30945    def from_dict(cls, d):
30946        return cls(
30947            account_id=d.get('account_id'),
30948            id=d.get('id'),
30949            role_id=d.get('role_id'),
30950            workflow_id=d.get('workflow_id'),
30951        )
30952
30953
30954class WorkflowApproverGetResponse:
30955    '''
30956         WorkflowApproverGetResponse returns a requested WorkflowApprover.
30957    '''
30958    __slots__ = [
30959        'meta',
30960        'rate_limit',
30961        'workflow_approver',
30962    ]
30963
30964    def __init__(
30965        self,
30966        meta=None,
30967        rate_limit=None,
30968        workflow_approver=None,
30969    ):
30970        self.meta = meta if meta is not None else None
30971        '''
30972         Reserved for future use.
30973        '''
30974        self.rate_limit = rate_limit if rate_limit is not None else None
30975        '''
30976         Rate limit information.
30977        '''
30978        self.workflow_approver = workflow_approver if workflow_approver is not None else None
30979        '''
30980         The requested WorkflowApprover.
30981        '''
30982
30983    def __repr__(self):
30984        return '<sdm.WorkflowApproverGetResponse ' + \
30985            'meta: ' + repr(self.meta) + ' ' +\
30986            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
30987            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
30988            '>'
30989
30990    def to_dict(self):
30991        return {
30992            'meta': self.meta,
30993            'rate_limit': self.rate_limit,
30994            'workflow_approver': self.workflow_approver,
30995        }
30996
30997    @classmethod
30998    def from_dict(cls, d):
30999        return cls(
31000            meta=d.get('meta'),
31001            rate_limit=d.get('rate_limit'),
31002            workflow_approver=d.get('workflow_approver'),
31003        )
31004
31005
31006class WorkflowApproverHistory:
31007    '''
31008         WorkflowApproverHistory provides records of all changes to the state of a WorkflowApprover.
31009    '''
31010    __slots__ = [
31011        'activity_id',
31012        'deleted_at',
31013        'timestamp',
31014        'workflow_approver',
31015    ]
31016
31017    def __init__(
31018        self,
31019        activity_id=None,
31020        deleted_at=None,
31021        timestamp=None,
31022        workflow_approver=None,
31023    ):
31024        self.activity_id = activity_id if activity_id is not None else ''
31025        '''
31026         The unique identifier of the Activity that produced this change to the WorkflowApprover.
31027         May be empty for some system-initiated updates.
31028        '''
31029        self.deleted_at = deleted_at if deleted_at is not None else None
31030        '''
31031         If this WorkflowApprover was deleted, the time it was deleted.
31032        '''
31033        self.timestamp = timestamp if timestamp is not None else None
31034        '''
31035         The time at which the WorkflowApprover state was recorded.
31036        '''
31037        self.workflow_approver = workflow_approver if workflow_approver is not None else None
31038        '''
31039         The complete WorkflowApprover state at this time.
31040        '''
31041
31042    def __repr__(self):
31043        return '<sdm.WorkflowApproverHistory ' + \
31044            'activity_id: ' + repr(self.activity_id) + ' ' +\
31045            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
31046            'timestamp: ' + repr(self.timestamp) + ' ' +\
31047            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
31048            '>'
31049
31050    def to_dict(self):
31051        return {
31052            'activity_id': self.activity_id,
31053            'deleted_at': self.deleted_at,
31054            'timestamp': self.timestamp,
31055            'workflow_approver': self.workflow_approver,
31056        }
31057
31058    @classmethod
31059    def from_dict(cls, d):
31060        return cls(
31061            activity_id=d.get('activity_id'),
31062            deleted_at=d.get('deleted_at'),
31063            timestamp=d.get('timestamp'),
31064            workflow_approver=d.get('workflow_approver'),
31065        )
31066
31067
31068class WorkflowApproversCreateRequest:
31069    '''
31070         WorkflowApproversCreateRequest specifies the workflowID and approverID of a new
31071     workflow approver to be created.
31072    '''
31073    __slots__ = [
31074        'workflow_approver',
31075    ]
31076
31077    def __init__(
31078        self,
31079        workflow_approver=None,
31080    ):
31081        self.workflow_approver = workflow_approver if workflow_approver is not None else None
31082        '''
31083         Parameters to define the new WorkflowApprover.
31084        '''
31085
31086    def __repr__(self):
31087        return '<sdm.WorkflowApproversCreateRequest ' + \
31088            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
31089            '>'
31090
31091    def to_dict(self):
31092        return {
31093            'workflow_approver': self.workflow_approver,
31094        }
31095
31096    @classmethod
31097    def from_dict(cls, d):
31098        return cls(workflow_approver=d.get('workflow_approver'), )
31099
31100
31101class WorkflowApproversCreateResponse:
31102    '''
31103         WorkflowApproversCreateResponse reports how the WorkflowApprover was created in the system.
31104    '''
31105    __slots__ = [
31106        'rate_limit',
31107        'workflow_approver',
31108    ]
31109
31110    def __init__(
31111        self,
31112        rate_limit=None,
31113        workflow_approver=None,
31114    ):
31115        self.rate_limit = rate_limit if rate_limit is not None else None
31116        '''
31117         Rate limit information.
31118        '''
31119        self.workflow_approver = workflow_approver if workflow_approver is not None else None
31120        '''
31121         The created workflow approver.
31122        '''
31123
31124    def __repr__(self):
31125        return '<sdm.WorkflowApproversCreateResponse ' + \
31126            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31127            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
31128            '>'
31129
31130    def to_dict(self):
31131        return {
31132            'rate_limit': self.rate_limit,
31133            'workflow_approver': self.workflow_approver,
31134        }
31135
31136    @classmethod
31137    def from_dict(cls, d):
31138        return cls(
31139            rate_limit=d.get('rate_limit'),
31140            workflow_approver=d.get('workflow_approver'),
31141        )
31142
31143
31144class WorkflowApproversDeleteRequest:
31145    '''
31146         WorkflowApproversDeleteRequest specifies the ID of a WorkflowApprover to be deleted.
31147    '''
31148    __slots__ = [
31149        'id',
31150    ]
31151
31152    def __init__(
31153        self,
31154        id=None,
31155    ):
31156        self.id = id if id is not None else ''
31157        '''
31158         The unique identifier of the WorkflowApprover to delete.
31159        '''
31160
31161    def __repr__(self):
31162        return '<sdm.WorkflowApproversDeleteRequest ' + \
31163            'id: ' + repr(self.id) + ' ' +\
31164            '>'
31165
31166    def to_dict(self):
31167        return {
31168            'id': self.id,
31169        }
31170
31171    @classmethod
31172    def from_dict(cls, d):
31173        return cls(id=d.get('id'), )
31174
31175
31176class WorkflowApproversDeleteResponse:
31177    '''
31178         WorkflowApproversDeleteResponse reports how the WorkflowApprover was deleted in the system.
31179    '''
31180    __slots__ = [
31181        'rate_limit',
31182    ]
31183
31184    def __init__(
31185        self,
31186        rate_limit=None,
31187    ):
31188        self.rate_limit = rate_limit if rate_limit is not None else None
31189        '''
31190         Rate limit information.
31191        '''
31192
31193    def __repr__(self):
31194        return '<sdm.WorkflowApproversDeleteResponse ' + \
31195            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31196            '>'
31197
31198    def to_dict(self):
31199        return {
31200            'rate_limit': self.rate_limit,
31201        }
31202
31203    @classmethod
31204    def from_dict(cls, d):
31205        return cls(rate_limit=d.get('rate_limit'), )
31206
31207
31208class WorkflowApproversListRequest:
31209    '''
31210         WorkflowApproversListRequest specifies criteria for retrieving a list of
31211     WorkflowApprover records
31212    '''
31213    __slots__ = [
31214        'filter',
31215    ]
31216
31217    def __init__(
31218        self,
31219        filter=None,
31220    ):
31221        self.filter = filter if filter is not None else ''
31222        '''
31223         A human-readable filter query string.
31224        '''
31225
31226    def __repr__(self):
31227        return '<sdm.WorkflowApproversListRequest ' + \
31228            'filter: ' + repr(self.filter) + ' ' +\
31229            '>'
31230
31231    def to_dict(self):
31232        return {
31233            'filter': self.filter,
31234        }
31235
31236    @classmethod
31237    def from_dict(cls, d):
31238        return cls(filter=d.get('filter'), )
31239
31240
31241class WorkflowApproversListResponse:
31242    '''
31243         WorkflowApproversListResponse returns a list of WorkflowApprover records that meet
31244     the criteria of a WorkflowApproversListRequest.
31245    '''
31246    __slots__ = [
31247        'rate_limit',
31248    ]
31249
31250    def __init__(
31251        self,
31252        rate_limit=None,
31253    ):
31254        self.rate_limit = rate_limit if rate_limit is not None else None
31255        '''
31256         Rate limit information.
31257        '''
31258
31259    def __repr__(self):
31260        return '<sdm.WorkflowApproversListResponse ' + \
31261            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31262            '>'
31263
31264    def to_dict(self):
31265        return {
31266            'rate_limit': self.rate_limit,
31267        }
31268
31269    @classmethod
31270    def from_dict(cls, d):
31271        return cls(rate_limit=d.get('rate_limit'), )
31272
31273
31274class WorkflowAssignment:
31275    '''
31276         WorkflowAssignment links a Resource to a Workflow. The assigned resources are those that a user can request
31277     access to via the workflow.
31278    '''
31279    __slots__ = [
31280        'resource_id',
31281        'workflow_id',
31282    ]
31283
31284    def __init__(
31285        self,
31286        resource_id=None,
31287        workflow_id=None,
31288    ):
31289        self.resource_id = resource_id if resource_id is not None else ''
31290        '''
31291         The resource id.
31292        '''
31293        self.workflow_id = workflow_id if workflow_id is not None else ''
31294        '''
31295         The workflow id.
31296        '''
31297
31298    def __repr__(self):
31299        return '<sdm.WorkflowAssignment ' + \
31300            'resource_id: ' + repr(self.resource_id) + ' ' +\
31301            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
31302            '>'
31303
31304    def to_dict(self):
31305        return {
31306            'resource_id': self.resource_id,
31307            'workflow_id': self.workflow_id,
31308        }
31309
31310    @classmethod
31311    def from_dict(cls, d):
31312        return cls(
31313            resource_id=d.get('resource_id'),
31314            workflow_id=d.get('workflow_id'),
31315        )
31316
31317
31318class WorkflowAssignmentHistory:
31319    '''
31320         WorkflowAssignmentsHistory provides records of all changes to the state of a WorkflowAssignment.
31321    '''
31322    __slots__ = [
31323        'activity_id',
31324        'deleted_at',
31325        'timestamp',
31326        'workflow_assignment',
31327    ]
31328
31329    def __init__(
31330        self,
31331        activity_id=None,
31332        deleted_at=None,
31333        timestamp=None,
31334        workflow_assignment=None,
31335    ):
31336        self.activity_id = activity_id if activity_id is not None else ''
31337        '''
31338         The unique identifier of the Activity that produced this change to the WorkflowAssignment.
31339         May be empty for some system-initiated updates.
31340        '''
31341        self.deleted_at = deleted_at if deleted_at is not None else None
31342        '''
31343         If this WorkflowAssignment was deleted, the time it was deleted.
31344        '''
31345        self.timestamp = timestamp if timestamp is not None else None
31346        '''
31347         The time at which the WorkflowAssignment state was recorded.
31348        '''
31349        self.workflow_assignment = workflow_assignment if workflow_assignment is not None else None
31350        '''
31351         The complete WorkflowAssignment state at this time.
31352        '''
31353
31354    def __repr__(self):
31355        return '<sdm.WorkflowAssignmentHistory ' + \
31356            'activity_id: ' + repr(self.activity_id) + ' ' +\
31357            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
31358            'timestamp: ' + repr(self.timestamp) + ' ' +\
31359            'workflow_assignment: ' + repr(self.workflow_assignment) + ' ' +\
31360            '>'
31361
31362    def to_dict(self):
31363        return {
31364            'activity_id': self.activity_id,
31365            'deleted_at': self.deleted_at,
31366            'timestamp': self.timestamp,
31367            'workflow_assignment': self.workflow_assignment,
31368        }
31369
31370    @classmethod
31371    def from_dict(cls, d):
31372        return cls(
31373            activity_id=d.get('activity_id'),
31374            deleted_at=d.get('deleted_at'),
31375            timestamp=d.get('timestamp'),
31376            workflow_assignment=d.get('workflow_assignment'),
31377        )
31378
31379
31380class WorkflowAssignmentsListRequest:
31381    '''
31382         WorkflowAssignmentsListRequest specifies criteria for retrieving a list of
31383     WorkflowAssignment records
31384    '''
31385    __slots__ = [
31386        'filter',
31387    ]
31388
31389    def __init__(
31390        self,
31391        filter=None,
31392    ):
31393        self.filter = filter if filter is not None else ''
31394        '''
31395         A human-readable filter query string.
31396        '''
31397
31398    def __repr__(self):
31399        return '<sdm.WorkflowAssignmentsListRequest ' + \
31400            'filter: ' + repr(self.filter) + ' ' +\
31401            '>'
31402
31403    def to_dict(self):
31404        return {
31405            'filter': self.filter,
31406        }
31407
31408    @classmethod
31409    def from_dict(cls, d):
31410        return cls(filter=d.get('filter'), )
31411
31412
31413class WorkflowAssignmentsListResponse:
31414    '''
31415         WorkflowAssignmentsListResponse returns a list of WorkflowAssignment records that meet
31416     the criteria of a WorkflowAssignmentsListRequest.
31417    '''
31418    __slots__ = [
31419        'rate_limit',
31420    ]
31421
31422    def __init__(
31423        self,
31424        rate_limit=None,
31425    ):
31426        self.rate_limit = rate_limit if rate_limit is not None else None
31427        '''
31428         Rate limit information.
31429        '''
31430
31431    def __repr__(self):
31432        return '<sdm.WorkflowAssignmentsListResponse ' + \
31433            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31434            '>'
31435
31436    def to_dict(self):
31437        return {
31438            'rate_limit': self.rate_limit,
31439        }
31440
31441    @classmethod
31442    def from_dict(cls, d):
31443        return cls(rate_limit=d.get('rate_limit'), )
31444
31445
31446class WorkflowCreateResponse:
31447    '''
31448         WorkflowCreateResponse reports how the Workflow was created in the system.
31449    '''
31450    __slots__ = [
31451        'rate_limit',
31452        'workflow',
31453    ]
31454
31455    def __init__(
31456        self,
31457        rate_limit=None,
31458        workflow=None,
31459    ):
31460        self.rate_limit = rate_limit if rate_limit is not None else None
31461        '''
31462         Rate limit information.
31463        '''
31464        self.workflow = workflow if workflow is not None else None
31465        '''
31466         The created workflow.
31467        '''
31468
31469    def __repr__(self):
31470        return '<sdm.WorkflowCreateResponse ' + \
31471            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31472            'workflow: ' + repr(self.workflow) + ' ' +\
31473            '>'
31474
31475    def to_dict(self):
31476        return {
31477            'rate_limit': self.rate_limit,
31478            'workflow': self.workflow,
31479        }
31480
31481    @classmethod
31482    def from_dict(cls, d):
31483        return cls(
31484            rate_limit=d.get('rate_limit'),
31485            workflow=d.get('workflow'),
31486        )
31487
31488
31489class WorkflowDeleteResponse:
31490    '''
31491         WorkflowDeleteResponse returns information about a Workflow that was deleted.
31492    '''
31493    __slots__ = [
31494        'id',
31495        'rate_limit',
31496    ]
31497
31498    def __init__(
31499        self,
31500        id=None,
31501        rate_limit=None,
31502    ):
31503        self.id = id if id is not None else ''
31504        '''
31505         The deleted workflow id.
31506        '''
31507        self.rate_limit = rate_limit if rate_limit is not None else None
31508        '''
31509         Rate limit information.
31510        '''
31511
31512    def __repr__(self):
31513        return '<sdm.WorkflowDeleteResponse ' + \
31514            'id: ' + repr(self.id) + ' ' +\
31515            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31516            '>'
31517
31518    def to_dict(self):
31519        return {
31520            'id': self.id,
31521            'rate_limit': self.rate_limit,
31522        }
31523
31524    @classmethod
31525    def from_dict(cls, d):
31526        return cls(
31527            id=d.get('id'),
31528            rate_limit=d.get('rate_limit'),
31529        )
31530
31531
31532class WorkflowGetResponse:
31533    '''
31534         WorkflowGetResponse returns a requested Workflow.
31535    '''
31536    __slots__ = [
31537        'meta',
31538        'rate_limit',
31539        'workflow',
31540    ]
31541
31542    def __init__(
31543        self,
31544        meta=None,
31545        rate_limit=None,
31546        workflow=None,
31547    ):
31548        self.meta = meta if meta is not None else None
31549        '''
31550         Reserved for future use.
31551        '''
31552        self.rate_limit = rate_limit if rate_limit is not None else None
31553        '''
31554         Rate limit information.
31555        '''
31556        self.workflow = workflow if workflow is not None else None
31557        '''
31558         The requested Workflow.
31559        '''
31560
31561    def __repr__(self):
31562        return '<sdm.WorkflowGetResponse ' + \
31563            'meta: ' + repr(self.meta) + ' ' +\
31564            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31565            'workflow: ' + repr(self.workflow) + ' ' +\
31566            '>'
31567
31568    def to_dict(self):
31569        return {
31570            'meta': self.meta,
31571            'rate_limit': self.rate_limit,
31572            'workflow': self.workflow,
31573        }
31574
31575    @classmethod
31576    def from_dict(cls, d):
31577        return cls(
31578            meta=d.get('meta'),
31579            rate_limit=d.get('rate_limit'),
31580            workflow=d.get('workflow'),
31581        )
31582
31583
31584class WorkflowHistory:
31585    '''
31586         WorkflowsHistory provides records of all changes to the state of a Workflow.
31587    '''
31588    __slots__ = [
31589        'activity_id',
31590        'deleted_at',
31591        'timestamp',
31592        'workflow',
31593    ]
31594
31595    def __init__(
31596        self,
31597        activity_id=None,
31598        deleted_at=None,
31599        timestamp=None,
31600        workflow=None,
31601    ):
31602        self.activity_id = activity_id if activity_id is not None else ''
31603        '''
31604         The unique identifier of the Activity that produced this change to the Workflow.
31605         May be empty for some system-initiated updates.
31606        '''
31607        self.deleted_at = deleted_at if deleted_at is not None else None
31608        '''
31609         If this Workflow was deleted, the time it was deleted.
31610        '''
31611        self.timestamp = timestamp if timestamp is not None else None
31612        '''
31613         The time at which the Workflow state was recorded.
31614        '''
31615        self.workflow = workflow if workflow is not None else None
31616        '''
31617         The complete Workflow state at this time.
31618        '''
31619
31620    def __repr__(self):
31621        return '<sdm.WorkflowHistory ' + \
31622            'activity_id: ' + repr(self.activity_id) + ' ' +\
31623            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
31624            'timestamp: ' + repr(self.timestamp) + ' ' +\
31625            'workflow: ' + repr(self.workflow) + ' ' +\
31626            '>'
31627
31628    def to_dict(self):
31629        return {
31630            'activity_id': self.activity_id,
31631            'deleted_at': self.deleted_at,
31632            'timestamp': self.timestamp,
31633            'workflow': self.workflow,
31634        }
31635
31636    @classmethod
31637    def from_dict(cls, d):
31638        return cls(
31639            activity_id=d.get('activity_id'),
31640            deleted_at=d.get('deleted_at'),
31641            timestamp=d.get('timestamp'),
31642            workflow=d.get('workflow'),
31643        )
31644
31645
31646class WorkflowListResponse:
31647    '''
31648         WorkflowListResponse returns a list of Workflow records that meet
31649     the criteria of a WorkflowListRequest.
31650    '''
31651    __slots__ = [
31652        'rate_limit',
31653    ]
31654
31655    def __init__(
31656        self,
31657        rate_limit=None,
31658    ):
31659        self.rate_limit = rate_limit if rate_limit is not None else None
31660        '''
31661         Rate limit information.
31662        '''
31663
31664    def __repr__(self):
31665        return '<sdm.WorkflowListResponse ' + \
31666            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31667            '>'
31668
31669    def to_dict(self):
31670        return {
31671            'rate_limit': self.rate_limit,
31672        }
31673
31674    @classmethod
31675    def from_dict(cls, d):
31676        return cls(rate_limit=d.get('rate_limit'), )
31677
31678
31679class WorkflowRole:
31680    '''
31681         WorkflowRole links a role to a workflow. The linked roles indicate which roles a user must be a part of
31682     to request access to a resource via the workflow.
31683    '''
31684    __slots__ = [
31685        'id',
31686        'role_id',
31687        'workflow_id',
31688    ]
31689
31690    def __init__(
31691        self,
31692        id=None,
31693        role_id=None,
31694        workflow_id=None,
31695    ):
31696        self.id = id if id is not None else ''
31697        '''
31698         Unique identifier of the WorkflowRole.
31699        '''
31700        self.role_id = role_id if role_id is not None else ''
31701        '''
31702         The role id.
31703        '''
31704        self.workflow_id = workflow_id if workflow_id is not None else ''
31705        '''
31706         The workflow id.
31707        '''
31708
31709    def __repr__(self):
31710        return '<sdm.WorkflowRole ' + \
31711            'id: ' + repr(self.id) + ' ' +\
31712            'role_id: ' + repr(self.role_id) + ' ' +\
31713            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
31714            '>'
31715
31716    def to_dict(self):
31717        return {
31718            'id': self.id,
31719            'role_id': self.role_id,
31720            'workflow_id': self.workflow_id,
31721        }
31722
31723    @classmethod
31724    def from_dict(cls, d):
31725        return cls(
31726            id=d.get('id'),
31727            role_id=d.get('role_id'),
31728            workflow_id=d.get('workflow_id'),
31729        )
31730
31731
31732class WorkflowRoleGetResponse:
31733    '''
31734         WorkflowRoleGetResponse returns a requested WorkflowRole.
31735    '''
31736    __slots__ = [
31737        'meta',
31738        'rate_limit',
31739        'workflow_role',
31740    ]
31741
31742    def __init__(
31743        self,
31744        meta=None,
31745        rate_limit=None,
31746        workflow_role=None,
31747    ):
31748        self.meta = meta if meta is not None else None
31749        '''
31750         Reserved for future use.
31751        '''
31752        self.rate_limit = rate_limit if rate_limit is not None else None
31753        '''
31754         Rate limit information.
31755        '''
31756        self.workflow_role = workflow_role if workflow_role is not None else None
31757        '''
31758         The requested WorkflowRole.
31759        '''
31760
31761    def __repr__(self):
31762        return '<sdm.WorkflowRoleGetResponse ' + \
31763            'meta: ' + repr(self.meta) + ' ' +\
31764            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31765            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
31766            '>'
31767
31768    def to_dict(self):
31769        return {
31770            'meta': self.meta,
31771            'rate_limit': self.rate_limit,
31772            'workflow_role': self.workflow_role,
31773        }
31774
31775    @classmethod
31776    def from_dict(cls, d):
31777        return cls(
31778            meta=d.get('meta'),
31779            rate_limit=d.get('rate_limit'),
31780            workflow_role=d.get('workflow_role'),
31781        )
31782
31783
31784class WorkflowRoleHistory:
31785    '''
31786         WorkflowRolesHistory provides records of all changes to the state of a WorkflowRole
31787    '''
31788    __slots__ = [
31789        'activity_id',
31790        'deleted_at',
31791        'timestamp',
31792        'workflow_role',
31793    ]
31794
31795    def __init__(
31796        self,
31797        activity_id=None,
31798        deleted_at=None,
31799        timestamp=None,
31800        workflow_role=None,
31801    ):
31802        self.activity_id = activity_id if activity_id is not None else ''
31803        '''
31804         The unique identifier of the Activity that produced this change to the WorkflowRole.
31805         May be empty for some system-initiated updates.
31806        '''
31807        self.deleted_at = deleted_at if deleted_at is not None else None
31808        '''
31809         If this WorkflowRole was deleted, the time it was deleted.
31810        '''
31811        self.timestamp = timestamp if timestamp is not None else None
31812        '''
31813         The time at which the WorkflowRole state was recorded.
31814        '''
31815        self.workflow_role = workflow_role if workflow_role is not None else None
31816        '''
31817         The complete WorkflowRole state at this time.
31818        '''
31819
31820    def __repr__(self):
31821        return '<sdm.WorkflowRoleHistory ' + \
31822            'activity_id: ' + repr(self.activity_id) + ' ' +\
31823            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
31824            'timestamp: ' + repr(self.timestamp) + ' ' +\
31825            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
31826            '>'
31827
31828    def to_dict(self):
31829        return {
31830            'activity_id': self.activity_id,
31831            'deleted_at': self.deleted_at,
31832            'timestamp': self.timestamp,
31833            'workflow_role': self.workflow_role,
31834        }
31835
31836    @classmethod
31837    def from_dict(cls, d):
31838        return cls(
31839            activity_id=d.get('activity_id'),
31840            deleted_at=d.get('deleted_at'),
31841            timestamp=d.get('timestamp'),
31842            workflow_role=d.get('workflow_role'),
31843        )
31844
31845
31846class WorkflowRolesCreateRequest:
31847    '''
31848         WorkflowRolesCreateRequest specifies the workflowID and roleID of a new
31849     workflow role to be created.
31850    '''
31851    __slots__ = [
31852        'workflow_role',
31853    ]
31854
31855    def __init__(
31856        self,
31857        workflow_role=None,
31858    ):
31859        self.workflow_role = workflow_role if workflow_role is not None else None
31860        '''
31861         Parameters to define the new WorkflowRole.
31862        '''
31863
31864    def __repr__(self):
31865        return '<sdm.WorkflowRolesCreateRequest ' + \
31866            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
31867            '>'
31868
31869    def to_dict(self):
31870        return {
31871            'workflow_role': self.workflow_role,
31872        }
31873
31874    @classmethod
31875    def from_dict(cls, d):
31876        return cls(workflow_role=d.get('workflow_role'), )
31877
31878
31879class WorkflowRolesCreateResponse:
31880    '''
31881         WorkflowRolesCreateResponse reports how the WorkflowRole was created in the system.
31882    '''
31883    __slots__ = [
31884        'rate_limit',
31885        'workflow_role',
31886    ]
31887
31888    def __init__(
31889        self,
31890        rate_limit=None,
31891        workflow_role=None,
31892    ):
31893        self.rate_limit = rate_limit if rate_limit is not None else None
31894        '''
31895         Rate limit information.
31896        '''
31897        self.workflow_role = workflow_role if workflow_role is not None else None
31898        '''
31899         The created workflow role.
31900        '''
31901
31902    def __repr__(self):
31903        return '<sdm.WorkflowRolesCreateResponse ' + \
31904            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31905            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
31906            '>'
31907
31908    def to_dict(self):
31909        return {
31910            'rate_limit': self.rate_limit,
31911            'workflow_role': self.workflow_role,
31912        }
31913
31914    @classmethod
31915    def from_dict(cls, d):
31916        return cls(
31917            rate_limit=d.get('rate_limit'),
31918            workflow_role=d.get('workflow_role'),
31919        )
31920
31921
31922class WorkflowRolesDeleteRequest:
31923    '''
31924         WorkflowRolesDeleteRequest specifies the ID of a WorkflowRole to be deleted.
31925    '''
31926    __slots__ = [
31927        'id',
31928    ]
31929
31930    def __init__(
31931        self,
31932        id=None,
31933    ):
31934        self.id = id if id is not None else ''
31935        '''
31936         The unique identifier of the WorkflowRole to delete.
31937        '''
31938
31939    def __repr__(self):
31940        return '<sdm.WorkflowRolesDeleteRequest ' + \
31941            'id: ' + repr(self.id) + ' ' +\
31942            '>'
31943
31944    def to_dict(self):
31945        return {
31946            'id': self.id,
31947        }
31948
31949    @classmethod
31950    def from_dict(cls, d):
31951        return cls(id=d.get('id'), )
31952
31953
31954class WorkflowRolesDeleteResponse:
31955    '''
31956         WorkflowRolesDeleteResponse reports how the WorkflowRole was deleted in the system.
31957    '''
31958    __slots__ = [
31959        'rate_limit',
31960    ]
31961
31962    def __init__(
31963        self,
31964        rate_limit=None,
31965    ):
31966        self.rate_limit = rate_limit if rate_limit is not None else None
31967        '''
31968         Rate limit information.
31969        '''
31970
31971    def __repr__(self):
31972        return '<sdm.WorkflowRolesDeleteResponse ' + \
31973            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31974            '>'
31975
31976    def to_dict(self):
31977        return {
31978            'rate_limit': self.rate_limit,
31979        }
31980
31981    @classmethod
31982    def from_dict(cls, d):
31983        return cls(rate_limit=d.get('rate_limit'), )
31984
31985
31986class WorkflowRolesListRequest:
31987    '''
31988         WorkflowRolesListRequest specifies criteria for retrieving a list of
31989     WorkflowRole records
31990    '''
31991    __slots__ = [
31992        'filter',
31993    ]
31994
31995    def __init__(
31996        self,
31997        filter=None,
31998    ):
31999        self.filter = filter if filter is not None else ''
32000        '''
32001         A human-readable filter query string.
32002        '''
32003
32004    def __repr__(self):
32005        return '<sdm.WorkflowRolesListRequest ' + \
32006            'filter: ' + repr(self.filter) + ' ' +\
32007            '>'
32008
32009    def to_dict(self):
32010        return {
32011            'filter': self.filter,
32012        }
32013
32014    @classmethod
32015    def from_dict(cls, d):
32016        return cls(filter=d.get('filter'), )
32017
32018
32019class WorkflowRolesListResponse:
32020    '''
32021         WorkflowRolesListResponse returns a list of WorkflowRole records that meet
32022     the criteria of a WorkflowRolesListRequest.
32023    '''
32024    __slots__ = [
32025        'rate_limit',
32026    ]
32027
32028    def __init__(
32029        self,
32030        rate_limit=None,
32031    ):
32032        self.rate_limit = rate_limit if rate_limit is not None else None
32033        '''
32034         Rate limit information.
32035        '''
32036
32037    def __repr__(self):
32038        return '<sdm.WorkflowRolesListResponse ' + \
32039            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
32040            '>'
32041
32042    def to_dict(self):
32043        return {
32044            'rate_limit': self.rate_limit,
32045        }
32046
32047    @classmethod
32048    def from_dict(cls, d):
32049        return cls(rate_limit=d.get('rate_limit'), )
32050
32051
32052class WorkflowUpdateResponse:
32053    '''
32054         WorkflowUpdateResponse returns the fields of a Workflow after it has been updated by
32055     a WorkflowUpdateRequest.
32056    '''
32057    __slots__ = [
32058        'rate_limit',
32059        'workflow',
32060    ]
32061
32062    def __init__(
32063        self,
32064        rate_limit=None,
32065        workflow=None,
32066    ):
32067        self.rate_limit = rate_limit if rate_limit is not None else None
32068        '''
32069         Rate limit information.
32070        '''
32071        self.workflow = workflow if workflow is not None else None
32072        '''
32073         The updated workflow.
32074        '''
32075
32076    def __repr__(self):
32077        return '<sdm.WorkflowUpdateResponse ' + \
32078            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
32079            'workflow: ' + repr(self.workflow) + ' ' +\
32080            '>'
32081
32082    def to_dict(self):
32083        return {
32084            'rate_limit': self.rate_limit,
32085            'workflow': self.workflow,
32086        }
32087
32088    @classmethod
32089    def from_dict(cls, d):
32090        return cls(
32091            rate_limit=d.get('rate_limit'),
32092            workflow=d.get('workflow'),
32093        )
32094
32095
32096def _porcelain_zero_value_tags():
32097    return {}
32098
32099
32100def _porcelain_zero_value_access_rules():
32101    return []
32102
32103
32104def _porcelain_zero_value_access_rule():
32105    return {}
class AKS:
 22class AKS:
 23    __slots__ = [
 24        'allow_resource_role_bypass',
 25        'bind_interface',
 26        'certificate_authority',
 27        'client_certificate',
 28        'client_key',
 29        'discovery_enabled',
 30        'discovery_username',
 31        'egress_filter',
 32        'healthcheck_namespace',
 33        'healthy',
 34        'hostname',
 35        'id',
 36        'identity_alias_healthcheck_username',
 37        'identity_set_id',
 38        'name',
 39        'port',
 40        'port_override',
 41        'proxy_cluster_id',
 42        'secret_store_id',
 43        'subdomain',
 44        'tags',
 45    ]
 46
 47    def __init__(
 48        self,
 49        allow_resource_role_bypass=None,
 50        bind_interface=None,
 51        certificate_authority=None,
 52        client_certificate=None,
 53        client_key=None,
 54        discovery_enabled=None,
 55        discovery_username=None,
 56        egress_filter=None,
 57        healthcheck_namespace=None,
 58        healthy=None,
 59        hostname=None,
 60        id=None,
 61        identity_alias_healthcheck_username=None,
 62        identity_set_id=None,
 63        name=None,
 64        port=None,
 65        port_override=None,
 66        proxy_cluster_id=None,
 67        secret_store_id=None,
 68        subdomain=None,
 69        tags=None,
 70    ):
 71        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
 72        '''
 73         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
 74         when a resource role is not provided.
 75        '''
 76        self.bind_interface = bind_interface if bind_interface is not None else ''
 77        '''
 78         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 79        '''
 80        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
 81        '''
 82         The CA to authenticate TLS connections with.
 83        '''
 84        self.client_certificate = client_certificate if client_certificate is not None else ''
 85        '''
 86         The certificate to authenticate TLS connections with.
 87        '''
 88        self.client_key = client_key if client_key is not None else ''
 89        '''
 90         The key to authenticate TLS connections with.
 91        '''
 92        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
 93        '''
 94         If true, configures discovery of a cluster to be run from a node.
 95        '''
 96        self.discovery_username = discovery_username if discovery_username is not None else ''
 97        '''
 98         If a cluster is configured for user impersonation, this is the user to impersonate when
 99         running discovery.
100        '''
101        self.egress_filter = egress_filter if egress_filter is not None else ''
102        '''
103         A filter applied to the routing logic to pin datasource to nodes.
104        '''
105        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
106        '''
107         The path used to check the health of your connection.  Defaults to `default`.
108        '''
109        self.healthy = healthy if healthy is not None else False
110        '''
111         True if the datasource is reachable and the credentials are valid.
112        '''
113        self.hostname = hostname if hostname is not None else ''
114        '''
115         The host to dial to initiate a connection from the egress node to this resource.
116        '''
117        self.id = id if id is not None else ''
118        '''
119         Unique identifier of the Resource.
120        '''
121        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
122        '''
123         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
124        '''
125        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
126        '''
127         The ID of the identity set to use for identity connections.
128        '''
129        self.name = name if name is not None else ''
130        '''
131         Unique human-readable name of the Resource.
132        '''
133        self.port = port if port is not None else 0
134        '''
135         The port to dial to initiate a connection from the egress node to this resource.
136        '''
137        self.port_override = port_override if port_override is not None else 0
138        '''
139         The local port used by clients to connect to this resource.
140        '''
141        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
142        '''
143         ID of the proxy cluster for this resource, if any.
144        '''
145        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
146        '''
147         ID of the secret store containing credentials for this resource, if any.
148        '''
149        self.subdomain = subdomain if subdomain is not None else ''
150        '''
151         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
152        '''
153        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
154        '''
155         Tags is a map of key, value pairs.
156        '''
157
158    def __repr__(self):
159        return '<sdm.AKS ' + \
160            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
161            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
162            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
163            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
164            'client_key: ' + repr(self.client_key) + ' ' +\
165            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
166            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
167            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
168            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
169            'healthy: ' + repr(self.healthy) + ' ' +\
170            'hostname: ' + repr(self.hostname) + ' ' +\
171            'id: ' + repr(self.id) + ' ' +\
172            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
173            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
174            'name: ' + repr(self.name) + ' ' +\
175            'port: ' + repr(self.port) + ' ' +\
176            'port_override: ' + repr(self.port_override) + ' ' +\
177            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
178            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
179            'subdomain: ' + repr(self.subdomain) + ' ' +\
180            'tags: ' + repr(self.tags) + ' ' +\
181            '>'
182
183    def to_dict(self):
184        return {
185            'allow_resource_role_bypass': self.allow_resource_role_bypass,
186            'bind_interface': self.bind_interface,
187            'certificate_authority': self.certificate_authority,
188            'client_certificate': self.client_certificate,
189            'client_key': self.client_key,
190            'discovery_enabled': self.discovery_enabled,
191            'discovery_username': self.discovery_username,
192            'egress_filter': self.egress_filter,
193            'healthcheck_namespace': self.healthcheck_namespace,
194            'healthy': self.healthy,
195            'hostname': self.hostname,
196            'id': self.id,
197            'identity_alias_healthcheck_username':
198            self.identity_alias_healthcheck_username,
199            'identity_set_id': self.identity_set_id,
200            'name': self.name,
201            'port': self.port,
202            'port_override': self.port_override,
203            'proxy_cluster_id': self.proxy_cluster_id,
204            'secret_store_id': self.secret_store_id,
205            'subdomain': self.subdomain,
206            'tags': self.tags,
207        }
208
209    @classmethod
210    def from_dict(cls, d):
211        return cls(
212            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
213            bind_interface=d.get('bind_interface'),
214            certificate_authority=d.get('certificate_authority'),
215            client_certificate=d.get('client_certificate'),
216            client_key=d.get('client_key'),
217            discovery_enabled=d.get('discovery_enabled'),
218            discovery_username=d.get('discovery_username'),
219            egress_filter=d.get('egress_filter'),
220            healthcheck_namespace=d.get('healthcheck_namespace'),
221            healthy=d.get('healthy'),
222            hostname=d.get('hostname'),
223            id=d.get('id'),
224            identity_alias_healthcheck_username=d.get(
225                'identity_alias_healthcheck_username'),
226            identity_set_id=d.get('identity_set_id'),
227            name=d.get('name'),
228            port=d.get('port'),
229            port_override=d.get('port_override'),
230            proxy_cluster_id=d.get('proxy_cluster_id'),
231            secret_store_id=d.get('secret_store_id'),
232            subdomain=d.get('subdomain'),
233            tags=d.get('tags'),
234        )
AKS( allow_resource_role_bypass=None, bind_interface=None, certificate_authority=None, client_certificate=None, client_key=None, discovery_enabled=None, discovery_username=None, egress_filter=None, healthcheck_namespace=None, healthy=None, hostname=None, id=None, identity_alias_healthcheck_username=None, identity_set_id=None, name=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None)
 47    def __init__(
 48        self,
 49        allow_resource_role_bypass=None,
 50        bind_interface=None,
 51        certificate_authority=None,
 52        client_certificate=None,
 53        client_key=None,
 54        discovery_enabled=None,
 55        discovery_username=None,
 56        egress_filter=None,
 57        healthcheck_namespace=None,
 58        healthy=None,
 59        hostname=None,
 60        id=None,
 61        identity_alias_healthcheck_username=None,
 62        identity_set_id=None,
 63        name=None,
 64        port=None,
 65        port_override=None,
 66        proxy_cluster_id=None,
 67        secret_store_id=None,
 68        subdomain=None,
 69        tags=None,
 70    ):
 71        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
 72        '''
 73         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
 74         when a resource role is not provided.
 75        '''
 76        self.bind_interface = bind_interface if bind_interface is not None else ''
 77        '''
 78         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 79        '''
 80        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
 81        '''
 82         The CA to authenticate TLS connections with.
 83        '''
 84        self.client_certificate = client_certificate if client_certificate is not None else ''
 85        '''
 86         The certificate to authenticate TLS connections with.
 87        '''
 88        self.client_key = client_key if client_key is not None else ''
 89        '''
 90         The key to authenticate TLS connections with.
 91        '''
 92        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
 93        '''
 94         If true, configures discovery of a cluster to be run from a node.
 95        '''
 96        self.discovery_username = discovery_username if discovery_username is not None else ''
 97        '''
 98         If a cluster is configured for user impersonation, this is the user to impersonate when
 99         running discovery.
100        '''
101        self.egress_filter = egress_filter if egress_filter is not None else ''
102        '''
103         A filter applied to the routing logic to pin datasource to nodes.
104        '''
105        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
106        '''
107         The path used to check the health of your connection.  Defaults to `default`.
108        '''
109        self.healthy = healthy if healthy is not None else False
110        '''
111         True if the datasource is reachable and the credentials are valid.
112        '''
113        self.hostname = hostname if hostname is not None else ''
114        '''
115         The host to dial to initiate a connection from the egress node to this resource.
116        '''
117        self.id = id if id is not None else ''
118        '''
119         Unique identifier of the Resource.
120        '''
121        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
122        '''
123         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
124        '''
125        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
126        '''
127         The ID of the identity set to use for identity connections.
128        '''
129        self.name = name if name is not None else ''
130        '''
131         Unique human-readable name of the Resource.
132        '''
133        self.port = port if port is not None else 0
134        '''
135         The port to dial to initiate a connection from the egress node to this resource.
136        '''
137        self.port_override = port_override if port_override is not None else 0
138        '''
139         The local port used by clients to connect to this resource.
140        '''
141        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
142        '''
143         ID of the proxy cluster for this resource, if any.
144        '''
145        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
146        '''
147         ID of the secret store containing credentials for this resource, if any.
148        '''
149        self.subdomain = subdomain if subdomain is not None else ''
150        '''
151         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
152        '''
153        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
154        '''
155         Tags is a map of key, value pairs.
156        '''
allow_resource_role_bypass

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

bind_interface

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

certificate_authority

The CA to authenticate TLS connections with.

client_certificate

The certificate to authenticate TLS connections with.

client_key

The key to authenticate TLS connections with.

discovery_enabled

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

discovery_username

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

egress_filter

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

healthcheck_namespace

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

identity_alias_healthcheck_username

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

identity_set_id

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

name

Unique human-readable name of the Resource.

port

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

port_override

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

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

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

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

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

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

egress_filter

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

healthcheck_namespace

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

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

port_override

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

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

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

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

bind_interface

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

discovery_enabled

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

discovery_username

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

egress_filter

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

healthcheck_namespace

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

identity_alias_healthcheck_username

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

identity_set_id

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

name

Unique human-readable name of the Resource.

port

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

port_override

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

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

token

The API token to authenticate with.

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

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

egress_filter

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

healthcheck_namespace

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port

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

port_override

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

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

token

The API token to authenticate with.

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

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

certificate_authority

The CA to authenticate TLS connections with.

client_certificate

The certificate to authenticate TLS connections with.

client_key

The key to authenticate TLS connections with.

egress_filter

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

healthcheck_namespace

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port

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

port_override

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

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

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

The Access Key ID to use to authenticate.

bind_interface

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

egress_filter

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

healthcheck_region

The AWS region healthcheck requests should attempt to connect to.

healthy

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port_override

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

proxy_cluster_id

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

role_arn

The role to assume after logging in.

role_external_id

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

secret_access_key

The Secret Access Key to use to authenticate.

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

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

The ARN of the CA in AWS Private CA

certificatetemplatearn

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

id

Unique identifier of the SecretStore.

issuedcertttlminutes

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

name

Unique human-readable name of the SecretStore.

region

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

signingalgo

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

tags

Tags is a map of key, value pairs.

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

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

egress_filter

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

enable_env_variables

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

healthy

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

id

Unique identifier of the Resource.

identity_alias_healthcheck_username

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

identity_set_id

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

name

Unique human-readable name of the Resource.

port_override

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

proxy_cluster_id

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

region

The AWS region to connect to.

role_arn

The role to assume after logging in.

role_external_id

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

secret_store_id

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

session_expiry

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

subdomain

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

tags

Tags is a map of key, value pairs.

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

The Access Key ID to authenticate with.

bind_interface

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

egress_filter

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

healthy

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

id

Unique identifier of the Resource.

identity_alias_healthcheck_username

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

identity_set_id

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

name

Unique human-readable name of the Resource.

port_override

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

proxy_cluster_id

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

region

The AWS region to connect to.

role_arn

The role to assume after logging in.

role_external_id

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

secret_access_key

The Secret Access Key to authenticate with.

secret_store_id

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

session_expiry

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

subdomain

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

tags

Tags is a map of key, value pairs.

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

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

egress_filter

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

enable_env_variables

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

healthy

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port_override

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

proxy_cluster_id

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

region

The AWS region to connect to.

role_arn

The role to assume after logging in.

role_external_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

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

Unique identifier of the SecretStore.

name

Unique human-readable name of the SecretStore.

region

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

tags

Tags is a map of key, value pairs.

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

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

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

The account that initiated the request.

duration

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

grant_id

The account grant created, if it exists.

id

The access request id.

reason

The reason the access was requested.

requestedduration

The duration that access was requested for, if any.

resource_id

The resource id.

resultduration

The duration that results from an approved request.

start_from

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

status

The status of the access request.

status_at

The timestamp when the status changed.

valid_until

The timestamp when the requested access will expire.

workflow_id

The workflow the request bound to.

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

AccessRequestConfig holds the information required to request access to a resource

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

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

reason

The reason for access

resource_id

The resource for which access is being requested

start_from

The time access should start, defaults to now

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

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

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

The account responsible for the event.

id

The access request event id.

metadata

The metadata about the event

request_id

The request that the event is bound to.

type

The type of event.

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

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

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

The complete AccessRequestEvent state at this time.

activity_id

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

deleted_at

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

timestamp

The time at which the AccessRequest state was recorded.

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

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

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

The complete AccessRequest state at this time.

activity_id

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

deleted_at

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

timestamp

The time at which the AccessRequest state was recorded.

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

AccessRequestListRequest specifies criteria for retrieving a list of AccessRequest records

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

A human-readable filter query string.

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

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

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

Rate limit information.

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

AccountAttachments assign an account to a role.

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

The id of the account of this AccountAttachment.

id

Unique identifier of the AccountAttachment.

role_id

The id of the attached role of this AccountAttachment.

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

AccountAttachmentCreateResponse reports how the AccountAttachments were created in the system.

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

The created AccountAttachment.

meta

Reserved for future use.

rate_limit

Rate limit information.

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

AccountAttachmentDeleteResponse returns information about a AccountAttachment that was deleted.

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

Reserved for future use.

rate_limit

Rate limit information.

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

AccountAttachmentGetResponse returns a requested AccountAttachment.

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

The requested AccountAttachment.

meta

Reserved for future use.

rate_limit

Rate limit information.

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

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

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

The complete AccountAttachment state at this time.

activity_id

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

deleted_at

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

timestamp

The time at which the AccountAttachment state was recorded.

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

AccountCreateResponse reports how the Accounts were created in the system.

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

ID part of the API key.

account

The created Account.

meta

Reserved for future use.

rate_limit

Rate limit information.

secret_key

Secret part of the API key.

token

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

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

AccountDeleteResponse returns information about a Account that was deleted.

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

Reserved for future use.

rate_limit

Rate limit information.

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

AccountGetResponse returns a requested Account.

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

The requested Account.

meta

Reserved for future use.

rate_limit

Rate limit information.

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

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

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

The access rule associated with this AccountGrant.

account_id

The account ID of this AccountGrant.

id

Unique identifier of the AccountGrant.

resource_id

The resource ID of this AccountGrant.

start_from

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

valid_until

The timestamp when the resource grant will expire.

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

AccountGrantCreateResponse reports how the AccountGrants were created in the system.

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

The created AccountGrant.

meta

Reserved for future use.

rate_limit

Rate limit information.

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

AccountGrantDeleteResponse returns information about a AccountGrant that was deleted.

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

Reserved for future use.

rate_limit

Rate limit information.

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

AccountGrantGetResponse returns a requested AccountGrant.

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

The requested AccountGrant.

meta

Reserved for future use.

rate_limit

Rate limit information.

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

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

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

The complete AccountGrant state at this time.

activity_id

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

deleted_at

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

timestamp

The time at which the AccountGrant state was recorded.

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

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

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

The complete Account state at this time.

activity_id

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

deleted_at

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

timestamp

The time at which the Account state was recorded.

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

AccountPermission represents an individual API action available to an account.

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

The unique identifier of the Account this permission belongs to.

granted_at

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

permission

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

scope

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

scoped_id

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

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

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

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

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

account_id

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

created_at

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

expires_at

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

granted_at

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

resource_id

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

role_id

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

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

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

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

The complete AccountResource state at this time.

activity_id

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

deleted_at

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

timestamp

The time at which the AccountResource state was recorded.

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

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

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

The updated Account.

meta

Reserved for future use.

rate_limit

Rate limit information.

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

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

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

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

binddn

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

bindpass

Password to use along with binddn when performing user search.

certificate

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

connection_timeout

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

do_not_validate_timestamps

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

id

Unique identifier of the Secret Engine.

insecure_tls

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

key_rotation_interval_days

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

max_backoff_duration

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

name

Unique human-readable name of the Secret Engine.

policy

Policy for password creation

public_key

Public key linked with a secret engine

request_timeout

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

secret_store_id

Backing secret store identifier

secret_store_root_path

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

start_tls

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

tags

Tags is a map of key, value pairs.

ttl

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

upndomain

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

url

The LDAP server to connect to.

userdn

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

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

Unique identifier of the SecretStore.

name

Unique human-readable name of the SecretStore.

server_address

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

tags

Tags is a map of key, value pairs.

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

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

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

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

completed_at

The time this activity took effect.

description

A humanized description of the activity.

entities

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

id

Unique identifier of the Activity.

ip_address

The IP from which this action was taken.

user_agent

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

verb

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

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

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

email

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

first_name

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

id

Unique identifier of the actor. Immutable.

last_name

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

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

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

external_id

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

id

The unique identifier of the entity this activity affected.

name

A display name representing the affected entity.

type

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

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

ActivityGetResponse returns a requested Activity.

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

The requested Activity.

meta

Reserved for future use.

rate_limit

Rate limit information.

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

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

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

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

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

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

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

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)
5326    def __init__(
5327        self,
5328        account_id=None,
5329        reference=None,
5330        role_id=None,
5331    ):
5332        self.account_id = account_id if account_id is not None else ''
5333        '''
5334         The approver account id.
5335        '''
5336        self.reference = reference if reference is not None else ''
5337        '''
5338         A reference to an approver. Must be one of ApproverReference constants.
5339         If set, the account_id and role_id must be empty.
5340        '''
5341        self.role_id = role_id if role_id is not None else ''
5342        '''
5343         The approver role id
5344        '''
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)
5353    def to_dict(self):
5354        return {
5355            'account_id': self.account_id,
5356            'reference': self.reference,
5357            'role_id': self.role_id,
5358        }
@classmethod
def from_dict(cls, d)
5360    @classmethod
5361    def from_dict(cls, d):
5362        return cls(
5363            account_id=d.get('account_id'),
5364            reference=d.get('reference'),
5365            role_id=d.get('role_id'),
5366        )
class ApprovalFlowStep:
5369class ApprovalFlowStep:
5370    '''
5371         An approval step for an approval workflow. Specifies approvers and conditions for approval to be granted.
5372    '''
5373    __slots__ = [
5374        'approvers',
5375        'quantifier',
5376        'skip_after',
5377    ]
5378
5379    def __init__(
5380        self,
5381        approvers=None,
5382        quantifier=None,
5383        skip_after=None,
5384    ):
5385        self.approvers = approvers if approvers is not None else []
5386        '''
5387         The approvers for this approval step
5388        '''
5389        self.quantifier = quantifier if quantifier is not None else ''
5390        '''
5391         Whether "any" or "all" approvers must approve for this approval step to pass. Optional, defaults to "any".
5392        '''
5393        self.skip_after = skip_after if skip_after is not None else None
5394        '''
5395         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.
5396        '''
5397
5398    def __repr__(self):
5399        return '<sdm.ApprovalFlowStep ' + \
5400            'approvers: ' + repr(self.approvers) + ' ' +\
5401            'quantifier: ' + repr(self.quantifier) + ' ' +\
5402            'skip_after: ' + repr(self.skip_after) + ' ' +\
5403            '>'
5404
5405    def to_dict(self):
5406        return {
5407            'approvers': self.approvers,
5408            'quantifier': self.quantifier,
5409            'skip_after': self.skip_after,
5410        }
5411
5412    @classmethod
5413    def from_dict(cls, d):
5414        return cls(
5415            approvers=d.get('approvers'),
5416            quantifier=d.get('quantifier'),
5417            skip_after=d.get('skip_after'),
5418        )

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

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

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

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

ApprovalWorkflowApproverCreateResponse reports how the ApprovalWorkflowApprover was created in the system.

ApprovalWorkflowApproverCreateResponse(approval_workflow_approver=None, rate_limit=None)
5582    def __init__(
5583        self,
5584        approval_workflow_approver=None,
5585        rate_limit=None,
5586    ):
5587        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
5588        '''
5589         The created approval workflow approver.
5590        '''
5591        self.rate_limit = rate_limit if rate_limit is not None else None
5592        '''
5593         Rate limit information.
5594        '''
approval_workflow_approver

The created approval workflow approver.

rate_limit

Rate limit information.

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

ApprovalWorkflowApproverDeleteResponse returns information about an ApprovalWorkflowApprover that was deleted.

ApprovalWorkflowApproverDeleteResponse(id=None, rate_limit=None)
5625    def __init__(
5626        self,
5627        id=None,
5628        rate_limit=None,
5629    ):
5630        self.id = id if id is not None else ''
5631        '''
5632         The deleted approval workflow approver id.
5633        '''
5634        self.rate_limit = rate_limit if rate_limit is not None else None
5635        '''
5636         Rate limit information.
5637        '''
id

The deleted approval workflow approver id.

rate_limit

Rate limit information.

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

ApprovalWorkflowApproverGetResponse returns a requested ApprovalWorkflowApprover.

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

The requested ApprovalWorkflowApprover.

meta

Reserved for future use.

rate_limit

Rate limit information.

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

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

Rate limit information.

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

ApprovalWorkflowCreateResponse reports how the ApprovalWorkflow was created in the system.

ApprovalWorkflowCreateResponse(approval_workflow=None, rate_limit=None)
5817    def __init__(
5818        self,
5819        approval_workflow=None,
5820        rate_limit=None,
5821    ):
5822        self.approval_workflow = approval_workflow if approval_workflow is not None else None
5823        '''
5824         The created approval workflow.
5825        '''
5826        self.rate_limit = rate_limit if rate_limit is not None else None
5827        '''
5828         Rate limit information.
5829        '''
approval_workflow

The created approval workflow.

rate_limit

Rate limit information.

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

ApprovalWorkflowDeleteResponse returns information about an ApprovalWorkflow that was deleted.

ApprovalWorkflowDeleteResponse(id=None, rate_limit=None)
5860    def __init__(
5861        self,
5862        id=None,
5863        rate_limit=None,
5864    ):
5865        self.id = id if id is not None else ''
5866        '''
5867         The deleted approval workflow id.
5868        '''
5869        self.rate_limit = rate_limit if rate_limit is not None else None
5870        '''
5871         Rate limit information.
5872        '''
id

The deleted approval workflow id.

rate_limit

Rate limit information.

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

ApprovalWorkflowGetResponse returns a requested ApprovalWorkflow.

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

The requested ApprovalWorkflow.

meta

Reserved for future use.

rate_limit

Rate limit information.

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

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

Rate limit information.

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

ApprovalWorkflowStep links an approval workflow step to an ApprovalWorkflow

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

ApprovalWorkflowStepCreateResponse reports how the ApprovalWorkflowStep was created in the system.

ApprovalWorkflowStepCreateResponse(approval_workflow_step=None, rate_limit=None)
6122    def __init__(
6123        self,
6124        approval_workflow_step=None,
6125        rate_limit=None,
6126    ):
6127        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
6128        '''
6129         The created approval workflow step.
6130        '''
6131        self.rate_limit = rate_limit if rate_limit is not None else None
6132        '''
6133         Rate limit information.
6134        '''
approval_workflow_step

The created approval workflow step.

rate_limit

Rate limit information.

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

ApprovalWorkflowStepDeleteResponse returns information about an ApprovalWorkflowStep that was deleted.

ApprovalWorkflowStepDeleteResponse(id=None, rate_limit=None)
6165    def __init__(
6166        self,
6167        id=None,
6168        rate_limit=None,
6169    ):
6170        self.id = id if id is not None else ''
6171        '''
6172         The deleted approval workflow step id.
6173        '''
6174        self.rate_limit = rate_limit if rate_limit is not None else None
6175        '''
6176         Rate limit information.
6177        '''
id

The deleted approval workflow step id.

rate_limit

Rate limit information.

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

ApprovalWorkflowStepGetResponse returns a requested ApprovalWorkflowStep.

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

The requested ApprovalWorkflowStep.

meta

Reserved for future use.

rate_limit

Rate limit information.

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

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

Rate limit information.

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

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

ApprovalWorkflowUpdateResponse(approval_workflow=None, rate_limit=None)
6358    def __init__(
6359        self,
6360        approval_workflow=None,
6361        rate_limit=None,
6362    ):
6363        self.approval_workflow = approval_workflow if approval_workflow is not None else None
6364        '''
6365         The updated approval workflow.
6366        '''
6367        self.rate_limit = rate_limit if rate_limit is not None else None
6368        '''
6369         Rate limit information.
6370        '''
approval_workflow

The updated approval workflow.

rate_limit

Rate limit information.

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

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

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

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

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

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

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

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

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

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

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

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

The bind interface is the IP 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)
8820    def to_dict(self):
8821        return {
8822            'bind_interface': self.bind_interface,
8823            'database': self.database,
8824            'egress_filter': self.egress_filter,
8825            'healthy': self.healthy,
8826            'id': self.id,
8827            'name': self.name,
8828            'password': self.password,
8829            'port_override': self.port_override,
8830            'proxy_cluster_id': self.proxy_cluster_id,
8831            'secret_store_id': self.secret_store_id,
8832            'tags': self.tags,
8833            'url': self.url,
8834            'username': self.username,
8835        }
@classmethod
def from_dict(cls, d)
8837    @classmethod
8838    def from_dict(cls, d):
8839        return cls(
8840            bind_interface=d.get('bind_interface'),
8841            database=d.get('database'),
8842            egress_filter=d.get('egress_filter'),
8843            healthy=d.get('healthy'),
8844            id=d.get('id'),
8845            name=d.get('name'),
8846            password=d.get('password'),
8847            port_override=d.get('port_override'),
8848            proxy_cluster_id=d.get('proxy_cluster_id'),
8849            secret_store_id=d.get('secret_store_id'),
8850            tags=d.get('tags'),
8851            url=d.get('url'),
8852            username=d.get('username'),
8853        )
class ClickHouseMySQL:
8856class ClickHouseMySQL:
8857    __slots__ = [
8858        'bind_interface',
8859        'database',
8860        'egress_filter',
8861        'healthy',
8862        'hostname',
8863        'id',
8864        'name',
8865        'password',
8866        'port',
8867        'port_override',
8868        'proxy_cluster_id',
8869        'require_native_auth',
8870        'secret_store_id',
8871        'subdomain',
8872        'tags',
8873        'username',
8874    ]
8875
8876    def __init__(
8877        self,
8878        bind_interface=None,
8879        database=None,
8880        egress_filter=None,
8881        healthy=None,
8882        hostname=None,
8883        id=None,
8884        name=None,
8885        password=None,
8886        port=None,
8887        port_override=None,
8888        proxy_cluster_id=None,
8889        require_native_auth=None,
8890        secret_store_id=None,
8891        subdomain=None,
8892        tags=None,
8893        username=None,
8894    ):
8895        self.bind_interface = bind_interface if bind_interface is not None else ''
8896        '''
8897         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
8898        '''
8899        self.database = database if database is not None else ''
8900        '''
8901         The database for healthchecks. Does not affect client requests.
8902        '''
8903        self.egress_filter = egress_filter if egress_filter is not None else ''
8904        '''
8905         A filter applied to the routing logic to pin datasource to nodes.
8906        '''
8907        self.healthy = healthy if healthy is not None else False
8908        '''
8909         True if the datasource is reachable and the credentials are valid.
8910        '''
8911        self.hostname = hostname if hostname is not None else ''
8912        '''
8913         The host to dial to initiate a connection from the egress node to this resource.
8914        '''
8915        self.id = id if id is not None else ''
8916        '''
8917         Unique identifier of the Resource.
8918        '''
8919        self.name = name if name is not None else ''
8920        '''
8921         Unique human-readable name of the Resource.
8922        '''
8923        self.password = password if password is not None else ''
8924        '''
8925         The password to authenticate with.
8926        '''
8927        self.port = port if port is not None else 0
8928        '''
8929         The port to dial to initiate a connection from the egress node to this resource.
8930        '''
8931        self.port_override = port_override if port_override is not None else 0
8932        '''
8933         The local port used by clients to connect to this resource.
8934        '''
8935        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8936        '''
8937         ID of the proxy cluster for this resource, if any.
8938        '''
8939        self.require_native_auth = require_native_auth if require_native_auth is not None else False
8940        '''
8941         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
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.subdomain = subdomain if subdomain is not None else ''
8948        '''
8949         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
8950        '''
8951        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8952        '''
8953         Tags is a map of key, value pairs.
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.ClickHouseMySQL ' + \
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            'hostname: ' + repr(self.hostname) + ' ' +\
8967            'id: ' + repr(self.id) + ' ' +\
8968            'name: ' + repr(self.name) + ' ' +\
8969            'password: ' + repr(self.password) + ' ' +\
8970            'port: ' + repr(self.port) + ' ' +\
8971            'port_override: ' + repr(self.port_override) + ' ' +\
8972            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
8973            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
8974            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
8975            'subdomain: ' + repr(self.subdomain) + ' ' +\
8976            'tags: ' + repr(self.tags) + ' ' +\
8977            'username: ' + repr(self.username) + ' ' +\
8978            '>'
8979
8980    def to_dict(self):
8981        return {
8982            'bind_interface': self.bind_interface,
8983            'database': self.database,
8984            'egress_filter': self.egress_filter,
8985            'healthy': self.healthy,
8986            'hostname': self.hostname,
8987            'id': self.id,
8988            'name': self.name,
8989            'password': self.password,
8990            'port': self.port,
8991            'port_override': self.port_override,
8992            'proxy_cluster_id': self.proxy_cluster_id,
8993            'require_native_auth': self.require_native_auth,
8994            'secret_store_id': self.secret_store_id,
8995            'subdomain': self.subdomain,
8996            'tags': self.tags,
8997            'username': self.username,
8998        }
8999
9000    @classmethod
9001    def from_dict(cls, d):
9002        return cls(
9003            bind_interface=d.get('bind_interface'),
9004            database=d.get('database'),
9005            egress_filter=d.get('egress_filter'),
9006            healthy=d.get('healthy'),
9007            hostname=d.get('hostname'),
9008            id=d.get('id'),
9009            name=d.get('name'),
9010            password=d.get('password'),
9011            port=d.get('port'),
9012            port_override=d.get('port_override'),
9013            proxy_cluster_id=d.get('proxy_cluster_id'),
9014            require_native_auth=d.get('require_native_auth'),
9015            secret_store_id=d.get('secret_store_id'),
9016            subdomain=d.get('subdomain'),
9017            tags=d.get('tags'),
9018            username=d.get('username'),
9019        )
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)
8876    def __init__(
8877        self,
8878        bind_interface=None,
8879        database=None,
8880        egress_filter=None,
8881        healthy=None,
8882        hostname=None,
8883        id=None,
8884        name=None,
8885        password=None,
8886        port=None,
8887        port_override=None,
8888        proxy_cluster_id=None,
8889        require_native_auth=None,
8890        secret_store_id=None,
8891        subdomain=None,
8892        tags=None,
8893        username=None,
8894    ):
8895        self.bind_interface = bind_interface if bind_interface is not None else ''
8896        '''
8897         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
8898        '''
8899        self.database = database if database is not None else ''
8900        '''
8901         The database for healthchecks. Does not affect client requests.
8902        '''
8903        self.egress_filter = egress_filter if egress_filter is not None else ''
8904        '''
8905         A filter applied to the routing logic to pin datasource to nodes.
8906        '''
8907        self.healthy = healthy if healthy is not None else False
8908        '''
8909         True if the datasource is reachable and the credentials are valid.
8910        '''
8911        self.hostname = hostname if hostname is not None else ''
8912        '''
8913         The host to dial to initiate a connection from the egress node to this resource.
8914        '''
8915        self.id = id if id is not None else ''
8916        '''
8917         Unique identifier of the Resource.
8918        '''
8919        self.name = name if name is not None else ''
8920        '''
8921         Unique human-readable name of the Resource.
8922        '''
8923        self.password = password if password is not None else ''
8924        '''
8925         The password to authenticate with.
8926        '''
8927        self.port = port if port is not None else 0
8928        '''
8929         The port to dial to initiate a connection from the egress node to this resource.
8930        '''
8931        self.port_override = port_override if port_override is not None else 0
8932        '''
8933         The local port used by clients to connect to this resource.
8934        '''
8935        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8936        '''
8937         ID of the proxy cluster for this resource, if any.
8938        '''
8939        self.require_native_auth = require_native_auth if require_native_auth is not None else False
8940        '''
8941         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
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.subdomain = subdomain if subdomain is not None else ''
8948        '''
8949         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
8950        '''
8951        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8952        '''
8953         Tags is a map of key, value pairs.
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 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)
8980    def to_dict(self):
8981        return {
8982            'bind_interface': self.bind_interface,
8983            'database': self.database,
8984            'egress_filter': self.egress_filter,
8985            'healthy': self.healthy,
8986            'hostname': self.hostname,
8987            'id': self.id,
8988            'name': self.name,
8989            'password': self.password,
8990            'port': self.port,
8991            'port_override': self.port_override,
8992            'proxy_cluster_id': self.proxy_cluster_id,
8993            'require_native_auth': self.require_native_auth,
8994            'secret_store_id': self.secret_store_id,
8995            'subdomain': self.subdomain,
8996            'tags': self.tags,
8997            'username': self.username,
8998        }
@classmethod
def from_dict(cls, d)
9000    @classmethod
9001    def from_dict(cls, d):
9002        return cls(
9003            bind_interface=d.get('bind_interface'),
9004            database=d.get('database'),
9005            egress_filter=d.get('egress_filter'),
9006            healthy=d.get('healthy'),
9007            hostname=d.get('hostname'),
9008            id=d.get('id'),
9009            name=d.get('name'),
9010            password=d.get('password'),
9011            port=d.get('port'),
9012            port_override=d.get('port_override'),
9013            proxy_cluster_id=d.get('proxy_cluster_id'),
9014            require_native_auth=d.get('require_native_auth'),
9015            secret_store_id=d.get('secret_store_id'),
9016            subdomain=d.get('subdomain'),
9017            tags=d.get('tags'),
9018            username=d.get('username'),
9019        )
class ClickHouseTCP:
9022class ClickHouseTCP:
9023    __slots__ = [
9024        'bind_interface',
9025        'database',
9026        'egress_filter',
9027        'healthy',
9028        'hostname',
9029        'id',
9030        'name',
9031        'password',
9032        'port',
9033        'port_override',
9034        'proxy_cluster_id',
9035        'secret_store_id',
9036        'subdomain',
9037        'tags',
9038        'tls_required',
9039        'username',
9040    ]
9041
9042    def __init__(
9043        self,
9044        bind_interface=None,
9045        database=None,
9046        egress_filter=None,
9047        healthy=None,
9048        hostname=None,
9049        id=None,
9050        name=None,
9051        password=None,
9052        port=None,
9053        port_override=None,
9054        proxy_cluster_id=None,
9055        secret_store_id=None,
9056        subdomain=None,
9057        tags=None,
9058        tls_required=None,
9059        username=None,
9060    ):
9061        self.bind_interface = bind_interface if bind_interface is not None else ''
9062        '''
9063         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
9064        '''
9065        self.database = database if database is not None else ''
9066        '''
9067         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
9068        '''
9069        self.egress_filter = egress_filter if egress_filter is not None else ''
9070        '''
9071         A filter applied to the routing logic to pin datasource to nodes.
9072        '''
9073        self.healthy = healthy if healthy is not None else False
9074        '''
9075         True if the datasource is reachable and the credentials are valid.
9076        '''
9077        self.hostname = hostname if hostname is not None else ''
9078        '''
9079         The host to dial to initiate a connection from the egress node to this resource.
9080        '''
9081        self.id = id if id is not None else ''
9082        '''
9083         Unique identifier of the Resource.
9084        '''
9085        self.name = name if name is not None else ''
9086        '''
9087         Unique human-readable name of the Resource.
9088        '''
9089        self.password = password if password is not None else ''
9090        '''
9091         The password to authenticate with.
9092        '''
9093        self.port = port if port is not None else 0
9094        '''
9095         The port to dial to initiate a connection from the egress node to this resource.
9096        '''
9097        self.port_override = port_override if port_override is not None else 0
9098        '''
9099         The local port used by clients to connect to this resource.
9100        '''
9101        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9102        '''
9103         ID of the proxy cluster for this resource, if any.
9104        '''
9105        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9106        '''
9107         ID of the secret store containing credentials for this resource, if any.
9108        '''
9109        self.subdomain = subdomain if subdomain is not None else ''
9110        '''
9111         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
9112        '''
9113        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9114        '''
9115         Tags is a map of key, value pairs.
9116        '''
9117        self.tls_required = tls_required if tls_required is not None else False
9118        '''
9119         If set, TLS must be used to connect to this resource.
9120        '''
9121        self.username = username if username is not None else ''
9122        '''
9123         The username to authenticate with.
9124        '''
9125
9126    def __repr__(self):
9127        return '<sdm.ClickHouseTCP ' + \
9128            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
9129            'database: ' + repr(self.database) + ' ' +\
9130            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
9131            'healthy: ' + repr(self.healthy) + ' ' +\
9132            'hostname: ' + repr(self.hostname) + ' ' +\
9133            'id: ' + repr(self.id) + ' ' +\
9134            'name: ' + repr(self.name) + ' ' +\
9135            'password: ' + repr(self.password) + ' ' +\
9136            'port: ' + repr(self.port) + ' ' +\
9137            'port_override: ' + repr(self.port_override) + ' ' +\
9138            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
9139            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
9140            'subdomain: ' + repr(self.subdomain) + ' ' +\
9141            'tags: ' + repr(self.tags) + ' ' +\
9142            'tls_required: ' + repr(self.tls_required) + ' ' +\
9143            'username: ' + repr(self.username) + ' ' +\
9144            '>'
9145
9146    def to_dict(self):
9147        return {
9148            'bind_interface': self.bind_interface,
9149            'database': self.database,
9150            'egress_filter': self.egress_filter,
9151            'healthy': self.healthy,
9152            'hostname': self.hostname,
9153            'id': self.id,
9154            'name': self.name,
9155            'password': self.password,
9156            'port': self.port,
9157            'port_override': self.port_override,
9158            'proxy_cluster_id': self.proxy_cluster_id,
9159            'secret_store_id': self.secret_store_id,
9160            'subdomain': self.subdomain,
9161            'tags': self.tags,
9162            'tls_required': self.tls_required,
9163            'username': self.username,
9164        }
9165
9166    @classmethod
9167    def from_dict(cls, d):
9168        return cls(
9169            bind_interface=d.get('bind_interface'),
9170            database=d.get('database'),
9171            egress_filter=d.get('egress_filter'),
9172            healthy=d.get('healthy'),
9173            hostname=d.get('hostname'),
9174            id=d.get('id'),
9175            name=d.get('name'),
9176            password=d.get('password'),
9177            port=d.get('port'),
9178            port_override=d.get('port_override'),
9179            proxy_cluster_id=d.get('proxy_cluster_id'),
9180            secret_store_id=d.get('secret_store_id'),
9181            subdomain=d.get('subdomain'),
9182            tags=d.get('tags'),
9183            tls_required=d.get('tls_required'),
9184            username=d.get('username'),
9185        )
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)
9042    def __init__(
9043        self,
9044        bind_interface=None,
9045        database=None,
9046        egress_filter=None,
9047        healthy=None,
9048        hostname=None,
9049        id=None,
9050        name=None,
9051        password=None,
9052        port=None,
9053        port_override=None,
9054        proxy_cluster_id=None,
9055        secret_store_id=None,
9056        subdomain=None,
9057        tags=None,
9058        tls_required=None,
9059        username=None,
9060    ):
9061        self.bind_interface = bind_interface if bind_interface is not None else ''
9062        '''
9063         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
9064        '''
9065        self.database = database if database is not None else ''
9066        '''
9067         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
9068        '''
9069        self.egress_filter = egress_filter if egress_filter is not None else ''
9070        '''
9071         A filter applied to the routing logic to pin datasource to nodes.
9072        '''
9073        self.healthy = healthy if healthy is not None else False
9074        '''
9075         True if the datasource is reachable and the credentials are valid.
9076        '''
9077        self.hostname = hostname if hostname is not None else ''
9078        '''
9079         The host to dial to initiate a connection from the egress node to this resource.
9080        '''
9081        self.id = id if id is not None else ''
9082        '''
9083         Unique identifier of the Resource.
9084        '''
9085        self.name = name if name is not None else ''
9086        '''
9087         Unique human-readable name of the Resource.
9088        '''
9089        self.password = password if password is not None else ''
9090        '''
9091         The password to authenticate with.
9092        '''
9093        self.port = port if port is not None else 0
9094        '''
9095         The port to dial to initiate a connection from the egress node to this resource.
9096        '''
9097        self.port_override = port_override if port_override is not None else 0
9098        '''
9099         The local port used by clients to connect to this resource.
9100        '''
9101        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9102        '''
9103         ID of the proxy cluster for this resource, if any.
9104        '''
9105        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9106        '''
9107         ID of the secret store containing credentials for this resource, if any.
9108        '''
9109        self.subdomain = subdomain if subdomain is not None else ''
9110        '''
9111         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
9112        '''
9113        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9114        '''
9115         Tags is a map of key, value pairs.
9116        '''
9117        self.tls_required = tls_required if tls_required is not None else False
9118        '''
9119         If set, TLS must be used to connect to this resource.
9120        '''
9121        self.username = username if username is not None else ''
9122        '''
9123         The username to authenticate with.
9124        '''
bind_interface

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

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

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

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

ControlPanelGetRDPCAPublicKeyResponse(meta=None, public_key=None, rate_limit=None)
9542    def __init__(
9543        self,
9544        meta=None,
9545        public_key=None,
9546        rate_limit=None,
9547    ):
9548        self.meta = meta if meta is not None else None
9549        '''
9550         Reserved for future use.
9551        '''
9552        self.public_key = public_key if public_key is not None else ''
9553        '''
9554         The public key of the SSH Certificate Authority, in OpenSSH RSA public
9555         key format.
9556        '''
9557        self.rate_limit = rate_limit if rate_limit is not None else None
9558        '''
9559         Rate limit information.
9560        '''
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)
9569    def to_dict(self):
9570        return {
9571            'meta': self.meta,
9572            'public_key': self.public_key,
9573            'rate_limit': self.rate_limit,
9574        }
@classmethod
def from_dict(cls, d)
9576    @classmethod
9577    def from_dict(cls, d):
9578        return cls(
9579            meta=d.get('meta'),
9580            public_key=d.get('public_key'),
9581            rate_limit=d.get('rate_limit'),
9582        )
class ControlPanelGetSSHCAPublicKeyResponse:
9585class ControlPanelGetSSHCAPublicKeyResponse:
9586    '''
9587         ControlPanelGetSSHCAPublicKeyResponse represents a request for an
9588     organization's SSH Certificate Authority public key.
9589    '''
9590    __slots__ = [
9591        'meta',
9592        'public_key',
9593        'rate_limit',
9594    ]
9595
9596    def __init__(
9597        self,
9598        meta=None,
9599        public_key=None,
9600        rate_limit=None,
9601    ):
9602        self.meta = meta if meta is not None else None
9603        '''
9604         Reserved for future use.
9605        '''
9606        self.public_key = public_key if public_key is not None else ''
9607        '''
9608         The public key of the SSH Certificate Authority, in OpenSSH RSA public
9609         key format.
9610        '''
9611        self.rate_limit = rate_limit if rate_limit is not None else None
9612        '''
9613         Rate limit information.
9614        '''
9615
9616    def __repr__(self):
9617        return '<sdm.ControlPanelGetSSHCAPublicKeyResponse ' + \
9618            'meta: ' + repr(self.meta) + ' ' +\
9619            'public_key: ' + repr(self.public_key) + ' ' +\
9620            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
9621            '>'
9622
9623    def to_dict(self):
9624        return {
9625            'meta': self.meta,
9626            'public_key': self.public_key,
9627            'rate_limit': self.rate_limit,
9628        }
9629
9630    @classmethod
9631    def from_dict(cls, d):
9632        return cls(
9633            meta=d.get('meta'),
9634            public_key=d.get('public_key'),
9635            rate_limit=d.get('rate_limit'),
9636        )

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

ControlPanelGetSSHCAPublicKeyResponse(meta=None, public_key=None, rate_limit=None)
9596    def __init__(
9597        self,
9598        meta=None,
9599        public_key=None,
9600        rate_limit=None,
9601    ):
9602        self.meta = meta if meta is not None else None
9603        '''
9604         Reserved for future use.
9605        '''
9606        self.public_key = public_key if public_key is not None else ''
9607        '''
9608         The public key of the SSH Certificate Authority, in OpenSSH RSA public
9609         key format.
9610        '''
9611        self.rate_limit = rate_limit if rate_limit is not None else None
9612        '''
9613         Rate limit information.
9614        '''
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)
9623    def to_dict(self):
9624        return {
9625            'meta': self.meta,
9626            'public_key': self.public_key,
9627            'rate_limit': self.rate_limit,
9628        }
@classmethod
def from_dict(cls, d)
9630    @classmethod
9631    def from_dict(cls, d):
9632        return cls(
9633            meta=d.get('meta'),
9634            public_key=d.get('public_key'),
9635            rate_limit=d.get('rate_limit'),
9636        )
class ControlPanelVerifyJWTResponse:
9639class ControlPanelVerifyJWTResponse:
9640    '''
9641         ControlPanelVerifyJWTResponse reports whether x-sdm-token is valid.
9642    '''
9643    __slots__ = [
9644        'meta',
9645        'rate_limit',
9646        'valid',
9647    ]
9648
9649    def __init__(
9650        self,
9651        meta=None,
9652        rate_limit=None,
9653        valid=None,
9654    ):
9655        self.meta = meta if meta is not None else None
9656        '''
9657         Reserved for future use.
9658        '''
9659        self.rate_limit = rate_limit if rate_limit is not None else None
9660        '''
9661         Rate limit information.
9662        '''
9663        self.valid = valid if valid is not None else False
9664        '''
9665         Reports if the given token is valid.
9666        '''
9667
9668    def __repr__(self):
9669        return '<sdm.ControlPanelVerifyJWTResponse ' + \
9670            'meta: ' + repr(self.meta) + ' ' +\
9671            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
9672            'valid: ' + repr(self.valid) + ' ' +\
9673            '>'
9674
9675    def to_dict(self):
9676        return {
9677            'meta': self.meta,
9678            'rate_limit': self.rate_limit,
9679            'valid': self.valid,
9680        }
9681
9682    @classmethod
9683    def from_dict(cls, d):
9684        return cls(
9685            meta=d.get('meta'),
9686            rate_limit=d.get('rate_limit'),
9687            valid=d.get('valid'),
9688        )

ControlPanelVerifyJWTResponse reports whether x-sdm-token is valid.

ControlPanelVerifyJWTResponse(meta=None, rate_limit=None, valid=None)
9649    def __init__(
9650        self,
9651        meta=None,
9652        rate_limit=None,
9653        valid=None,
9654    ):
9655        self.meta = meta if meta is not None else None
9656        '''
9657         Reserved for future use.
9658        '''
9659        self.rate_limit = rate_limit if rate_limit is not None else None
9660        '''
9661         Rate limit information.
9662        '''
9663        self.valid = valid if valid is not None else False
9664        '''
9665         Reports if the given token is valid.
9666        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

valid

Reports if the given token is valid.

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

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

The bind interface is the IP 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)
9960    def to_dict(self):
9961        return {
9962            'bind_interface': self.bind_interface,
9963            'egress_filter': self.egress_filter,
9964            'healthy': self.healthy,
9965            'id': self.id,
9966            'name': self.name,
9967            'password': self.password,
9968            'port_override': self.port_override,
9969            'proxy_cluster_id': self.proxy_cluster_id,
9970            'secret_store_id': self.secret_store_id,
9971            'subdomain': self.subdomain,
9972            'tags': self.tags,
9973            'url': self.url,
9974            'username': self.username,
9975        }
@classmethod
def from_dict(cls, d)
9977    @classmethod
9978    def from_dict(cls, d):
9979        return cls(
9980            bind_interface=d.get('bind_interface'),
9981            egress_filter=d.get('egress_filter'),
9982            healthy=d.get('healthy'),
9983            id=d.get('id'),
9984            name=d.get('name'),
9985            password=d.get('password'),
9986            port_override=d.get('port_override'),
9987            proxy_cluster_id=d.get('proxy_cluster_id'),
9988            secret_store_id=d.get('secret_store_id'),
9989            subdomain=d.get('subdomain'),
9990            tags=d.get('tags'),
9991            url=d.get('url'),
9992            username=d.get('username'),
9993        )
class CreateResponseMetadata:
 9996class CreateResponseMetadata:
 9997    '''
 9998         CreateResponseMetadata is reserved for future use.
 9999    '''
10000    __slots__ = []
10001
10002    def __init__(self, ):
10003        pass
10004
10005    def __repr__(self):
10006        return '<sdm.CreateResponseMetadata ' + \
10007            '>'
10008
10009    def to_dict(self):
10010        return {}
10011
10012    @classmethod
10013    def from_dict(cls, d):
10014        return cls()

CreateResponseMetadata is reserved for future use.

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

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

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

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)
10469    def to_dict(self):
10470        return {
10471            'bind_interface': self.bind_interface,
10472            'database': self.database,
10473            'egress_filter': self.egress_filter,
10474            'healthy': self.healthy,
10475            'hostname': self.hostname,
10476            'id': self.id,
10477            'name': self.name,
10478            'password': self.password,
10479            'port': self.port,
10480            'port_override': self.port_override,
10481            'proxy_cluster_id': self.proxy_cluster_id,
10482            'secret_store_id': self.secret_store_id,
10483            'subdomain': self.subdomain,
10484            'tags': self.tags,
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            database=d.get('database'),
10493            egress_filter=d.get('egress_filter'),
10494            healthy=d.get('healthy'),
10495            hostname=d.get('hostname'),
10496            id=d.get('id'),
10497            name=d.get('name'),
10498            password=d.get('password'),
10499            port=d.get('port'),
10500            port_override=d.get('port_override'),
10501            proxy_cluster_id=d.get('proxy_cluster_id'),
10502            secret_store_id=d.get('secret_store_id'),
10503            subdomain=d.get('subdomain'),
10504            tags=d.get('tags'),
10505            username=d.get('username'),
10506        )
class DeleteResponseMetadata:
10509class DeleteResponseMetadata:
10510    '''
10511         DeleteResponseMetadata is reserved for future use.
10512    '''
10513    __slots__ = []
10514
10515    def __init__(self, ):
10516        pass
10517
10518    def __repr__(self):
10519        return '<sdm.DeleteResponseMetadata ' + \
10520            '>'
10521
10522    def to_dict(self):
10523        return {}
10524
10525    @classmethod
10526    def from_dict(cls, d):
10527        return cls()

DeleteResponseMetadata is reserved for future use.

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

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

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

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

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

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

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

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

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

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

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

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

required

def to_dict(self)
12756    def to_dict(self):
12757        return {
12758            'secret_engine_id': self.secret_engine_id,
12759        }
@classmethod
def from_dict(cls, d)
12761    @classmethod
12762    def from_dict(cls, d):
12763        return cls(secret_engine_id=d.get('secret_engine_id'), )
class GenerateKeysResponse:
12766class GenerateKeysResponse:
12767    __slots__ = [
12768        'rate_limit',
12769    ]
12770
12771    def __init__(
12772        self,
12773        rate_limit=None,
12774    ):
12775        self.rate_limit = rate_limit if rate_limit is not None else None
12776        '''
12777         Rate limit information.
12778        '''
12779
12780    def __repr__(self):
12781        return '<sdm.GenerateKeysResponse ' + \
12782            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
12783            '>'
12784
12785    def to_dict(self):
12786        return {
12787            'rate_limit': self.rate_limit,
12788        }
12789
12790    @classmethod
12791    def from_dict(cls, d):
12792        return cls(rate_limit=d.get('rate_limit'), )
GenerateKeysResponse(rate_limit=None)
12771    def __init__(
12772        self,
12773        rate_limit=None,
12774    ):
12775        self.rate_limit = rate_limit if rate_limit is not None else None
12776        '''
12777         Rate limit information.
12778        '''
rate_limit

Rate limit information.

def to_dict(self)
12785    def to_dict(self):
12786        return {
12787            'rate_limit': self.rate_limit,
12788        }
@classmethod
def from_dict(cls, d)
12790    @classmethod
12791    def from_dict(cls, d):
12792        return cls(rate_limit=d.get('rate_limit'), )
class GenericResponseMetadata:
12795class GenericResponseMetadata:
12796    '''
12797         GenericResponseMetadata contains common headers for generic request
12798     responses.
12799    '''
12800    __slots__ = []
12801
12802    def __init__(self, ):
12803        pass
12804
12805    def __repr__(self):
12806        return '<sdm.GenericResponseMetadata ' + \
12807            '>'
12808
12809    def to_dict(self):
12810        return {}
12811
12812    @classmethod
12813    def from_dict(cls, d):
12814        return cls()

GenericResponseMetadata contains common headers for generic request responses.

GenericResponseMetadata()
12802    def __init__(self, ):
12803        pass
def to_dict(self)
12809    def to_dict(self):
12810        return {}
@classmethod
def from_dict(cls, d)
12812    @classmethod
12813    def from_dict(cls, d):
12814        return cls()
class GetResponseMetadata:
12817class GetResponseMetadata:
12818    '''
12819         GetResponseMetadata is reserved for future use.
12820    '''
12821    __slots__ = []
12822
12823    def __init__(self, ):
12824        pass
12825
12826    def __repr__(self):
12827        return '<sdm.GetResponseMetadata ' + \
12828            '>'
12829
12830    def to_dict(self):
12831        return {}
12832
12833    @classmethod
12834    def from_dict(cls, d):
12835        return cls()

GetResponseMetadata is reserved for future use.

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

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

The bind interface is the IP 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)
13307    def to_dict(self):
13308        return {
13309            'bind_interface': self.bind_interface,
13310            'database': self.database,
13311            'egress_filter': self.egress_filter,
13312            'healthy': self.healthy,
13313            'hostname': self.hostname,
13314            'id': self.id,
13315            'name': self.name,
13316            'override_database': self.override_database,
13317            'password': self.password,
13318            'port': self.port,
13319            'port_override': self.port_override,
13320            'proxy_cluster_id': self.proxy_cluster_id,
13321            'secret_store_id': self.secret_store_id,
13322            'subdomain': self.subdomain,
13323            'tags': self.tags,
13324            'username': self.username,
13325        }
@classmethod
def from_dict(cls, d)
13327    @classmethod
13328    def from_dict(cls, d):
13329        return cls(
13330            bind_interface=d.get('bind_interface'),
13331            database=d.get('database'),
13332            egress_filter=d.get('egress_filter'),
13333            healthy=d.get('healthy'),
13334            hostname=d.get('hostname'),
13335            id=d.get('id'),
13336            name=d.get('name'),
13337            override_database=d.get('override_database'),
13338            password=d.get('password'),
13339            port=d.get('port'),
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            subdomain=d.get('subdomain'),
13344            tags=d.get('tags'),
13345            username=d.get('username'),
13346        )
class HTTPAuth:
13349class HTTPAuth:
13350    __slots__ = [
13351        'auth_header',
13352        'bind_interface',
13353        'default_path',
13354        'egress_filter',
13355        'headers_blacklist',
13356        'healthcheck_path',
13357        'healthy',
13358        'host_override',
13359        'id',
13360        'name',
13361        'proxy_cluster_id',
13362        'secret_store_id',
13363        'subdomain',
13364        'tags',
13365        'url',
13366    ]
13367
13368    def __init__(
13369        self,
13370        auth_header=None,
13371        bind_interface=None,
13372        default_path=None,
13373        egress_filter=None,
13374        headers_blacklist=None,
13375        healthcheck_path=None,
13376        healthy=None,
13377        host_override=None,
13378        id=None,
13379        name=None,
13380        proxy_cluster_id=None,
13381        secret_store_id=None,
13382        subdomain=None,
13383        tags=None,
13384        url=None,
13385    ):
13386        self.auth_header = auth_header if auth_header is not None else ''
13387        '''
13388         The content to set as the authorization header.
13389        '''
13390        self.bind_interface = bind_interface if bind_interface is not None else ''
13391        '''
13392         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13393        '''
13394        self.default_path = default_path if default_path is not None else ''
13395        '''
13396         Automatically redirect to this path upon connecting.
13397        '''
13398        self.egress_filter = egress_filter if egress_filter is not None else ''
13399        '''
13400         A filter applied to the routing logic to pin datasource to nodes.
13401        '''
13402        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
13403        '''
13404         Header names (e.g. Authorization), to omit from logs.
13405        '''
13406        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
13407        '''
13408         This path will be used to check the health of your site.
13409        '''
13410        self.healthy = healthy if healthy is not None else False
13411        '''
13412         True if the datasource is reachable and the credentials are valid.
13413        '''
13414        self.host_override = host_override if host_override is not None else ''
13415        '''
13416         The host header will be overwritten with this field if provided.
13417        '''
13418        self.id = id if id is not None else ''
13419        '''
13420         Unique identifier of the Resource.
13421        '''
13422        self.name = name if name is not None else ''
13423        '''
13424         Unique human-readable name of the Resource.
13425        '''
13426        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13427        '''
13428         ID of the proxy cluster for this resource, if any.
13429        '''
13430        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13431        '''
13432         ID of the secret store containing credentials for this resource, if any.
13433        '''
13434        self.subdomain = subdomain if subdomain is not None else ''
13435        '''
13436         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13437        '''
13438        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13439        '''
13440         Tags is a map of key, value pairs.
13441        '''
13442        self.url = url if url is not None else ''
13443        '''
13444         The base address of your website without the path.
13445        '''
13446
13447    def __repr__(self):
13448        return '<sdm.HTTPAuth ' + \
13449            'auth_header: ' + repr(self.auth_header) + ' ' +\
13450            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13451            'default_path: ' + repr(self.default_path) + ' ' +\
13452            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13453            'headers_blacklist: ' + repr(self.headers_blacklist) + ' ' +\
13454            'healthcheck_path: ' + repr(self.healthcheck_path) + ' ' +\
13455            'healthy: ' + repr(self.healthy) + ' ' +\
13456            'host_override: ' + repr(self.host_override) + ' ' +\
13457            'id: ' + repr(self.id) + ' ' +\
13458            'name: ' + repr(self.name) + ' ' +\
13459            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13460            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13461            'subdomain: ' + repr(self.subdomain) + ' ' +\
13462            'tags: ' + repr(self.tags) + ' ' +\
13463            'url: ' + repr(self.url) + ' ' +\
13464            '>'
13465
13466    def to_dict(self):
13467        return {
13468            'auth_header': self.auth_header,
13469            'bind_interface': self.bind_interface,
13470            'default_path': self.default_path,
13471            'egress_filter': self.egress_filter,
13472            'headers_blacklist': self.headers_blacklist,
13473            'healthcheck_path': self.healthcheck_path,
13474            'healthy': self.healthy,
13475            'host_override': self.host_override,
13476            'id': self.id,
13477            'name': self.name,
13478            'proxy_cluster_id': self.proxy_cluster_id,
13479            'secret_store_id': self.secret_store_id,
13480            'subdomain': self.subdomain,
13481            'tags': self.tags,
13482            'url': self.url,
13483        }
13484
13485    @classmethod
13486    def from_dict(cls, d):
13487        return cls(
13488            auth_header=d.get('auth_header'),
13489            bind_interface=d.get('bind_interface'),
13490            default_path=d.get('default_path'),
13491            egress_filter=d.get('egress_filter'),
13492            headers_blacklist=d.get('headers_blacklist'),
13493            healthcheck_path=d.get('healthcheck_path'),
13494            healthy=d.get('healthy'),
13495            host_override=d.get('host_override'),
13496            id=d.get('id'),
13497            name=d.get('name'),
13498            proxy_cluster_id=d.get('proxy_cluster_id'),
13499            secret_store_id=d.get('secret_store_id'),
13500            subdomain=d.get('subdomain'),
13501            tags=d.get('tags'),
13502            url=d.get('url'),
13503        )
HTTPAuth( auth_header=None, bind_interface=None, default_path=None, egress_filter=None, headers_blacklist=None, healthcheck_path=None, healthy=None, host_override=None, id=None, name=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, url=None)
13368    def __init__(
13369        self,
13370        auth_header=None,
13371        bind_interface=None,
13372        default_path=None,
13373        egress_filter=None,
13374        headers_blacklist=None,
13375        healthcheck_path=None,
13376        healthy=None,
13377        host_override=None,
13378        id=None,
13379        name=None,
13380        proxy_cluster_id=None,
13381        secret_store_id=None,
13382        subdomain=None,
13383        tags=None,
13384        url=None,
13385    ):
13386        self.auth_header = auth_header if auth_header is not None else ''
13387        '''
13388         The content to set as the authorization header.
13389        '''
13390        self.bind_interface = bind_interface if bind_interface is not None else ''
13391        '''
13392         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13393        '''
13394        self.default_path = default_path if default_path is not None else ''
13395        '''
13396         Automatically redirect to this path upon connecting.
13397        '''
13398        self.egress_filter = egress_filter if egress_filter is not None else ''
13399        '''
13400         A filter applied to the routing logic to pin datasource to nodes.
13401        '''
13402        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
13403        '''
13404         Header names (e.g. Authorization), to omit from logs.
13405        '''
13406        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
13407        '''
13408         This path will be used to check the health of your site.
13409        '''
13410        self.healthy = healthy if healthy is not None else False
13411        '''
13412         True if the datasource is reachable and the credentials are valid.
13413        '''
13414        self.host_override = host_override if host_override is not None else ''
13415        '''
13416         The host header will be overwritten with this field if provided.
13417        '''
13418        self.id = id if id is not None else ''
13419        '''
13420         Unique identifier of the Resource.
13421        '''
13422        self.name = name if name is not None else ''
13423        '''
13424         Unique human-readable name of the Resource.
13425        '''
13426        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13427        '''
13428         ID of the proxy cluster for this resource, if any.
13429        '''
13430        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13431        '''
13432         ID of the secret store containing credentials for this resource, if any.
13433        '''
13434        self.subdomain = subdomain if subdomain is not None else ''
13435        '''
13436         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13437        '''
13438        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13439        '''
13440         Tags is a map of key, value pairs.
13441        '''
13442        self.url = url if url is not None else ''
13443        '''
13444         The base address of your website without the path.
13445        '''
auth_header

The content to set as the authorization header.

bind_interface

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

default_path

Automatically redirect to this path upon connecting.

egress_filter

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

headers_blacklist

Header names (e.g. Authorization), to omit from logs.

healthcheck_path

This path will be used to check the health of your site.

healthy

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

host_override

The host header will be overwritten with this field if provided.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

url

The base address of your website without the path.

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

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

default_path

Automatically redirect to this path upon connecting.

egress_filter

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

headers_blacklist

Header names (e.g. Authorization), to omit from logs.

healthcheck_path

This path will be used to check the health of your site.

healthy

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

host_override

The host header will be overwritten with this field if provided.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

url

The base address of your website without the path.

username

The username to authenticate with.

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

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

default_path

Automatically redirect to this path upon connecting.

egress_filter

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

headers_blacklist

Header names (e.g. Authorization), to omit from logs.

healthcheck_path

This path will be used to check the health of your site.

healthy

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

host_override

The host header will be overwritten with this field if provided.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

url

The base address of your website without the path.

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

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)
13835    def __init__(
13836        self,
13837        error_msg=None,
13838        healthy=None,
13839        id=None,
13840        node_id=None,
13841        node_name=None,
13842        resource_id=None,
13843        resource_name=None,
13844        timestamp=None,
13845    ):
13846        self.error_msg = error_msg if error_msg is not None else ''
13847        '''
13848         The error if unhealthy
13849        '''
13850        self.healthy = healthy if healthy is not None else False
13851        '''
13852         Whether the healthcheck succeeded.
13853        '''
13854        self.id = id if id is not None else ''
13855        '''
13856         Unique identifier of the healthcheck.
13857        '''
13858        self.node_id = node_id if node_id is not None else ''
13859        '''
13860         Unique identifier of the healthcheck node.
13861        '''
13862        self.node_name = node_name if node_name is not None else ''
13863        '''
13864         The name of the node.
13865        '''
13866        self.resource_id = resource_id if resource_id is not None else ''
13867        '''
13868         Unique identifier of the healthcheck resource.
13869        '''
13870        self.resource_name = resource_name if resource_name is not None else ''
13871        '''
13872         The name of the resource.
13873        '''
13874        self.timestamp = timestamp if timestamp is not None else None
13875        '''
13876         The time at which the healthcheck state was recorded.
13877        '''
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)
13891    def to_dict(self):
13892        return {
13893            'error_msg': self.error_msg,
13894            'healthy': self.healthy,
13895            'id': self.id,
13896            'node_id': self.node_id,
13897            'node_name': self.node_name,
13898            'resource_id': self.resource_id,
13899            'resource_name': self.resource_name,
13900            'timestamp': self.timestamp,
13901        }
@classmethod
def from_dict(cls, d)
13903    @classmethod
13904    def from_dict(cls, d):
13905        return cls(
13906            error_msg=d.get('error_msg'),
13907            healthy=d.get('healthy'),
13908            id=d.get('id'),
13909            node_id=d.get('node_id'),
13910            node_name=d.get('node_name'),
13911            resource_id=d.get('resource_id'),
13912            resource_name=d.get('resource_name'),
13913            timestamp=d.get('timestamp'),
13914        )
class HealthcheckListResponse:
13917class HealthcheckListResponse:
13918    '''
13919         HealthcheckListResponse returns a list of Healthchecks that meet the criteria of a
13920     HealthcheckListRequest.
13921    '''
13922    __slots__ = [
13923        'rate_limit',
13924    ]
13925
13926    def __init__(
13927        self,
13928        rate_limit=None,
13929    ):
13930        self.rate_limit = rate_limit if rate_limit is not None else None
13931        '''
13932         Rate limit information.
13933        '''
13934
13935    def __repr__(self):
13936        return '<sdm.HealthcheckListResponse ' + \
13937            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
13938            '>'
13939
13940    def to_dict(self):
13941        return {
13942            'rate_limit': self.rate_limit,
13943        }
13944
13945    @classmethod
13946    def from_dict(cls, d):
13947        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)
13926    def __init__(
13927        self,
13928        rate_limit=None,
13929    ):
13930        self.rate_limit = rate_limit if rate_limit is not None else None
13931        '''
13932         Rate limit information.
13933        '''
rate_limit

Rate limit information.

def to_dict(self)
13940    def to_dict(self):
13941        return {
13942            'rate_limit': self.rate_limit,
13943        }
@classmethod
def from_dict(cls, d)
13945    @classmethod
13946    def from_dict(cls, d):
13947        return cls(rate_limit=d.get('rate_limit'), )
class HealthcheckRequest:
13950class HealthcheckRequest:
13951    __slots__ = [
13952        'secret_engine_id',
13953    ]
13954
13955    def __init__(
13956        self,
13957        secret_engine_id=None,
13958    ):
13959        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
13960        '''
13961         required
13962        '''
13963
13964    def __repr__(self):
13965        return '<sdm.HealthcheckRequest ' + \
13966            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
13967            '>'
13968
13969    def to_dict(self):
13970        return {
13971            'secret_engine_id': self.secret_engine_id,
13972        }
13973
13974    @classmethod
13975    def from_dict(cls, d):
13976        return cls(secret_engine_id=d.get('secret_engine_id'), )
HealthcheckRequest(secret_engine_id=None)
13955    def __init__(
13956        self,
13957        secret_engine_id=None,
13958    ):
13959        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
13960        '''
13961         required
13962        '''
secret_engine_id

required

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

Rate limit information.

status

Array of statuses of all nodes serving a secret engine

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

HealthcheckStatus contains status of a node health

HealthcheckStatus(node_id=None, status=None)
14028    def __init__(
14029        self,
14030        node_id=None,
14031        status=None,
14032    ):
14033        self.node_id = node_id if node_id is not None else ''
14034        '''
14035         ID of node
14036        '''
14037        self.status = status if status is not None else ''
14038        '''
14039         Status of node's health
14040        '''
node_id

ID of node

status

Status of node's health

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

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)
14074    def __init__(
14075        self,
14076        account_id=None,
14077        id=None,
14078        identity_set_id=None,
14079        username=None,
14080    ):
14081        self.account_id = account_id if account_id is not None else ''
14082        '''
14083         The account for this identity alias.
14084        '''
14085        self.id = id if id is not None else ''
14086        '''
14087         Unique identifier of the IdentityAlias.
14088        '''
14089        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
14090        '''
14091         The identity set.
14092        '''
14093        self.username = username if username is not None else ''
14094        '''
14095         The username to be used as the identity alias for this account.
14096        '''
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)
14106    def to_dict(self):
14107        return {
14108            'account_id': self.account_id,
14109            'id': self.id,
14110            'identity_set_id': self.identity_set_id,
14111            'username': self.username,
14112        }
@classmethod
def from_dict(cls, d)
14114    @classmethod
14115    def from_dict(cls, d):
14116        return cls(
14117            account_id=d.get('account_id'),
14118            id=d.get('id'),
14119            identity_set_id=d.get('identity_set_id'),
14120            username=d.get('username'),
14121        )
class IdentityAliasCreateResponse:
14124class IdentityAliasCreateResponse:
14125    '''
14126         IdentityAliasCreateResponse reports how the IdentityAliases were created in the system.
14127    '''
14128    __slots__ = [
14129        'identity_alias',
14130        'meta',
14131        'rate_limit',
14132    ]
14133
14134    def __init__(
14135        self,
14136        identity_alias=None,
14137        meta=None,
14138        rate_limit=None,
14139    ):
14140        self.identity_alias = identity_alias if identity_alias is not None else None
14141        '''
14142         The created IdentityAlias.
14143        '''
14144        self.meta = meta if meta is not None else None
14145        '''
14146         Reserved for future use.
14147        '''
14148        self.rate_limit = rate_limit if rate_limit is not None else None
14149        '''
14150         Rate limit information.
14151        '''
14152
14153    def __repr__(self):
14154        return '<sdm.IdentityAliasCreateResponse ' + \
14155            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
14156            'meta: ' + repr(self.meta) + ' ' +\
14157            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14158            '>'
14159
14160    def to_dict(self):
14161        return {
14162            'identity_alias': self.identity_alias,
14163            'meta': self.meta,
14164            'rate_limit': self.rate_limit,
14165        }
14166
14167    @classmethod
14168    def from_dict(cls, d):
14169        return cls(
14170            identity_alias=d.get('identity_alias'),
14171            meta=d.get('meta'),
14172            rate_limit=d.get('rate_limit'),
14173        )

IdentityAliasCreateResponse reports how the IdentityAliases were created in the system.

IdentityAliasCreateResponse(identity_alias=None, meta=None, rate_limit=None)
14134    def __init__(
14135        self,
14136        identity_alias=None,
14137        meta=None,
14138        rate_limit=None,
14139    ):
14140        self.identity_alias = identity_alias if identity_alias is not None else None
14141        '''
14142         The created IdentityAlias.
14143        '''
14144        self.meta = meta if meta is not None else None
14145        '''
14146         Reserved for future use.
14147        '''
14148        self.rate_limit = rate_limit if rate_limit is not None else None
14149        '''
14150         Rate limit information.
14151        '''
identity_alias

The created IdentityAlias.

meta

Reserved for future use.

rate_limit

Rate limit information.

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

IdentityAliasDeleteResponse returns information about a IdentityAlias that was deleted.

IdentityAliasDeleteResponse(meta=None, rate_limit=None)
14185    def __init__(
14186        self,
14187        meta=None,
14188        rate_limit=None,
14189    ):
14190        self.meta = meta if meta is not None else None
14191        '''
14192         Reserved for future use.
14193        '''
14194        self.rate_limit = rate_limit if rate_limit is not None else None
14195        '''
14196         Rate limit information.
14197        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

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

IdentityAliasGetResponse returns a requested IdentityAlias.

IdentityAliasGetResponse(identity_alias=None, meta=None, rate_limit=None)
14229    def __init__(
14230        self,
14231        identity_alias=None,
14232        meta=None,
14233        rate_limit=None,
14234    ):
14235        self.identity_alias = identity_alias if identity_alias is not None else None
14236        '''
14237         The requested IdentityAlias.
14238        '''
14239        self.meta = meta if meta is not None else None
14240        '''
14241         Reserved for future use.
14242        '''
14243        self.rate_limit = rate_limit if rate_limit is not None else None
14244        '''
14245         Rate limit information.
14246        '''
identity_alias

The requested IdentityAlias.

meta

Reserved for future use.

rate_limit

Rate limit information.

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

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

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

IdentityAliasUpdateResponse(identity_alias=None, meta=None, rate_limit=None)
14346    def __init__(
14347        self,
14348        identity_alias=None,
14349        meta=None,
14350        rate_limit=None,
14351    ):
14352        self.identity_alias = identity_alias if identity_alias is not None else None
14353        '''
14354         The updated IdentityAlias.
14355        '''
14356        self.meta = meta if meta is not None else None
14357        '''
14358         Reserved for future use.
14359        '''
14360        self.rate_limit = rate_limit if rate_limit is not None else None
14361        '''
14362         Rate limit information.
14363        '''
identity_alias

The updated IdentityAlias.

meta

Reserved for future use.

rate_limit

Rate limit information.

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

A IdentitySet defines a group of identity aliases.

IdentitySet(id=None, name=None)
14397    def __init__(
14398        self,
14399        id=None,
14400        name=None,
14401    ):
14402        self.id = id if id is not None else ''
14403        '''
14404         Unique identifier of the IdentitySet.
14405        '''
14406        self.name = name if name is not None else ''
14407        '''
14408         Unique human-readable name of the IdentitySet.
14409        '''
id

Unique identifier of the IdentitySet.

name

Unique human-readable name of the IdentitySet.

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

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)
14442    def __init__(
14443        self,
14444        identity_set=None,
14445        meta=None,
14446        rate_limit=None,
14447    ):
14448        self.identity_set = identity_set if identity_set is not None else None
14449        '''
14450         The created IdentitySet.
14451        '''
14452        self.meta = meta if meta is not None else None
14453        '''
14454         Reserved for future use.
14455        '''
14456        self.rate_limit = rate_limit if rate_limit is not None else None
14457        '''
14458         Rate limit information.
14459        '''
identity_set

The created IdentitySet.

meta

Reserved for future use.

rate_limit

Rate limit information.

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

IdentitySetDeleteResponse returns information about a IdentitySet that was deleted.

IdentitySetDeleteResponse(meta=None, rate_limit=None)
14493    def __init__(
14494        self,
14495        meta=None,
14496        rate_limit=None,
14497    ):
14498        self.meta = meta if meta is not None else None
14499        '''
14500         Reserved for future use.
14501        '''
14502        self.rate_limit = rate_limit if rate_limit is not None else None
14503        '''
14504         Rate limit information.
14505        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

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

IdentitySetGetResponse returns a requested IdentitySet.

IdentitySetGetResponse(identity_set=None, meta=None, rate_limit=None)
14537    def __init__(
14538        self,
14539        identity_set=None,
14540        meta=None,
14541        rate_limit=None,
14542    ):
14543        self.identity_set = identity_set if identity_set is not None else None
14544        '''
14545         The requested IdentitySet.
14546        '''
14547        self.meta = meta if meta is not None else None
14548        '''
14549         Reserved for future use.
14550        '''
14551        self.rate_limit = rate_limit if rate_limit is not None else None
14552        '''
14553         Rate limit information.
14554        '''
identity_set

The requested IdentitySet.

meta

Reserved for future use.

rate_limit

Rate limit information.

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

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

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

IdentitySetUpdateResponse(identity_set=None, meta=None, rate_limit=None)
14654    def __init__(
14655        self,
14656        identity_set=None,
14657        meta=None,
14658        rate_limit=None,
14659    ):
14660        self.identity_set = identity_set if identity_set is not None else None
14661        '''
14662         The updated IdentitySet.
14663        '''
14664        self.meta = meta if meta is not None else None
14665        '''
14666         Reserved for future use.
14667        '''
14668        self.rate_limit = rate_limit if rate_limit is not None else None
14669        '''
14670         Rate limit information.
14671        '''
identity_set

The updated IdentitySet.

meta

Reserved for future use.

rate_limit

Rate limit information.

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

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

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

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

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

bind_interface

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

certificate_authority

The CA to authenticate TLS connections with.

egress_filter

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

healthcheck_namespace

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

healthy

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

id

Unique identifier of the Resource.

identity_alias_healthcheck_username

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

identity_set_id

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

name

Unique human-readable name of the Resource.

port_override

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

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

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

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

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

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

The bind interface is the IP 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)
16279    def to_dict(self):
16280        return {
16281            'bind_interface': self.bind_interface,
16282            'certificate_authority': self.certificate_authority,
16283            'client_certificate': self.client_certificate,
16284            'client_key': self.client_key,
16285            'database': self.database,
16286            'egress_filter': self.egress_filter,
16287            'healthy': self.healthy,
16288            'hostname': self.hostname,
16289            'id': self.id,
16290            'name': self.name,
16291            'password': self.password,
16292            'port': self.port,
16293            'port_override': self.port_override,
16294            'proxy_cluster_id': self.proxy_cluster_id,
16295            'require_native_auth': self.require_native_auth,
16296            'secret_store_id': self.secret_store_id,
16297            'server_name': self.server_name,
16298            'subdomain': self.subdomain,
16299            'tags': self.tags,
16300            'use_azure_single_server_usernames':
16301            self.use_azure_single_server_usernames,
16302            'username': self.username,
16303        }
@classmethod
def from_dict(cls, d)
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            database=d.get('database'),
16313            egress_filter=d.get('egress_filter'),
16314            healthy=d.get('healthy'),
16315            hostname=d.get('hostname'),
16316            id=d.get('id'),
16317            name=d.get('name'),
16318            password=d.get('password'),
16319            port=d.get('port'),
16320            port_override=d.get('port_override'),
16321            proxy_cluster_id=d.get('proxy_cluster_id'),
16322            require_native_auth=d.get('require_native_auth'),
16323            secret_store_id=d.get('secret_store_id'),
16324            server_name=d.get('server_name'),
16325            subdomain=d.get('subdomain'),
16326            tags=d.get('tags'),
16327            use_azure_single_server_usernames=d.get(
16328                'use_azure_single_server_usernames'),
16329            username=d.get('username'),
16330        )
class MTLSPostgres:
16333class MTLSPostgres:
16334    __slots__ = [
16335        'bind_interface',
16336        'certificate_authority',
16337        'client_certificate',
16338        'client_key',
16339        'database',
16340        'egress_filter',
16341        'healthy',
16342        'hostname',
16343        'id',
16344        'name',
16345        'override_database',
16346        'password',
16347        'port',
16348        'port_override',
16349        'proxy_cluster_id',
16350        'secret_store_id',
16351        'server_name',
16352        'subdomain',
16353        'tags',
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        override_database=None,
16370        password=None,
16371        port=None,
16372        port_override=None,
16373        proxy_cluster_id=None,
16374        secret_store_id=None,
16375        server_name=None,
16376        subdomain=None,
16377        tags=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 initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
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.override_database = override_database if override_database is not None else False
16421        '''
16422         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
16423        '''
16424        self.password = password if password is not None else ''
16425        '''
16426         The password to authenticate with.
16427        '''
16428        self.port = port if port is not None else 0
16429        '''
16430         The port to dial to initiate a connection from the egress node to this resource.
16431        '''
16432        self.port_override = port_override if port_override is not None else 0
16433        '''
16434         The local port used by clients to connect to this resource.
16435        '''
16436        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16437        '''
16438         ID of the proxy cluster for this resource, if any.
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.username = username if username is not None else ''
16457        '''
16458         The username to authenticate with.
16459        '''
16460
16461    def __repr__(self):
16462        return '<sdm.MTLSPostgres ' + \
16463            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
16464            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
16465            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
16466            'client_key: ' + repr(self.client_key) + ' ' +\
16467            'database: ' + repr(self.database) + ' ' +\
16468            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
16469            'healthy: ' + repr(self.healthy) + ' ' +\
16470            'hostname: ' + repr(self.hostname) + ' ' +\
16471            'id: ' + repr(self.id) + ' ' +\
16472            'name: ' + repr(self.name) + ' ' +\
16473            'override_database: ' + repr(self.override_database) + ' ' +\
16474            'password: ' + repr(self.password) + ' ' +\
16475            'port: ' + repr(self.port) + ' ' +\
16476            'port_override: ' + repr(self.port_override) + ' ' +\
16477            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
16478            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
16479            'server_name: ' + repr(self.server_name) + ' ' +\
16480            'subdomain: ' + repr(self.subdomain) + ' ' +\
16481            'tags: ' + repr(self.tags) + ' ' +\
16482            'username: ' + repr(self.username) + ' ' +\
16483            '>'
16484
16485    def to_dict(self):
16486        return {
16487            'bind_interface': self.bind_interface,
16488            'certificate_authority': self.certificate_authority,
16489            'client_certificate': self.client_certificate,
16490            'client_key': self.client_key,
16491            'database': self.database,
16492            'egress_filter': self.egress_filter,
16493            'healthy': self.healthy,
16494            'hostname': self.hostname,
16495            'id': self.id,
16496            'name': self.name,
16497            'override_database': self.override_database,
16498            'password': self.password,
16499            'port': self.port,
16500            'port_override': self.port_override,
16501            'proxy_cluster_id': self.proxy_cluster_id,
16502            'secret_store_id': self.secret_store_id,
16503            'server_name': self.server_name,
16504            'subdomain': self.subdomain,
16505            'tags': self.tags,
16506            'username': self.username,
16507        }
16508
16509    @classmethod
16510    def from_dict(cls, d):
16511        return cls(
16512            bind_interface=d.get('bind_interface'),
16513            certificate_authority=d.get('certificate_authority'),
16514            client_certificate=d.get('client_certificate'),
16515            client_key=d.get('client_key'),
16516            database=d.get('database'),
16517            egress_filter=d.get('egress_filter'),
16518            healthy=d.get('healthy'),
16519            hostname=d.get('hostname'),
16520            id=d.get('id'),
16521            name=d.get('name'),
16522            override_database=d.get('override_database'),
16523            password=d.get('password'),
16524            port=d.get('port'),
16525            port_override=d.get('port_override'),
16526            proxy_cluster_id=d.get('proxy_cluster_id'),
16527            secret_store_id=d.get('secret_store_id'),
16528            server_name=d.get('server_name'),
16529            subdomain=d.get('subdomain'),
16530            tags=d.get('tags'),
16531            username=d.get('username'),
16532        )
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)
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        override_database=None,
16370        password=None,
16371        port=None,
16372        port_override=None,
16373        proxy_cluster_id=None,
16374        secret_store_id=None,
16375        server_name=None,
16376        subdomain=None,
16377        tags=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 initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
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.override_database = override_database if override_database is not None else False
16421        '''
16422         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
16423        '''
16424        self.password = password if password is not None else ''
16425        '''
16426         The password to authenticate with.
16427        '''
16428        self.port = port if port is not None else 0
16429        '''
16430         The port to dial to initiate a connection from the egress node to this resource.
16431        '''
16432        self.port_override = port_override if port_override is not None else 0
16433        '''
16434         The local port used by clients to connect to this resource.
16435        '''
16436        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16437        '''
16438         ID of the proxy cluster for this resource, if any.
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.username = username if username is not None else ''
16457        '''
16458         The username to authenticate with.
16459        '''
bind_interface

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

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)
16552    def __init__(
16553        self,
16554        config=None,
16555        expires_at=None,
16556        id=None,
16557        last_rotated_at=None,
16558        name=None,
16559        policy=None,
16560        secret_engine_id=None,
16561        secret_store_path=None,
16562        tags=None,
16563        value=None,
16564    ):
16565        self.config = config if config is not None else ''
16566        '''
16567         public part of the secret value
16568        '''
16569        self.expires_at = expires_at if expires_at is not None else None
16570        '''
16571         Timestamp of when secret is going to be rotated
16572        '''
16573        self.id = id if id is not None else ''
16574        '''
16575         Unique identifier of the Managed Secret.
16576        '''
16577        self.last_rotated_at = last_rotated_at if last_rotated_at is not None else None
16578        '''
16579         Timestamp of when secret was last rotated
16580        '''
16581        self.name = name if name is not None else ''
16582        '''
16583         Unique human-readable name of the Managed Secret.
16584        '''
16585        self.policy = policy if policy is not None else None
16586        '''
16587         Password and rotation policy for the secret
16588        '''
16589        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
16590        '''
16591         An ID of a Secret Engine linked with the Managed Secret.
16592        '''
16593        self.secret_store_path = secret_store_path if secret_store_path is not None else ''
16594        '''
16595         Path in a secret store.
16596        '''
16597        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16598        '''
16599         Tags is a map of key, value pairs.
16600        '''
16601        self.value = value if value is not None else b''
16602        '''
16603         Sensitive value of the secret.
16604        '''
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)
16620    def to_dict(self):
16621        return {
16622            'config': self.config,
16623            'expires_at': self.expires_at,
16624            'id': self.id,
16625            'last_rotated_at': self.last_rotated_at,
16626            'name': self.name,
16627            'policy': self.policy,
16628            'secret_engine_id': self.secret_engine_id,
16629            'secret_store_path': self.secret_store_path,
16630            'tags': self.tags,
16631            'value': self.value,
16632        }
@classmethod
def from_dict(cls, d)
16634    @classmethod
16635    def from_dict(cls, d):
16636        return cls(
16637            config=d.get('config'),
16638            expires_at=d.get('expires_at'),
16639            id=d.get('id'),
16640            last_rotated_at=d.get('last_rotated_at'),
16641            name=d.get('name'),
16642            policy=d.get('policy'),
16643            secret_engine_id=d.get('secret_engine_id'),
16644            secret_store_path=d.get('secret_store_path'),
16645            tags=d.get('tags'),
16646            value=d.get('value'),
16647        )
class ManagedSecretCreateRequest:
16650class ManagedSecretCreateRequest:
16651    '''
16652         ManagedSecretCreateRequest specifies a Managed Secret to create.
16653    '''
16654    __slots__ = [
16655        'managed_secret',
16656    ]
16657
16658    def __init__(
16659        self,
16660        managed_secret=None,
16661    ):
16662        self.managed_secret = managed_secret if managed_secret is not None else None
16663        '''
16664         Parameters to define the new Managed Secret.
16665        '''
16666
16667    def __repr__(self):
16668        return '<sdm.ManagedSecretCreateRequest ' + \
16669            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
16670            '>'
16671
16672    def to_dict(self):
16673        return {
16674            'managed_secret': self.managed_secret,
16675        }
16676
16677    @classmethod
16678    def from_dict(cls, d):
16679        return cls(managed_secret=d.get('managed_secret'), )

ManagedSecretCreateRequest specifies a Managed Secret to create.

ManagedSecretCreateRequest(managed_secret=None)
16658    def __init__(
16659        self,
16660        managed_secret=None,
16661    ):
16662        self.managed_secret = managed_secret if managed_secret is not None else None
16663        '''
16664         Parameters to define the new Managed Secret.
16665        '''
managed_secret

Parameters to define the new Managed Secret.

def to_dict(self)
16672    def to_dict(self):
16673        return {
16674            'managed_secret': self.managed_secret,
16675        }
@classmethod
def from_dict(cls, d)
16677    @classmethod
16678    def from_dict(cls, d):
16679        return cls(managed_secret=d.get('managed_secret'), )
class ManagedSecretCreateResponse:
16682class ManagedSecretCreateResponse:
16683    '''
16684         ManagedSecretCreateResponse contains information about a Managed Secret after
16685     successful creation.
16686    '''
16687    __slots__ = [
16688        'managed_secret',
16689        'meta',
16690        'rate_limit',
16691    ]
16692
16693    def __init__(
16694        self,
16695        managed_secret=None,
16696        meta=None,
16697        rate_limit=None,
16698    ):
16699        self.managed_secret = managed_secret if managed_secret is not None else None
16700        '''
16701         The requested Managed Secret.
16702        '''
16703        self.meta = meta if meta is not None else None
16704        '''
16705         Reserved for future use.
16706        '''
16707        self.rate_limit = rate_limit if rate_limit is not None else None
16708        '''
16709         Rate limit information.
16710        '''
16711
16712    def __repr__(self):
16713        return '<sdm.ManagedSecretCreateResponse ' + \
16714            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
16715            'meta: ' + repr(self.meta) + ' ' +\
16716            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16717            '>'
16718
16719    def to_dict(self):
16720        return {
16721            'managed_secret': self.managed_secret,
16722            'meta': self.meta,
16723            'rate_limit': self.rate_limit,
16724        }
16725
16726    @classmethod
16727    def from_dict(cls, d):
16728        return cls(
16729            managed_secret=d.get('managed_secret'),
16730            meta=d.get('meta'),
16731            rate_limit=d.get('rate_limit'),
16732        )

ManagedSecretCreateResponse contains information about a Managed Secret after successful creation.

ManagedSecretCreateResponse(managed_secret=None, meta=None, rate_limit=None)
16693    def __init__(
16694        self,
16695        managed_secret=None,
16696        meta=None,
16697        rate_limit=None,
16698    ):
16699        self.managed_secret = managed_secret if managed_secret is not None else None
16700        '''
16701         The requested Managed Secret.
16702        '''
16703        self.meta = meta if meta is not None else None
16704        '''
16705         Reserved for future use.
16706        '''
16707        self.rate_limit = rate_limit if rate_limit is not None else None
16708        '''
16709         Rate limit information.
16710        '''
managed_secret

The requested Managed Secret.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
16719    def to_dict(self):
16720        return {
16721            'managed_secret': self.managed_secret,
16722            'meta': self.meta,
16723            'rate_limit': self.rate_limit,
16724        }
@classmethod
def from_dict(cls, d)
16726    @classmethod
16727    def from_dict(cls, d):
16728        return cls(
16729            managed_secret=d.get('managed_secret'),
16730            meta=d.get('meta'),
16731            rate_limit=d.get('rate_limit'),
16732        )
class ManagedSecretDeleteRequest:
16735class ManagedSecretDeleteRequest:
16736    '''
16737         ManagedSecretDeleteRequest specified the ID of a Managed Secret to be
16738     deleted.
16739    '''
16740    __slots__ = [
16741        'id',
16742    ]
16743
16744    def __init__(
16745        self,
16746        id=None,
16747    ):
16748        self.id = id if id is not None else ''
16749        '''
16750         The unique identifier of the Managed Secret to delete.
16751        '''
16752
16753    def __repr__(self):
16754        return '<sdm.ManagedSecretDeleteRequest ' + \
16755            'id: ' + repr(self.id) + ' ' +\
16756            '>'
16757
16758    def to_dict(self):
16759        return {
16760            'id': self.id,
16761        }
16762
16763    @classmethod
16764    def from_dict(cls, d):
16765        return cls(id=d.get('id'), )

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

ManagedSecretDeleteRequest(id=None)
16744    def __init__(
16745        self,
16746        id=None,
16747    ):
16748        self.id = id if id is not None else ''
16749        '''
16750         The unique identifier of the Managed Secret to delete.
16751        '''
id

The unique identifier of the Managed Secret to delete.

def to_dict(self)
16758    def to_dict(self):
16759        return {
16760            'id': self.id,
16761        }
@classmethod
def from_dict(cls, d)
16763    @classmethod
16764    def from_dict(cls, d):
16765        return cls(id=d.get('id'), )
class ManagedSecretDeleteResponse:
16768class ManagedSecretDeleteResponse:
16769    '''
16770         ManagedSecretDeleteResponse contains information about a Managed Secret after
16771     it was deleted.
16772    '''
16773    __slots__ = [
16774        'rate_limit',
16775    ]
16776
16777    def __init__(
16778        self,
16779        rate_limit=None,
16780    ):
16781        self.rate_limit = rate_limit if rate_limit is not None else None
16782        '''
16783         Rate limit information.
16784        '''
16785
16786    def __repr__(self):
16787        return '<sdm.ManagedSecretDeleteResponse ' + \
16788            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16789            '>'
16790
16791    def to_dict(self):
16792        return {
16793            'rate_limit': self.rate_limit,
16794        }
16795
16796    @classmethod
16797    def from_dict(cls, d):
16798        return cls(rate_limit=d.get('rate_limit'), )

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

ManagedSecretDeleteResponse(rate_limit=None)
16777    def __init__(
16778        self,
16779        rate_limit=None,
16780    ):
16781        self.rate_limit = rate_limit if rate_limit is not None else None
16782        '''
16783         Rate limit information.
16784        '''
rate_limit

Rate limit information.

def to_dict(self)
16791    def to_dict(self):
16792        return {
16793            'rate_limit': self.rate_limit,
16794        }
@classmethod
def from_dict(cls, d)
16796    @classmethod
16797    def from_dict(cls, d):
16798        return cls(rate_limit=d.get('rate_limit'), )
class ManagedSecretGetRequest:
16801class ManagedSecretGetRequest:
16802    '''
16803         ManagedSecretGetRequest specifies which Managed Secret to retrieve
16804    '''
16805    __slots__ = [
16806        'id',
16807    ]
16808
16809    def __init__(
16810        self,
16811        id=None,
16812    ):
16813        self.id = id if id is not None else ''
16814        '''
16815         The unique identifier of the Managed Secret to retrieve.
16816        '''
16817
16818    def __repr__(self):
16819        return '<sdm.ManagedSecretGetRequest ' + \
16820            'id: ' + repr(self.id) + ' ' +\
16821            '>'
16822
16823    def to_dict(self):
16824        return {
16825            'id': self.id,
16826        }
16827
16828    @classmethod
16829    def from_dict(cls, d):
16830        return cls(id=d.get('id'), )

ManagedSecretGetRequest specifies which Managed Secret to retrieve

ManagedSecretGetRequest(id=None)
16809    def __init__(
16810        self,
16811        id=None,
16812    ):
16813        self.id = id if id is not None else ''
16814        '''
16815         The unique identifier of the Managed Secret to retrieve.
16816        '''
id

The unique identifier of the Managed Secret to retrieve.

def to_dict(self)
16823    def to_dict(self):
16824        return {
16825            'id': self.id,
16826        }
@classmethod
def from_dict(cls, d)
16828    @classmethod
16829    def from_dict(cls, d):
16830        return cls(id=d.get('id'), )
class ManagedSecretGetResponse:
16833class ManagedSecretGetResponse:
16834    '''
16835         ManagedSecretGetResponse contains information about requested Managed Secret
16836    '''
16837    __slots__ = [
16838        'managed_secret',
16839        'meta',
16840        'rate_limit',
16841    ]
16842
16843    def __init__(
16844        self,
16845        managed_secret=None,
16846        meta=None,
16847        rate_limit=None,
16848    ):
16849        self.managed_secret = managed_secret if managed_secret is not None else None
16850        '''
16851         The requested Managed Secret.
16852        '''
16853        self.meta = meta if meta is not None else None
16854        '''
16855         Reserved for future use.
16856        '''
16857        self.rate_limit = rate_limit if rate_limit is not None else None
16858        '''
16859         Rate limit information.
16860        '''
16861
16862    def __repr__(self):
16863        return '<sdm.ManagedSecretGetResponse ' + \
16864            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
16865            'meta: ' + repr(self.meta) + ' ' +\
16866            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16867            '>'
16868
16869    def to_dict(self):
16870        return {
16871            'managed_secret': self.managed_secret,
16872            'meta': self.meta,
16873            'rate_limit': self.rate_limit,
16874        }
16875
16876    @classmethod
16877    def from_dict(cls, d):
16878        return cls(
16879            managed_secret=d.get('managed_secret'),
16880            meta=d.get('meta'),
16881            rate_limit=d.get('rate_limit'),
16882        )

ManagedSecretGetResponse contains information about requested Managed Secret

ManagedSecretGetResponse(managed_secret=None, meta=None, rate_limit=None)
16843    def __init__(
16844        self,
16845        managed_secret=None,
16846        meta=None,
16847        rate_limit=None,
16848    ):
16849        self.managed_secret = managed_secret if managed_secret is not None else None
16850        '''
16851         The requested Managed Secret.
16852        '''
16853        self.meta = meta if meta is not None else None
16854        '''
16855         Reserved for future use.
16856        '''
16857        self.rate_limit = rate_limit if rate_limit is not None else None
16858        '''
16859         Rate limit information.
16860        '''
managed_secret

The requested Managed Secret.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
16869    def to_dict(self):
16870        return {
16871            'managed_secret': self.managed_secret,
16872            'meta': self.meta,
16873            'rate_limit': self.rate_limit,
16874        }
@classmethod
def from_dict(cls, d)
16876    @classmethod
16877    def from_dict(cls, d):
16878        return cls(
16879            managed_secret=d.get('managed_secret'),
16880            meta=d.get('meta'),
16881            rate_limit=d.get('rate_limit'),
16882        )
class ManagedSecretListRequest:
16885class ManagedSecretListRequest:
16886    '''
16887         ManagedSecretListRequest specifies criteria for retrieving a list of Managed
16888     Secrets.
16889    '''
16890    __slots__ = [
16891        'filter',
16892    ]
16893
16894    def __init__(
16895        self,
16896        filter=None,
16897    ):
16898        self.filter = filter if filter is not None else ''
16899        '''
16900         A human-readable filter query string.
16901        '''
16902
16903    def __repr__(self):
16904        return '<sdm.ManagedSecretListRequest ' + \
16905            'filter: ' + repr(self.filter) + ' ' +\
16906            '>'
16907
16908    def to_dict(self):
16909        return {
16910            'filter': self.filter,
16911        }
16912
16913    @classmethod
16914    def from_dict(cls, d):
16915        return cls(filter=d.get('filter'), )

ManagedSecretListRequest specifies criteria for retrieving a list of Managed Secrets.

ManagedSecretListRequest(filter=None)
16894    def __init__(
16895        self,
16896        filter=None,
16897    ):
16898        self.filter = filter if filter is not None else ''
16899        '''
16900         A human-readable filter query string.
16901        '''
filter

A human-readable filter query string.

def to_dict(self)
16908    def to_dict(self):
16909        return {
16910            'filter': self.filter,
16911        }
@classmethod
def from_dict(cls, d)
16913    @classmethod
16914    def from_dict(cls, d):
16915        return cls(filter=d.get('filter'), )
class ManagedSecretListResponse:
16918class ManagedSecretListResponse:
16919    '''
16920         ManagedSecretListResponse contains a list of requested Managed Secrets
16921    '''
16922    __slots__ = [
16923        'rate_limit',
16924    ]
16925
16926    def __init__(
16927        self,
16928        rate_limit=None,
16929    ):
16930        self.rate_limit = rate_limit if rate_limit is not None else None
16931        '''
16932         Rate limit information.
16933        '''
16934
16935    def __repr__(self):
16936        return '<sdm.ManagedSecretListResponse ' + \
16937            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16938            '>'
16939
16940    def to_dict(self):
16941        return {
16942            'rate_limit': self.rate_limit,
16943        }
16944
16945    @classmethod
16946    def from_dict(cls, d):
16947        return cls(rate_limit=d.get('rate_limit'), )

ManagedSecretListResponse contains a list of requested Managed Secrets

ManagedSecretListResponse(rate_limit=None)
16926    def __init__(
16927        self,
16928        rate_limit=None,
16929    ):
16930        self.rate_limit = rate_limit if rate_limit is not None else None
16931        '''
16932         Rate limit information.
16933        '''
rate_limit

Rate limit information.

def to_dict(self)
16940    def to_dict(self):
16941        return {
16942            'rate_limit': self.rate_limit,
16943        }
@classmethod
def from_dict(cls, d)
16945    @classmethod
16946    def from_dict(cls, d):
16947        return cls(rate_limit=d.get('rate_limit'), )
class ManagedSecretLog:
16950class ManagedSecretLog:
16951    '''
16952         ManagedSecretLog contains details about action performed against a managed
16953     secret
16954    '''
16955    __slots__ = [
16956        'account_id',
16957        'action',
16958        'created_at',
16959        'debug',
16960        'id',
16961        'managed_secret_id',
16962        'secret_engine_id',
16963    ]
16964
16965    def __init__(
16966        self,
16967        account_id=None,
16968        action=None,
16969        created_at=None,
16970        debug=None,
16971        id=None,
16972        managed_secret_id=None,
16973        secret_engine_id=None,
16974    ):
16975        self.account_id = account_id if account_id is not None else ''
16976        '''
16977         An ID of the account the action was performed by.
16978        '''
16979        self.action = action if action is not None else ''
16980        '''
16981         The action performed by the account against the managed secret.
16982        '''
16983        self.created_at = created_at if created_at is not None else None
16984        '''
16985         Timestamp of when action was performed.
16986        '''
16987        self.debug = debug if debug is not None else ''
16988        '''
16989         Any debug logs associated with the action.
16990        '''
16991        self.id = id if id is not None else ''
16992        '''
16993         Unique identifier of the Managed Secret Log.
16994        '''
16995        self.managed_secret_id = managed_secret_id if managed_secret_id is not None else ''
16996        '''
16997         An ID of the Managed Secret the action was performed against.
16998        '''
16999        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
17000        '''
17001         An ID of the Secret Engine linked with the Managed Secret.
17002        '''
17003
17004    def __repr__(self):
17005        return '<sdm.ManagedSecretLog ' + \
17006            'account_id: ' + repr(self.account_id) + ' ' +\
17007            'action: ' + repr(self.action) + ' ' +\
17008            'created_at: ' + repr(self.created_at) + ' ' +\
17009            'debug: ' + repr(self.debug) + ' ' +\
17010            'id: ' + repr(self.id) + ' ' +\
17011            'managed_secret_id: ' + repr(self.managed_secret_id) + ' ' +\
17012            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
17013            '>'
17014
17015    def to_dict(self):
17016        return {
17017            'account_id': self.account_id,
17018            'action': self.action,
17019            'created_at': self.created_at,
17020            'debug': self.debug,
17021            'id': self.id,
17022            'managed_secret_id': self.managed_secret_id,
17023            'secret_engine_id': self.secret_engine_id,
17024        }
17025
17026    @classmethod
17027    def from_dict(cls, d):
17028        return cls(
17029            account_id=d.get('account_id'),
17030            action=d.get('action'),
17031            created_at=d.get('created_at'),
17032            debug=d.get('debug'),
17033            id=d.get('id'),
17034            managed_secret_id=d.get('managed_secret_id'),
17035            secret_engine_id=d.get('secret_engine_id'),
17036        )

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)
16965    def __init__(
16966        self,
16967        account_id=None,
16968        action=None,
16969        created_at=None,
16970        debug=None,
16971        id=None,
16972        managed_secret_id=None,
16973        secret_engine_id=None,
16974    ):
16975        self.account_id = account_id if account_id is not None else ''
16976        '''
16977         An ID of the account the action was performed by.
16978        '''
16979        self.action = action if action is not None else ''
16980        '''
16981         The action performed by the account against the managed secret.
16982        '''
16983        self.created_at = created_at if created_at is not None else None
16984        '''
16985         Timestamp of when action was performed.
16986        '''
16987        self.debug = debug if debug is not None else ''
16988        '''
16989         Any debug logs associated with the action.
16990        '''
16991        self.id = id if id is not None else ''
16992        '''
16993         Unique identifier of the Managed Secret Log.
16994        '''
16995        self.managed_secret_id = managed_secret_id if managed_secret_id is not None else ''
16996        '''
16997         An ID of the Managed Secret the action was performed against.
16998        '''
16999        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
17000        '''
17001         An ID of the Secret Engine linked with the Managed Secret.
17002        '''
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)
17015    def to_dict(self):
17016        return {
17017            'account_id': self.account_id,
17018            'action': self.action,
17019            'created_at': self.created_at,
17020            'debug': self.debug,
17021            'id': self.id,
17022            'managed_secret_id': self.managed_secret_id,
17023            'secret_engine_id': self.secret_engine_id,
17024        }
@classmethod
def from_dict(cls, d)
17026    @classmethod
17027    def from_dict(cls, d):
17028        return cls(
17029            account_id=d.get('account_id'),
17030            action=d.get('action'),
17031            created_at=d.get('created_at'),
17032            debug=d.get('debug'),
17033            id=d.get('id'),
17034            managed_secret_id=d.get('managed_secret_id'),
17035            secret_engine_id=d.get('secret_engine_id'),
17036        )
class ManagedSecretLogsRequest:
17039class ManagedSecretLogsRequest:
17040    '''
17041         ManagedSecretLogsRequest specifies criteria for retrieving a log of Managed
17042     Secrets actions.
17043    '''
17044    __slots__ = [
17045        'filter',
17046    ]
17047
17048    def __init__(
17049        self,
17050        filter=None,
17051    ):
17052        self.filter = filter if filter is not None else ''
17053        '''
17054         A human-readable filter query string.
17055        '''
17056
17057    def __repr__(self):
17058        return '<sdm.ManagedSecretLogsRequest ' + \
17059            'filter: ' + repr(self.filter) + ' ' +\
17060            '>'
17061
17062    def to_dict(self):
17063        return {
17064            'filter': self.filter,
17065        }
17066
17067    @classmethod
17068    def from_dict(cls, d):
17069        return cls(filter=d.get('filter'), )

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

ManagedSecretLogsRequest(filter=None)
17048    def __init__(
17049        self,
17050        filter=None,
17051    ):
17052        self.filter = filter if filter is not None else ''
17053        '''
17054         A human-readable filter query string.
17055        '''
filter

A human-readable filter query string.

def to_dict(self)
17062    def to_dict(self):
17063        return {
17064            'filter': self.filter,
17065        }
@classmethod
def from_dict(cls, d)
17067    @classmethod
17068    def from_dict(cls, d):
17069        return cls(filter=d.get('filter'), )
class ManagedSecretLogsResponse:
17072class ManagedSecretLogsResponse:
17073    '''
17074         ManagedSecretLogsResponse contains a list of requested Managed Secrets
17075    '''
17076    __slots__ = [
17077        'rate_limit',
17078    ]
17079
17080    def __init__(
17081        self,
17082        rate_limit=None,
17083    ):
17084        self.rate_limit = rate_limit if rate_limit is not None else None
17085        '''
17086         Rate limit information.
17087        '''
17088
17089    def __repr__(self):
17090        return '<sdm.ManagedSecretLogsResponse ' + \
17091            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17092            '>'
17093
17094    def to_dict(self):
17095        return {
17096            'rate_limit': self.rate_limit,
17097        }
17098
17099    @classmethod
17100    def from_dict(cls, d):
17101        return cls(rate_limit=d.get('rate_limit'), )

ManagedSecretLogsResponse contains a list of requested Managed Secrets

ManagedSecretLogsResponse(rate_limit=None)
17080    def __init__(
17081        self,
17082        rate_limit=None,
17083    ):
17084        self.rate_limit = rate_limit if rate_limit is not None else None
17085        '''
17086         Rate limit information.
17087        '''
rate_limit

Rate limit information.

def to_dict(self)
17094    def to_dict(self):
17095        return {
17096            'rate_limit': self.rate_limit,
17097        }
@classmethod
def from_dict(cls, d)
17099    @classmethod
17100    def from_dict(cls, d):
17101        return cls(rate_limit=d.get('rate_limit'), )
class ManagedSecretPasswordPolicy:
17104class ManagedSecretPasswordPolicy:
17105    __slots__ = [
17106        'allow_repeat',
17107        'exclude_characters',
17108        'exclude_upper_case',
17109        'length',
17110        'num_digits',
17111        'num_symbols',
17112    ]
17113
17114    def __init__(
17115        self,
17116        allow_repeat=None,
17117        exclude_characters=None,
17118        exclude_upper_case=None,
17119        length=None,
17120        num_digits=None,
17121        num_symbols=None,
17122    ):
17123        self.allow_repeat = allow_repeat if allow_repeat is not None else False
17124        '''
17125         If set to true allows for consecutive characters to repeat itself
17126        '''
17127        self.exclude_characters = exclude_characters if exclude_characters is not None else ''
17128        '''
17129         Characters to exclude when generating password
17130        '''
17131        self.exclude_upper_case = exclude_upper_case if exclude_upper_case is not None else False
17132        '''
17133         If set to true do not include upper case letters when generating password
17134        '''
17135        self.length = length if length is not None else 0
17136        '''
17137         Password length
17138        '''
17139        self.num_digits = num_digits if num_digits is not None else 0
17140        '''
17141         Numbers of digits to use when generating password
17142        '''
17143        self.num_symbols = num_symbols if num_symbols is not None else 0
17144        '''
17145         Number of symbols to use when generating password
17146        '''
17147
17148    def __repr__(self):
17149        return '<sdm.ManagedSecretPasswordPolicy ' + \
17150            'allow_repeat: ' + repr(self.allow_repeat) + ' ' +\
17151            'exclude_characters: ' + repr(self.exclude_characters) + ' ' +\
17152            'exclude_upper_case: ' + repr(self.exclude_upper_case) + ' ' +\
17153            'length: ' + repr(self.length) + ' ' +\
17154            'num_digits: ' + repr(self.num_digits) + ' ' +\
17155            'num_symbols: ' + repr(self.num_symbols) + ' ' +\
17156            '>'
17157
17158    def to_dict(self):
17159        return {
17160            'allow_repeat': self.allow_repeat,
17161            'exclude_characters': self.exclude_characters,
17162            'exclude_upper_case': self.exclude_upper_case,
17163            'length': self.length,
17164            'num_digits': self.num_digits,
17165            'num_symbols': self.num_symbols,
17166        }
17167
17168    @classmethod
17169    def from_dict(cls, d):
17170        return cls(
17171            allow_repeat=d.get('allow_repeat'),
17172            exclude_characters=d.get('exclude_characters'),
17173            exclude_upper_case=d.get('exclude_upper_case'),
17174            length=d.get('length'),
17175            num_digits=d.get('num_digits'),
17176            num_symbols=d.get('num_symbols'),
17177        )
ManagedSecretPasswordPolicy( allow_repeat=None, exclude_characters=None, exclude_upper_case=None, length=None, num_digits=None, num_symbols=None)
17114    def __init__(
17115        self,
17116        allow_repeat=None,
17117        exclude_characters=None,
17118        exclude_upper_case=None,
17119        length=None,
17120        num_digits=None,
17121        num_symbols=None,
17122    ):
17123        self.allow_repeat = allow_repeat if allow_repeat is not None else False
17124        '''
17125         If set to true allows for consecutive characters to repeat itself
17126        '''
17127        self.exclude_characters = exclude_characters if exclude_characters is not None else ''
17128        '''
17129         Characters to exclude when generating password
17130        '''
17131        self.exclude_upper_case = exclude_upper_case if exclude_upper_case is not None else False
17132        '''
17133         If set to true do not include upper case letters when generating password
17134        '''
17135        self.length = length if length is not None else 0
17136        '''
17137         Password length
17138        '''
17139        self.num_digits = num_digits if num_digits is not None else 0
17140        '''
17141         Numbers of digits to use when generating password
17142        '''
17143        self.num_symbols = num_symbols if num_symbols is not None else 0
17144        '''
17145         Number of symbols to use when generating password
17146        '''
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)
17158    def to_dict(self):
17159        return {
17160            'allow_repeat': self.allow_repeat,
17161            'exclude_characters': self.exclude_characters,
17162            'exclude_upper_case': self.exclude_upper_case,
17163            'length': self.length,
17164            'num_digits': self.num_digits,
17165            'num_symbols': self.num_symbols,
17166        }
@classmethod
def from_dict(cls, d)
17168    @classmethod
17169    def from_dict(cls, d):
17170        return cls(
17171            allow_repeat=d.get('allow_repeat'),
17172            exclude_characters=d.get('exclude_characters'),
17173            exclude_upper_case=d.get('exclude_upper_case'),
17174            length=d.get('length'),
17175            num_digits=d.get('num_digits'),
17176            num_symbols=d.get('num_symbols'),
17177        )
class ManagedSecretPolicy:
17180class ManagedSecretPolicy:
17181    '''
17182         ManagedSecretPolicy contains password and rotation policy for managed secret
17183    '''
17184    __slots__ = [
17185        'password_policy',
17186        'rotation_policy',
17187    ]
17188
17189    def __init__(
17190        self,
17191        password_policy=None,
17192        rotation_policy=None,
17193    ):
17194        self.password_policy = password_policy if password_policy is not None else None
17195        '''
17196         Password policy for a managed secret
17197        '''
17198        self.rotation_policy = rotation_policy if rotation_policy is not None else None
17199        '''
17200         Rotation policy for a managed secret
17201        '''
17202
17203    def __repr__(self):
17204        return '<sdm.ManagedSecretPolicy ' + \
17205            'password_policy: ' + repr(self.password_policy) + ' ' +\
17206            'rotation_policy: ' + repr(self.rotation_policy) + ' ' +\
17207            '>'
17208
17209    def to_dict(self):
17210        return {
17211            'password_policy': self.password_policy,
17212            'rotation_policy': self.rotation_policy,
17213        }
17214
17215    @classmethod
17216    def from_dict(cls, d):
17217        return cls(
17218            password_policy=d.get('password_policy'),
17219            rotation_policy=d.get('rotation_policy'),
17220        )

ManagedSecretPolicy contains password and rotation policy for managed secret

ManagedSecretPolicy(password_policy=None, rotation_policy=None)
17189    def __init__(
17190        self,
17191        password_policy=None,
17192        rotation_policy=None,
17193    ):
17194        self.password_policy = password_policy if password_policy is not None else None
17195        '''
17196         Password policy for a managed secret
17197        '''
17198        self.rotation_policy = rotation_policy if rotation_policy is not None else None
17199        '''
17200         Rotation policy for a managed secret
17201        '''
password_policy

Password policy for a managed secret

rotation_policy

Rotation policy for a managed secret

def to_dict(self)
17209    def to_dict(self):
17210        return {
17211            'password_policy': self.password_policy,
17212            'rotation_policy': self.rotation_policy,
17213        }
@classmethod
def from_dict(cls, d)
17215    @classmethod
17216    def from_dict(cls, d):
17217        return cls(
17218            password_policy=d.get('password_policy'),
17219            rotation_policy=d.get('rotation_policy'),
17220        )
class ManagedSecretRetrieveRequest:
17223class ManagedSecretRetrieveRequest:
17224    '''
17225         ManagedSecretRetrieveRequest specifies which Managed Secret to retrieve
17226    '''
17227    __slots__ = [
17228        'id',
17229        'public_key',
17230    ]
17231
17232    def __init__(
17233        self,
17234        id=None,
17235        public_key=None,
17236    ):
17237        self.id = id if id is not None else ''
17238        '''
17239         The unique identifier of the Managed Secret to retrieve.
17240        '''
17241        self.public_key = public_key if public_key is not None else b''
17242        '''
17243         Public key to encrypt a sensitive value with
17244        '''
17245
17246    def __repr__(self):
17247        return '<sdm.ManagedSecretRetrieveRequest ' + \
17248            'id: ' + repr(self.id) + ' ' +\
17249            'public_key: ' + repr(self.public_key) + ' ' +\
17250            '>'
17251
17252    def to_dict(self):
17253        return {
17254            'id': self.id,
17255            'public_key': self.public_key,
17256        }
17257
17258    @classmethod
17259    def from_dict(cls, d):
17260        return cls(
17261            id=d.get('id'),
17262            public_key=d.get('public_key'),
17263        )

ManagedSecretRetrieveRequest specifies which Managed Secret to retrieve

ManagedSecretRetrieveRequest(id=None, public_key=None)
17232    def __init__(
17233        self,
17234        id=None,
17235        public_key=None,
17236    ):
17237        self.id = id if id is not None else ''
17238        '''
17239         The unique identifier of the Managed Secret to retrieve.
17240        '''
17241        self.public_key = public_key if public_key is not None else b''
17242        '''
17243         Public key to encrypt a sensitive value with
17244        '''
id

The unique identifier of the Managed Secret to retrieve.

public_key

Public key to encrypt a sensitive value with

def to_dict(self)
17252    def to_dict(self):
17253        return {
17254            'id': self.id,
17255            'public_key': self.public_key,
17256        }
@classmethod
def from_dict(cls, d)
17258    @classmethod
17259    def from_dict(cls, d):
17260        return cls(
17261            id=d.get('id'),
17262            public_key=d.get('public_key'),
17263        )
class ManagedSecretRetrieveResponse:
17266class ManagedSecretRetrieveResponse:
17267    '''
17268         ManagedSecretRetrieveResponse contains information about requested Managed
17269     Secret
17270    '''
17271    __slots__ = [
17272        'managed_secret',
17273        'meta',
17274        'rate_limit',
17275    ]
17276
17277    def __init__(
17278        self,
17279        managed_secret=None,
17280        meta=None,
17281        rate_limit=None,
17282    ):
17283        self.managed_secret = managed_secret if managed_secret is not None else None
17284        '''
17285         The requested Managed Secret.
17286        '''
17287        self.meta = meta if meta is not None else None
17288        '''
17289         Reserved for future use.
17290        '''
17291        self.rate_limit = rate_limit if rate_limit is not None else None
17292        '''
17293         Rate limit information.
17294        '''
17295
17296    def __repr__(self):
17297        return '<sdm.ManagedSecretRetrieveResponse ' + \
17298            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
17299            'meta: ' + repr(self.meta) + ' ' +\
17300            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17301            '>'
17302
17303    def to_dict(self):
17304        return {
17305            'managed_secret': self.managed_secret,
17306            'meta': self.meta,
17307            'rate_limit': self.rate_limit,
17308        }
17309
17310    @classmethod
17311    def from_dict(cls, d):
17312        return cls(
17313            managed_secret=d.get('managed_secret'),
17314            meta=d.get('meta'),
17315            rate_limit=d.get('rate_limit'),
17316        )

ManagedSecretRetrieveResponse contains information about requested Managed Secret

ManagedSecretRetrieveResponse(managed_secret=None, meta=None, rate_limit=None)
17277    def __init__(
17278        self,
17279        managed_secret=None,
17280        meta=None,
17281        rate_limit=None,
17282    ):
17283        self.managed_secret = managed_secret if managed_secret is not None else None
17284        '''
17285         The requested Managed Secret.
17286        '''
17287        self.meta = meta if meta is not None else None
17288        '''
17289         Reserved for future use.
17290        '''
17291        self.rate_limit = rate_limit if rate_limit is not None else None
17292        '''
17293         Rate limit information.
17294        '''
managed_secret

The requested Managed Secret.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
17303    def to_dict(self):
17304        return {
17305            'managed_secret': self.managed_secret,
17306            'meta': self.meta,
17307            'rate_limit': self.rate_limit,
17308        }
@classmethod
def from_dict(cls, d)
17310    @classmethod
17311    def from_dict(cls, d):
17312        return cls(
17313            managed_secret=d.get('managed_secret'),
17314            meta=d.get('meta'),
17315            rate_limit=d.get('rate_limit'),
17316        )
class ManagedSecretRotateRequest:
17319class ManagedSecretRotateRequest:
17320    '''
17321         ManagedSecretRotateRequest specifies Managed Secret to rotate
17322    '''
17323    __slots__ = [
17324        'id',
17325    ]
17326
17327    def __init__(
17328        self,
17329        id=None,
17330    ):
17331        self.id = id if id is not None else ''
17332        '''
17333         The unique identifier of the Managed Secret to rotate.
17334        '''
17335
17336    def __repr__(self):
17337        return '<sdm.ManagedSecretRotateRequest ' + \
17338            'id: ' + repr(self.id) + ' ' +\
17339            '>'
17340
17341    def to_dict(self):
17342        return {
17343            'id': self.id,
17344        }
17345
17346    @classmethod
17347    def from_dict(cls, d):
17348        return cls(id=d.get('id'), )

ManagedSecretRotateRequest specifies Managed Secret to rotate

ManagedSecretRotateRequest(id=None)
17327    def __init__(
17328        self,
17329        id=None,
17330    ):
17331        self.id = id if id is not None else ''
17332        '''
17333         The unique identifier of the Managed Secret to rotate.
17334        '''
id

The unique identifier of the Managed Secret to rotate.

def to_dict(self)
17341    def to_dict(self):
17342        return {
17343            'id': self.id,
17344        }
@classmethod
def from_dict(cls, d)
17346    @classmethod
17347    def from_dict(cls, d):
17348        return cls(id=d.get('id'), )
class ManagedSecretRotateResponse:
17351class ManagedSecretRotateResponse:
17352    '''
17353         ManagedSecretRotateResponse contains information about Secret Engine after
17354     successful rotation.
17355    '''
17356    __slots__ = [
17357        'meta',
17358        'rate_limit',
17359    ]
17360
17361    def __init__(
17362        self,
17363        meta=None,
17364        rate_limit=None,
17365    ):
17366        self.meta = meta if meta is not None else None
17367        '''
17368         Reserved for future use.
17369        '''
17370        self.rate_limit = rate_limit if rate_limit is not None else None
17371        '''
17372         Rate limit information.
17373        '''
17374
17375    def __repr__(self):
17376        return '<sdm.ManagedSecretRotateResponse ' + \
17377            'meta: ' + repr(self.meta) + ' ' +\
17378            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17379            '>'
17380
17381    def to_dict(self):
17382        return {
17383            'meta': self.meta,
17384            'rate_limit': self.rate_limit,
17385        }
17386
17387    @classmethod
17388    def from_dict(cls, d):
17389        return cls(
17390            meta=d.get('meta'),
17391            rate_limit=d.get('rate_limit'),
17392        )

ManagedSecretRotateResponse contains information about Secret Engine after successful rotation.

ManagedSecretRotateResponse(meta=None, rate_limit=None)
17361    def __init__(
17362        self,
17363        meta=None,
17364        rate_limit=None,
17365    ):
17366        self.meta = meta if meta is not None else None
17367        '''
17368         Reserved for future use.
17369        '''
17370        self.rate_limit = rate_limit if rate_limit is not None else None
17371        '''
17372         Rate limit information.
17373        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
17381    def to_dict(self):
17382        return {
17383            'meta': self.meta,
17384            'rate_limit': self.rate_limit,
17385        }
@classmethod
def from_dict(cls, d)
17387    @classmethod
17388    def from_dict(cls, d):
17389        return cls(
17390            meta=d.get('meta'),
17391            rate_limit=d.get('rate_limit'),
17392        )
class ManagedSecretRotationPolicy:
17395class ManagedSecretRotationPolicy:
17396    __slots__ = []
17397
17398    def __init__(self, ):
17399        pass
17400
17401    def __repr__(self):
17402        return '<sdm.ManagedSecretRotationPolicy ' + \
17403            '>'
17404
17405    def to_dict(self):
17406        return {}
17407
17408    @classmethod
17409    def from_dict(cls, d):
17410        return cls()
ManagedSecretRotationPolicy()
17398    def __init__(self, ):
17399        pass
def to_dict(self)
17405    def to_dict(self):
17406        return {}
@classmethod
def from_dict(cls, d)
17408    @classmethod
17409    def from_dict(cls, d):
17410        return cls()
class ManagedSecretUpdateRequest:
17413class ManagedSecretUpdateRequest:
17414    '''
17415         ManagedSecretUpdateRequest specifies Managed Secret to update
17416    '''
17417    __slots__ = [
17418        'managed_secret',
17419    ]
17420
17421    def __init__(
17422        self,
17423        managed_secret=None,
17424    ):
17425        self.managed_secret = managed_secret if managed_secret is not None else None
17426        '''
17427         Managed Secret to update
17428        '''
17429
17430    def __repr__(self):
17431        return '<sdm.ManagedSecretUpdateRequest ' + \
17432            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
17433            '>'
17434
17435    def to_dict(self):
17436        return {
17437            'managed_secret': self.managed_secret,
17438        }
17439
17440    @classmethod
17441    def from_dict(cls, d):
17442        return cls(managed_secret=d.get('managed_secret'), )

ManagedSecretUpdateRequest specifies Managed Secret to update

ManagedSecretUpdateRequest(managed_secret=None)
17421    def __init__(
17422        self,
17423        managed_secret=None,
17424    ):
17425        self.managed_secret = managed_secret if managed_secret is not None else None
17426        '''
17427         Managed Secret to update
17428        '''
managed_secret

Managed Secret to update

def to_dict(self)
17435    def to_dict(self):
17436        return {
17437            'managed_secret': self.managed_secret,
17438        }
@classmethod
def from_dict(cls, d)
17440    @classmethod
17441    def from_dict(cls, d):
17442        return cls(managed_secret=d.get('managed_secret'), )
class ManagedSecretUpdateResponse:
17445class ManagedSecretUpdateResponse:
17446    '''
17447         ManagedSecretUpdateResponse contains information about Secret Engine after
17448     successful update.
17449    '''
17450    __slots__ = [
17451        'managed_secret',
17452        'meta',
17453        'rate_limit',
17454    ]
17455
17456    def __init__(
17457        self,
17458        managed_secret=None,
17459        meta=None,
17460        rate_limit=None,
17461    ):
17462        self.managed_secret = managed_secret if managed_secret is not None else None
17463        '''
17464         The requested Managed Secret.
17465        '''
17466        self.meta = meta if meta is not None else None
17467        '''
17468         Reserved for future use.
17469        '''
17470        self.rate_limit = rate_limit if rate_limit is not None else None
17471        '''
17472         Rate limit information.
17473        '''
17474
17475    def __repr__(self):
17476        return '<sdm.ManagedSecretUpdateResponse ' + \
17477            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
17478            'meta: ' + repr(self.meta) + ' ' +\
17479            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17480            '>'
17481
17482    def to_dict(self):
17483        return {
17484            'managed_secret': self.managed_secret,
17485            'meta': self.meta,
17486            'rate_limit': self.rate_limit,
17487        }
17488
17489    @classmethod
17490    def from_dict(cls, d):
17491        return cls(
17492            managed_secret=d.get('managed_secret'),
17493            meta=d.get('meta'),
17494            rate_limit=d.get('rate_limit'),
17495        )

ManagedSecretUpdateResponse contains information about Secret Engine after successful update.

ManagedSecretUpdateResponse(managed_secret=None, meta=None, rate_limit=None)
17456    def __init__(
17457        self,
17458        managed_secret=None,
17459        meta=None,
17460        rate_limit=None,
17461    ):
17462        self.managed_secret = managed_secret if managed_secret is not None else None
17463        '''
17464         The requested Managed Secret.
17465        '''
17466        self.meta = meta if meta is not None else None
17467        '''
17468         Reserved for future use.
17469        '''
17470        self.rate_limit = rate_limit if rate_limit is not None else None
17471        '''
17472         Rate limit information.
17473        '''
managed_secret

The requested Managed Secret.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
17482    def to_dict(self):
17483        return {
17484            'managed_secret': self.managed_secret,
17485            'meta': self.meta,
17486            'rate_limit': self.rate_limit,
17487        }
@classmethod
def from_dict(cls, d)
17489    @classmethod
17490    def from_dict(cls, d):
17491        return cls(
17492            managed_secret=d.get('managed_secret'),
17493            meta=d.get('meta'),
17494            rate_limit=d.get('rate_limit'),
17495        )
class ManagedSecretValidateRequest:
17498class ManagedSecretValidateRequest:
17499    '''
17500         ManagedSecretValidateRequest specifies which Managed Secret to validate
17501    '''
17502    __slots__ = [
17503        'id',
17504    ]
17505
17506    def __init__(
17507        self,
17508        id=None,
17509    ):
17510        self.id = id if id is not None else ''
17511        '''
17512         The unique identifier of the Managed Secret to validate.
17513        '''
17514
17515    def __repr__(self):
17516        return '<sdm.ManagedSecretValidateRequest ' + \
17517            'id: ' + repr(self.id) + ' ' +\
17518            '>'
17519
17520    def to_dict(self):
17521        return {
17522            'id': self.id,
17523        }
17524
17525    @classmethod
17526    def from_dict(cls, d):
17527        return cls(id=d.get('id'), )

ManagedSecretValidateRequest specifies which Managed Secret to validate

ManagedSecretValidateRequest(id=None)
17506    def __init__(
17507        self,
17508        id=None,
17509    ):
17510        self.id = id if id is not None else ''
17511        '''
17512         The unique identifier of the Managed Secret to validate.
17513        '''
id

The unique identifier of the Managed Secret to validate.

def to_dict(self)
17520    def to_dict(self):
17521        return {
17522            'id': self.id,
17523        }
@classmethod
def from_dict(cls, d)
17525    @classmethod
17526    def from_dict(cls, d):
17527        return cls(id=d.get('id'), )
class ManagedSecretValidateResponse:
17530class ManagedSecretValidateResponse:
17531    '''
17532         ManagedSecretValidateResponse contains validity of requested Managed
17533     Secret
17534    '''
17535    __slots__ = [
17536        'invalid_info',
17537        'meta',
17538        'rate_limit',
17539        'valid',
17540    ]
17541
17542    def __init__(
17543        self,
17544        invalid_info=None,
17545        meta=None,
17546        rate_limit=None,
17547        valid=None,
17548    ):
17549        self.invalid_info = invalid_info if invalid_info is not None else ''
17550        '''
17551         Information about why secret is invalid
17552        '''
17553        self.meta = meta if meta is not None else None
17554        '''
17555         Reserved for future use.
17556        '''
17557        self.rate_limit = rate_limit if rate_limit is not None else None
17558        '''
17559         Rate limit information.
17560        '''
17561        self.valid = valid if valid is not None else False
17562        '''
17563         Whether the secret is valid
17564        '''
17565
17566    def __repr__(self):
17567        return '<sdm.ManagedSecretValidateResponse ' + \
17568            'invalid_info: ' + repr(self.invalid_info) + ' ' +\
17569            'meta: ' + repr(self.meta) + ' ' +\
17570            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17571            'valid: ' + repr(self.valid) + ' ' +\
17572            '>'
17573
17574    def to_dict(self):
17575        return {
17576            'invalid_info': self.invalid_info,
17577            'meta': self.meta,
17578            'rate_limit': self.rate_limit,
17579            'valid': self.valid,
17580        }
17581
17582    @classmethod
17583    def from_dict(cls, d):
17584        return cls(
17585            invalid_info=d.get('invalid_info'),
17586            meta=d.get('meta'),
17587            rate_limit=d.get('rate_limit'),
17588            valid=d.get('valid'),
17589        )

ManagedSecretValidateResponse contains validity of requested Managed Secret

ManagedSecretValidateResponse(invalid_info=None, meta=None, rate_limit=None, valid=None)
17542    def __init__(
17543        self,
17544        invalid_info=None,
17545        meta=None,
17546        rate_limit=None,
17547        valid=None,
17548    ):
17549        self.invalid_info = invalid_info if invalid_info is not None else ''
17550        '''
17551         Information about why secret is invalid
17552        '''
17553        self.meta = meta if meta is not None else None
17554        '''
17555         Reserved for future use.
17556        '''
17557        self.rate_limit = rate_limit if rate_limit is not None else None
17558        '''
17559         Rate limit information.
17560        '''
17561        self.valid = valid if valid is not None else False
17562        '''
17563         Whether the secret is valid
17564        '''
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)
17574    def to_dict(self):
17575        return {
17576            'invalid_info': self.invalid_info,
17577            'meta': self.meta,
17578            'rate_limit': self.rate_limit,
17579            'valid': self.valid,
17580        }
@classmethod
def from_dict(cls, d)
17582    @classmethod
17583    def from_dict(cls, d):
17584        return cls(
17585            invalid_info=d.get('invalid_info'),
17586            meta=d.get('meta'),
17587            rate_limit=d.get('rate_limit'),
17588            valid=d.get('valid'),
17589        )
class Maria:
17592class Maria:
17593    __slots__ = [
17594        'bind_interface',
17595        'database',
17596        'egress_filter',
17597        'healthy',
17598        'hostname',
17599        'id',
17600        'name',
17601        'password',
17602        'port',
17603        'port_override',
17604        'proxy_cluster_id',
17605        'require_native_auth',
17606        'secret_store_id',
17607        'subdomain',
17608        'tags',
17609        'use_azure_single_server_usernames',
17610        'username',
17611    ]
17612
17613    def __init__(
17614        self,
17615        bind_interface=None,
17616        database=None,
17617        egress_filter=None,
17618        healthy=None,
17619        hostname=None,
17620        id=None,
17621        name=None,
17622        password=None,
17623        port=None,
17624        port_override=None,
17625        proxy_cluster_id=None,
17626        require_native_auth=None,
17627        secret_store_id=None,
17628        subdomain=None,
17629        tags=None,
17630        use_azure_single_server_usernames=None,
17631        username=None,
17632    ):
17633        self.bind_interface = bind_interface if bind_interface is not None else ''
17634        '''
17635         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
17636        '''
17637        self.database = database if database is not None else ''
17638        '''
17639         The database for healthchecks. Does not affect client requests.
17640        '''
17641        self.egress_filter = egress_filter if egress_filter is not None else ''
17642        '''
17643         A filter applied to the routing logic to pin datasource to nodes.
17644        '''
17645        self.healthy = healthy if healthy is not None else False
17646        '''
17647         True if the datasource is reachable and the credentials are valid.
17648        '''
17649        self.hostname = hostname if hostname is not None else ''
17650        '''
17651         The host to dial to initiate a connection from the egress node to this resource.
17652        '''
17653        self.id = id if id is not None else ''
17654        '''
17655         Unique identifier of the Resource.
17656        '''
17657        self.name = name if name is not None else ''
17658        '''
17659         Unique human-readable name of the Resource.
17660        '''
17661        self.password = password if password is not None else ''
17662        '''
17663         The password to authenticate with.
17664        '''
17665        self.port = port if port is not None else 0
17666        '''
17667         The port to dial to initiate a connection from the egress node to this resource.
17668        '''
17669        self.port_override = port_override if port_override is not None else 0
17670        '''
17671         The local port used by clients to connect to this resource.
17672        '''
17673        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17674        '''
17675         ID of the proxy cluster for this resource, if any.
17676        '''
17677        self.require_native_auth = require_native_auth if require_native_auth is not None else False
17678        '''
17679         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
17680        '''
17681        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17682        '''
17683         ID of the secret store containing credentials for this resource, if any.
17684        '''
17685        self.subdomain = subdomain if subdomain is not None else ''
17686        '''
17687         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
17688        '''
17689        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17690        '''
17691         Tags is a map of key, value pairs.
17692        '''
17693        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
17694        '''
17695         If true, appends the hostname to the username when hitting a database.azure.com address
17696        '''
17697        self.username = username if username is not None else ''
17698        '''
17699         The username to authenticate with.
17700        '''
17701
17702    def __repr__(self):
17703        return '<sdm.Maria ' + \
17704            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
17705            'database: ' + repr(self.database) + ' ' +\
17706            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
17707            'healthy: ' + repr(self.healthy) + ' ' +\
17708            'hostname: ' + repr(self.hostname) + ' ' +\
17709            'id: ' + repr(self.id) + ' ' +\
17710            'name: ' + repr(self.name) + ' ' +\
17711            'password: ' + repr(self.password) + ' ' +\
17712            'port: ' + repr(self.port) + ' ' +\
17713            'port_override: ' + repr(self.port_override) + ' ' +\
17714            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
17715            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
17716            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
17717            'subdomain: ' + repr(self.subdomain) + ' ' +\
17718            'tags: ' + repr(self.tags) + ' ' +\
17719            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
17720            'username: ' + repr(self.username) + ' ' +\
17721            '>'
17722
17723    def to_dict(self):
17724        return {
17725            'bind_interface': self.bind_interface,
17726            'database': self.database,
17727            'egress_filter': self.egress_filter,
17728            'healthy': self.healthy,
17729            'hostname': self.hostname,
17730            'id': self.id,
17731            'name': self.name,
17732            'password': self.password,
17733            'port': self.port,
17734            'port_override': self.port_override,
17735            'proxy_cluster_id': self.proxy_cluster_id,
17736            'require_native_auth': self.require_native_auth,
17737            'secret_store_id': self.secret_store_id,
17738            'subdomain': self.subdomain,
17739            'tags': self.tags,
17740            'use_azure_single_server_usernames':
17741            self.use_azure_single_server_usernames,
17742            'username': self.username,
17743        }
17744
17745    @classmethod
17746    def from_dict(cls, d):
17747        return cls(
17748            bind_interface=d.get('bind_interface'),
17749            database=d.get('database'),
17750            egress_filter=d.get('egress_filter'),
17751            healthy=d.get('healthy'),
17752            hostname=d.get('hostname'),
17753            id=d.get('id'),
17754            name=d.get('name'),
17755            password=d.get('password'),
17756            port=d.get('port'),
17757            port_override=d.get('port_override'),
17758            proxy_cluster_id=d.get('proxy_cluster_id'),
17759            require_native_auth=d.get('require_native_auth'),
17760            secret_store_id=d.get('secret_store_id'),
17761            subdomain=d.get('subdomain'),
17762            tags=d.get('tags'),
17763            use_azure_single_server_usernames=d.get(
17764                'use_azure_single_server_usernames'),
17765            username=d.get('username'),
17766        )
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)
17613    def __init__(
17614        self,
17615        bind_interface=None,
17616        database=None,
17617        egress_filter=None,
17618        healthy=None,
17619        hostname=None,
17620        id=None,
17621        name=None,
17622        password=None,
17623        port=None,
17624        port_override=None,
17625        proxy_cluster_id=None,
17626        require_native_auth=None,
17627        secret_store_id=None,
17628        subdomain=None,
17629        tags=None,
17630        use_azure_single_server_usernames=None,
17631        username=None,
17632    ):
17633        self.bind_interface = bind_interface if bind_interface is not None else ''
17634        '''
17635         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
17636        '''
17637        self.database = database if database is not None else ''
17638        '''
17639         The database for healthchecks. Does not affect client requests.
17640        '''
17641        self.egress_filter = egress_filter if egress_filter is not None else ''
17642        '''
17643         A filter applied to the routing logic to pin datasource to nodes.
17644        '''
17645        self.healthy = healthy if healthy is not None else False
17646        '''
17647         True if the datasource is reachable and the credentials are valid.
17648        '''
17649        self.hostname = hostname if hostname is not None else ''
17650        '''
17651         The host to dial to initiate a connection from the egress node to this resource.
17652        '''
17653        self.id = id if id is not None else ''
17654        '''
17655         Unique identifier of the Resource.
17656        '''
17657        self.name = name if name is not None else ''
17658        '''
17659         Unique human-readable name of the Resource.
17660        '''
17661        self.password = password if password is not None else ''
17662        '''
17663         The password to authenticate with.
17664        '''
17665        self.port = port if port is not None else 0
17666        '''
17667         The port to dial to initiate a connection from the egress node to this resource.
17668        '''
17669        self.port_override = port_override if port_override is not None else 0
17670        '''
17671         The local port used by clients to connect to this resource.
17672        '''
17673        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17674        '''
17675         ID of the proxy cluster for this resource, if any.
17676        '''
17677        self.require_native_auth = require_native_auth if require_native_auth is not None else False
17678        '''
17679         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
17680        '''
17681        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17682        '''
17683         ID of the secret store containing credentials for this resource, if any.
17684        '''
17685        self.subdomain = subdomain if subdomain is not None else ''
17686        '''
17687         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
17688        '''
17689        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17690        '''
17691         Tags is a map of key, value pairs.
17692        '''
17693        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
17694        '''
17695         If true, appends the hostname to the username when hitting a database.azure.com address
17696        '''
17697        self.username = username if username is not None else ''
17698        '''
17699         The username to authenticate with.
17700        '''
bind_interface

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

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

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

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

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

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

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

NodeCreateResponse reports how the Nodes were created in the system.

NodeCreateResponse(meta=None, node=None, rate_limit=None, token=None)
19434    def __init__(
19435        self,
19436        meta=None,
19437        node=None,
19438        rate_limit=None,
19439        token=None,
19440    ):
19441        self.meta = meta if meta is not None else None
19442        '''
19443         Reserved for future use.
19444        '''
19445        self.node = node if node is not None else None
19446        '''
19447         The created Node.
19448        '''
19449        self.rate_limit = rate_limit if rate_limit is not None else None
19450        '''
19451         Rate limit information.
19452        '''
19453        self.token = token if token is not None else ''
19454        '''
19455         The auth token generated for the Node. The Node will use this token to
19456         authenticate with the strongDM API.
19457        '''
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)
19467    def to_dict(self):
19468        return {
19469            'meta': self.meta,
19470            'node': self.node,
19471            'rate_limit': self.rate_limit,
19472            'token': self.token,
19473        }
@classmethod
def from_dict(cls, d)
19475    @classmethod
19476    def from_dict(cls, d):
19477        return cls(
19478            meta=d.get('meta'),
19479            node=d.get('node'),
19480            rate_limit=d.get('rate_limit'),
19481            token=d.get('token'),
19482        )
class NodeDeleteResponse:
19485class NodeDeleteResponse:
19486    '''
19487         NodeDeleteResponse returns information about a Node that was deleted.
19488    '''
19489    __slots__ = [
19490        'meta',
19491        'rate_limit',
19492    ]
19493
19494    def __init__(
19495        self,
19496        meta=None,
19497        rate_limit=None,
19498    ):
19499        self.meta = meta if meta is not None else None
19500        '''
19501         Reserved for future use.
19502        '''
19503        self.rate_limit = rate_limit if rate_limit is not None else None
19504        '''
19505         Rate limit information.
19506        '''
19507
19508    def __repr__(self):
19509        return '<sdm.NodeDeleteResponse ' + \
19510            'meta: ' + repr(self.meta) + ' ' +\
19511            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19512            '>'
19513
19514    def to_dict(self):
19515        return {
19516            'meta': self.meta,
19517            'rate_limit': self.rate_limit,
19518        }
19519
19520    @classmethod
19521    def from_dict(cls, d):
19522        return cls(
19523            meta=d.get('meta'),
19524            rate_limit=d.get('rate_limit'),
19525        )

NodeDeleteResponse returns information about a Node that was deleted.

NodeDeleteResponse(meta=None, rate_limit=None)
19494    def __init__(
19495        self,
19496        meta=None,
19497        rate_limit=None,
19498    ):
19499        self.meta = meta if meta is not None else None
19500        '''
19501         Reserved for future use.
19502        '''
19503        self.rate_limit = rate_limit if rate_limit is not None else None
19504        '''
19505         Rate limit information.
19506        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
19514    def to_dict(self):
19515        return {
19516            'meta': self.meta,
19517            'rate_limit': self.rate_limit,
19518        }
@classmethod
def from_dict(cls, d)
19520    @classmethod
19521    def from_dict(cls, d):
19522        return cls(
19523            meta=d.get('meta'),
19524            rate_limit=d.get('rate_limit'),
19525        )
class NodeGetResponse:
19528class NodeGetResponse:
19529    '''
19530         NodeGetResponse returns a requested Node.
19531    '''
19532    __slots__ = [
19533        'meta',
19534        'node',
19535        'rate_limit',
19536    ]
19537
19538    def __init__(
19539        self,
19540        meta=None,
19541        node=None,
19542        rate_limit=None,
19543    ):
19544        self.meta = meta if meta is not None else None
19545        '''
19546         Reserved for future use.
19547        '''
19548        self.node = node if node is not None else None
19549        '''
19550         The requested Node.
19551        '''
19552        self.rate_limit = rate_limit if rate_limit is not None else None
19553        '''
19554         Rate limit information.
19555        '''
19556
19557    def __repr__(self):
19558        return '<sdm.NodeGetResponse ' + \
19559            'meta: ' + repr(self.meta) + ' ' +\
19560            'node: ' + repr(self.node) + ' ' +\
19561            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19562            '>'
19563
19564    def to_dict(self):
19565        return {
19566            'meta': self.meta,
19567            'node': self.node,
19568            'rate_limit': self.rate_limit,
19569        }
19570
19571    @classmethod
19572    def from_dict(cls, d):
19573        return cls(
19574            meta=d.get('meta'),
19575            node=d.get('node'),
19576            rate_limit=d.get('rate_limit'),
19577        )

NodeGetResponse returns a requested Node.

NodeGetResponse(meta=None, node=None, rate_limit=None)
19538    def __init__(
19539        self,
19540        meta=None,
19541        node=None,
19542        rate_limit=None,
19543    ):
19544        self.meta = meta if meta is not None else None
19545        '''
19546         Reserved for future use.
19547        '''
19548        self.node = node if node is not None else None
19549        '''
19550         The requested Node.
19551        '''
19552        self.rate_limit = rate_limit if rate_limit is not None else None
19553        '''
19554         Rate limit information.
19555        '''
meta

Reserved for future use.

node

The requested Node.

rate_limit

Rate limit information.

def to_dict(self)
19564    def to_dict(self):
19565        return {
19566            'meta': self.meta,
19567            'node': self.node,
19568            'rate_limit': self.rate_limit,
19569        }
@classmethod
def from_dict(cls, d)
19571    @classmethod
19572    def from_dict(cls, d):
19573        return cls(
19574            meta=d.get('meta'),
19575            node=d.get('node'),
19576            rate_limit=d.get('rate_limit'),
19577        )
class NodeHistory:
19580class NodeHistory:
19581    '''
19582         NodeHistory records the state of a Node at a given point in time,
19583     where every change (create, update and delete) to a Node produces an
19584     NodeHistory record.
19585    '''
19586    __slots__ = [
19587        'activity_id',
19588        'deleted_at',
19589        'node',
19590        'timestamp',
19591    ]
19592
19593    def __init__(
19594        self,
19595        activity_id=None,
19596        deleted_at=None,
19597        node=None,
19598        timestamp=None,
19599    ):
19600        self.activity_id = activity_id if activity_id is not None else ''
19601        '''
19602         The unique identifier of the Activity that produced this change to the Node.
19603         May be empty for some system-initiated updates.
19604        '''
19605        self.deleted_at = deleted_at if deleted_at is not None else None
19606        '''
19607         If this Node was deleted, the time it was deleted.
19608        '''
19609        self.node = node if node is not None else None
19610        '''
19611         The complete Node state at this time.
19612        '''
19613        self.timestamp = timestamp if timestamp is not None else None
19614        '''
19615         The time at which the Node state was recorded.
19616        '''
19617
19618    def __repr__(self):
19619        return '<sdm.NodeHistory ' + \
19620            'activity_id: ' + repr(self.activity_id) + ' ' +\
19621            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
19622            'node: ' + repr(self.node) + ' ' +\
19623            'timestamp: ' + repr(self.timestamp) + ' ' +\
19624            '>'
19625
19626    def to_dict(self):
19627        return {
19628            'activity_id': self.activity_id,
19629            'deleted_at': self.deleted_at,
19630            'node': self.node,
19631            'timestamp': self.timestamp,
19632        }
19633
19634    @classmethod
19635    def from_dict(cls, d):
19636        return cls(
19637            activity_id=d.get('activity_id'),
19638            deleted_at=d.get('deleted_at'),
19639            node=d.get('node'),
19640            timestamp=d.get('timestamp'),
19641        )

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)
19593    def __init__(
19594        self,
19595        activity_id=None,
19596        deleted_at=None,
19597        node=None,
19598        timestamp=None,
19599    ):
19600        self.activity_id = activity_id if activity_id is not None else ''
19601        '''
19602         The unique identifier of the Activity that produced this change to the Node.
19603         May be empty for some system-initiated updates.
19604        '''
19605        self.deleted_at = deleted_at if deleted_at is not None else None
19606        '''
19607         If this Node was deleted, the time it was deleted.
19608        '''
19609        self.node = node if node is not None else None
19610        '''
19611         The complete Node state at this time.
19612        '''
19613        self.timestamp = timestamp if timestamp is not None else None
19614        '''
19615         The time at which the Node state was recorded.
19616        '''
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)
19626    def to_dict(self):
19627        return {
19628            'activity_id': self.activity_id,
19629            'deleted_at': self.deleted_at,
19630            'node': self.node,
19631            'timestamp': self.timestamp,
19632        }
@classmethod
def from_dict(cls, d)
19634    @classmethod
19635    def from_dict(cls, d):
19636        return cls(
19637            activity_id=d.get('activity_id'),
19638            deleted_at=d.get('deleted_at'),
19639            node=d.get('node'),
19640            timestamp=d.get('timestamp'),
19641        )
class NodeMaintenanceWindow:
19644class NodeMaintenanceWindow:
19645    __slots__ = [
19646        'cron_schedule',
19647        'require_idleness',
19648    ]
19649
19650    def __init__(
19651        self,
19652        cron_schedule=None,
19653        require_idleness=None,
19654    ):
19655        self.cron_schedule = cron_schedule if cron_schedule is not None else ''
19656        '''
19657         Cron job syntax for when this maintenance window is active. On this schedule, associated
19658         nodes will restart if requested, provided other checks allow the restart to proceed. Times
19659         are represented in UTC.
19660         e.g. * 7 * * 0,6 to check for a restart at every minute from 7:00 to 8:00 UTC on Sunday and
19661         Saturday. Not all possible inputs are supported: the month and day of month selections
19662         must be '*'.
19663        '''
19664        self.require_idleness = require_idleness if require_idleness is not None else False
19665        '''
19666         Require Idleness defines whether this window can sever live connections. If true,
19667         this window will not allow a node to be restarted unless it is serving no connections.
19668         If false, given a restart of the node has been requested (for an update, usually), the
19669         node will restart as soon as it enters an allowed day / hour combination. At least one
19670         maintenance window, out of all configured windows for a node, must have this as false.
19671        '''
19672
19673    def __repr__(self):
19674        return '<sdm.NodeMaintenanceWindow ' + \
19675            'cron_schedule: ' + repr(self.cron_schedule) + ' ' +\
19676            'require_idleness: ' + repr(self.require_idleness) + ' ' +\
19677            '>'
19678
19679    def to_dict(self):
19680        return {
19681            'cron_schedule': self.cron_schedule,
19682            'require_idleness': self.require_idleness,
19683        }
19684
19685    @classmethod
19686    def from_dict(cls, d):
19687        return cls(
19688            cron_schedule=d.get('cron_schedule'),
19689            require_idleness=d.get('require_idleness'),
19690        )
NodeMaintenanceWindow(cron_schedule=None, require_idleness=None)
19650    def __init__(
19651        self,
19652        cron_schedule=None,
19653        require_idleness=None,
19654    ):
19655        self.cron_schedule = cron_schedule if cron_schedule is not None else ''
19656        '''
19657         Cron job syntax for when this maintenance window is active. On this schedule, associated
19658         nodes will restart if requested, provided other checks allow the restart to proceed. Times
19659         are represented in UTC.
19660         e.g. * 7 * * 0,6 to check for a restart at every minute from 7:00 to 8:00 UTC on Sunday and
19661         Saturday. Not all possible inputs are supported: the month and day of month selections
19662         must be '*'.
19663        '''
19664        self.require_idleness = require_idleness if require_idleness is not None else False
19665        '''
19666         Require Idleness defines whether this window can sever live connections. If true,
19667         this window will not allow a node to be restarted unless it is serving no connections.
19668         If false, given a restart of the node has been requested (for an update, usually), the
19669         node will restart as soon as it enters an allowed day / hour combination. At least one
19670         maintenance window, out of all configured windows for a node, must have this as false.
19671        '''
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)
19679    def to_dict(self):
19680        return {
19681            'cron_schedule': self.cron_schedule,
19682            'require_idleness': self.require_idleness,
19683        }
@classmethod
def from_dict(cls, d)
19685    @classmethod
19686    def from_dict(cls, d):
19687        return cls(
19688            cron_schedule=d.get('cron_schedule'),
19689            require_idleness=d.get('require_idleness'),
19690        )
class NodeUpdateResponse:
19693class NodeUpdateResponse:
19694    '''
19695         NodeUpdateResponse returns the fields of a Node after it has been updated by
19696     a NodeUpdateRequest.
19697    '''
19698    __slots__ = [
19699        'meta',
19700        'node',
19701        'rate_limit',
19702    ]
19703
19704    def __init__(
19705        self,
19706        meta=None,
19707        node=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.node = node if node is not None else None
19715        '''
19716         The updated Node.
19717        '''
19718        self.rate_limit = rate_limit if rate_limit is not None else None
19719        '''
19720         Rate limit information.
19721        '''
19722
19723    def __repr__(self):
19724        return '<sdm.NodeUpdateResponse ' + \
19725            'meta: ' + repr(self.meta) + ' ' +\
19726            'node: ' + repr(self.node) + ' ' +\
19727            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19728            '>'
19729
19730    def to_dict(self):
19731        return {
19732            'meta': self.meta,
19733            'node': self.node,
19734            'rate_limit': self.rate_limit,
19735        }
19736
19737    @classmethod
19738    def from_dict(cls, d):
19739        return cls(
19740            meta=d.get('meta'),
19741            node=d.get('node'),
19742            rate_limit=d.get('rate_limit'),
19743        )

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

NodeUpdateResponse(meta=None, node=None, rate_limit=None)
19704    def __init__(
19705        self,
19706        meta=None,
19707        node=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.node = node if node is not None else None
19715        '''
19716         The updated Node.
19717        '''
19718        self.rate_limit = rate_limit if rate_limit is not None else None
19719        '''
19720         Rate limit information.
19721        '''
meta

Reserved for future use.

node

The updated Node.

rate_limit

Rate limit information.

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

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

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

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)
19935    def __init__(
19936        self,
19937        bind_interface=None,
19938        database=None,
19939        egress_filter=None,
19940        healthy=None,
19941        hostname=None,
19942        id=None,
19943        name=None,
19944        password=None,
19945        port=None,
19946        port_override=None,
19947        proxy_cluster_id=None,
19948        secret_store_id=None,
19949        subdomain=None,
19950        tags=None,
19951        username=None,
19952    ):
19953        self.bind_interface = bind_interface if bind_interface is not None else ''
19954        '''
19955         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19956        '''
19957        self.database = database if database is not None else ''
19958        '''
19959         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
19960        '''
19961        self.egress_filter = egress_filter if egress_filter is not None else ''
19962        '''
19963         A filter applied to the routing logic to pin datasource to nodes.
19964        '''
19965        self.healthy = healthy if healthy is not None else False
19966        '''
19967         True if the datasource is reachable and the credentials are valid.
19968        '''
19969        self.hostname = hostname if hostname is not None else ''
19970        '''
19971         The host to dial to initiate a connection from the egress node to this resource.
19972        '''
19973        self.id = id if id is not None else ''
19974        '''
19975         Unique identifier of the Resource.
19976        '''
19977        self.name = name if name is not None else ''
19978        '''
19979         Unique human-readable name of the Resource.
19980        '''
19981        self.password = password if password is not None else ''
19982        '''
19983         The password to authenticate with.
19984        '''
19985        self.port = port if port is not None else 0
19986        '''
19987         The port to dial to initiate a connection from the egress node to this resource.
19988        '''
19989        self.port_override = port_override if port_override is not None else 0
19990        '''
19991         The local port used by clients to connect to this resource.
19992        '''
19993        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19994        '''
19995         ID of the proxy cluster for this resource, if any.
19996        '''
19997        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19998        '''
19999         ID of the secret store containing credentials for this resource, if any.
20000        '''
20001        self.subdomain = subdomain if subdomain is not None else ''
20002        '''
20003         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
20004        '''
20005        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20006        '''
20007         Tags is a map of key, value pairs.
20008        '''
20009        self.username = username if username is not None else ''
20010        '''
20011         The username to authenticate with.
20012        '''
bind_interface

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

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

created_at

The time at which the Organization was created.

device_trust_enabled

Indicates if the Organization has device trust enabled.

device_trust_provider

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

enforce_single_session

Indicates if the Organization enforces a single session per user for the CLI and AdminUI.

idle_timeout

The Organization's idle timeout, if enabled.

idle_timeout_enabled

Indicates if the Organization has idle timeouts enabled.

kind

The Organization's type, one of the OrgKind constants.

log_local_encoder

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

log_local_format

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

log_local_storage

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

log_remote_encoder

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

log_socket_path

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

log_tcp_address

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

loopback_range

The Organization's loopback range.

mfa_enabled

Indicates if the Organization has multi-factor authentication enabled.

mfa_provider

The Organization's multi-factor authentication provider, one of the MFAProvider constants.

name

The Organization's name.

require_secret_store

Indicates if the Organization requires secret stores.

saml_metadata_url

The Organization's URL for SAML metadata.

scim_provider

The Organization's SCIM provider, one of the SCIMProvider constants.

sensitive_label

The Organization's label for sensitive resources.

session_timeout

The Organization's session timeout, if enabled.

session_timeout_enabled

Indicates if the Organization has session timeouts enabled.

ssh_certificate_authority_public_key

The Organization's SSH certificate authority public key.

ssh_certificate_authority_updated_at

The time at which the Organization's SSH certificate authority was last updated.

updated_at

The time at which the Organization was last updated.

websites_subdomain

The Organization's web site domain.

def to_dict(self)
20281    def to_dict(self):
20282        return {
20283            'auth_provider': self.auth_provider,
20284            'created_at': self.created_at,
20285            'device_trust_enabled': self.device_trust_enabled,
20286            'device_trust_provider': self.device_trust_provider,
20287            'enforce_single_session': self.enforce_single_session,
20288            'idle_timeout': self.idle_timeout,
20289            'idle_timeout_enabled': self.idle_timeout_enabled,
20290            'kind': self.kind,
20291            'log_local_encoder': self.log_local_encoder,
20292            'log_local_format': self.log_local_format,
20293            'log_local_storage': self.log_local_storage,
20294            'log_remote_encoder': self.log_remote_encoder,
20295            'log_socket_path': self.log_socket_path,
20296            'log_tcp_address': self.log_tcp_address,
20297            'loopback_range': self.loopback_range,
20298            'mfa_enabled': self.mfa_enabled,
20299            'mfa_provider': self.mfa_provider,
20300            'name': self.name,
20301            'require_secret_store': self.require_secret_store,
20302            'saml_metadata_url': self.saml_metadata_url,
20303            'scim_provider': self.scim_provider,
20304            'sensitive_label': self.sensitive_label,
20305            'session_timeout': self.session_timeout,
20306            'session_timeout_enabled': self.session_timeout_enabled,
20307            'ssh_certificate_authority_public_key':
20308            self.ssh_certificate_authority_public_key,
20309            'ssh_certificate_authority_updated_at':
20310            self.ssh_certificate_authority_updated_at,
20311            'updated_at': self.updated_at,
20312            'websites_subdomain': self.websites_subdomain,
20313        }
@classmethod
def from_dict(cls, d)
20315    @classmethod
20316    def from_dict(cls, d):
20317        return cls(
20318            auth_provider=d.get('auth_provider'),
20319            created_at=d.get('created_at'),
20320            device_trust_enabled=d.get('device_trust_enabled'),
20321            device_trust_provider=d.get('device_trust_provider'),
20322            enforce_single_session=d.get('enforce_single_session'),
20323            idle_timeout=d.get('idle_timeout'),
20324            idle_timeout_enabled=d.get('idle_timeout_enabled'),
20325            kind=d.get('kind'),
20326            log_local_encoder=d.get('log_local_encoder'),
20327            log_local_format=d.get('log_local_format'),
20328            log_local_storage=d.get('log_local_storage'),
20329            log_remote_encoder=d.get('log_remote_encoder'),
20330            log_socket_path=d.get('log_socket_path'),
20331            log_tcp_address=d.get('log_tcp_address'),
20332            loopback_range=d.get('loopback_range'),
20333            mfa_enabled=d.get('mfa_enabled'),
20334            mfa_provider=d.get('mfa_provider'),
20335            name=d.get('name'),
20336            require_secret_store=d.get('require_secret_store'),
20337            saml_metadata_url=d.get('saml_metadata_url'),
20338            scim_provider=d.get('scim_provider'),
20339            sensitive_label=d.get('sensitive_label'),
20340            session_timeout=d.get('session_timeout'),
20341            session_timeout_enabled=d.get('session_timeout_enabled'),
20342            ssh_certificate_authority_public_key=d.get(
20343                'ssh_certificate_authority_public_key'),
20344            ssh_certificate_authority_updated_at=d.get(
20345                'ssh_certificate_authority_updated_at'),
20346            updated_at=d.get('updated_at'),
20347            websites_subdomain=d.get('websites_subdomain'),
20348        )
class OrganizationHistoryRecord:
20351class OrganizationHistoryRecord:
20352    '''
20353         OrganizationHistoryRecord records the state of an Organization at a given point in time,
20354     where every change to an Organization produces an OrganizationHistoryRecord.
20355    '''
20356    __slots__ = [
20357        'activity_id',
20358        'organization',
20359        'timestamp',
20360    ]
20361
20362    def __init__(
20363        self,
20364        activity_id=None,
20365        organization=None,
20366        timestamp=None,
20367    ):
20368        self.activity_id = activity_id if activity_id is not None else ''
20369        '''
20370         The unique identifier of the Activity that produced this change to the Organization.
20371         May be empty for some system-initiated organization updates.
20372        '''
20373        self.organization = organization if organization is not None else None
20374        '''
20375         The complete Organization state at this time.
20376        '''
20377        self.timestamp = timestamp if timestamp is not None else None
20378        '''
20379         The time at which the Organization state was recorded.
20380        '''
20381
20382    def __repr__(self):
20383        return '<sdm.OrganizationHistoryRecord ' + \
20384            'activity_id: ' + repr(self.activity_id) + ' ' +\
20385            'organization: ' + repr(self.organization) + ' ' +\
20386            'timestamp: ' + repr(self.timestamp) + ' ' +\
20387            '>'
20388
20389    def to_dict(self):
20390        return {
20391            'activity_id': self.activity_id,
20392            'organization': self.organization,
20393            'timestamp': self.timestamp,
20394        }
20395
20396    @classmethod
20397    def from_dict(cls, d):
20398        return cls(
20399            activity_id=d.get('activity_id'),
20400            organization=d.get('organization'),
20401            timestamp=d.get('timestamp'),
20402        )

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)
20362    def __init__(
20363        self,
20364        activity_id=None,
20365        organization=None,
20366        timestamp=None,
20367    ):
20368        self.activity_id = activity_id if activity_id is not None else ''
20369        '''
20370         The unique identifier of the Activity that produced this change to the Organization.
20371         May be empty for some system-initiated organization updates.
20372        '''
20373        self.organization = organization if organization is not None else None
20374        '''
20375         The complete Organization state at this time.
20376        '''
20377        self.timestamp = timestamp if timestamp is not None else None
20378        '''
20379         The time at which the Organization state was recorded.
20380        '''
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)
20389    def to_dict(self):
20390        return {
20391            'activity_id': self.activity_id,
20392            'organization': self.organization,
20393            'timestamp': self.timestamp,
20394        }
@classmethod
def from_dict(cls, d)
20396    @classmethod
20397    def from_dict(cls, d):
20398        return cls(
20399            activity_id=d.get('activity_id'),
20400            organization=d.get('organization'),
20401            timestamp=d.get('timestamp'),
20402        )
class PeeringGroup:
20405class PeeringGroup:
20406    '''
20407         PeeringGroups are the building blocks used for explicit network topology making.
20408     They may be linked to other peering groups. Sets of PeeringGroupResource and PeeringGroupNode can be attached to a peering group.
20409    '''
20410    __slots__ = [
20411        'id',
20412        'name',
20413    ]
20414
20415    def __init__(
20416        self,
20417        id=None,
20418        name=None,
20419    ):
20420        self.id = id if id is not None else ''
20421        '''
20422         Unique identifier of the PeeringGroup.
20423        '''
20424        self.name = name if name is not None else ''
20425        '''
20426         Unique human-readable name of the PeeringGroup.
20427        '''
20428
20429    def __repr__(self):
20430        return '<sdm.PeeringGroup ' + \
20431            'id: ' + repr(self.id) + ' ' +\
20432            'name: ' + repr(self.name) + ' ' +\
20433            '>'
20434
20435    def to_dict(self):
20436        return {
20437            'id': self.id,
20438            'name': self.name,
20439        }
20440
20441    @classmethod
20442    def from_dict(cls, d):
20443        return cls(
20444            id=d.get('id'),
20445            name=d.get('name'),
20446        )

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)
20415    def __init__(
20416        self,
20417        id=None,
20418        name=None,
20419    ):
20420        self.id = id if id is not None else ''
20421        '''
20422         Unique identifier of the PeeringGroup.
20423        '''
20424        self.name = name if name is not None else ''
20425        '''
20426         Unique human-readable name of the PeeringGroup.
20427        '''
id

Unique identifier of the PeeringGroup.

name

Unique human-readable name of the PeeringGroup.

def to_dict(self)
20435    def to_dict(self):
20436        return {
20437            'id': self.id,
20438            'name': self.name,
20439        }
@classmethod
def from_dict(cls, d)
20441    @classmethod
20442    def from_dict(cls, d):
20443        return cls(
20444            id=d.get('id'),
20445            name=d.get('name'),
20446        )
class PeeringGroupCreateResponse:
20449class PeeringGroupCreateResponse:
20450    '''
20451         PeeringGroupCreateResponse reports how the PeeringGroup was created in the system.
20452    '''
20453    __slots__ = [
20454        'meta',
20455        'peering_group',
20456        'rate_limit',
20457    ]
20458
20459    def __init__(
20460        self,
20461        meta=None,
20462        peering_group=None,
20463        rate_limit=None,
20464    ):
20465        self.meta = meta if meta is not None else None
20466        '''
20467         Reserved for future use.
20468        '''
20469        self.peering_group = peering_group if peering_group is not None else None
20470        '''
20471         The created PeeringGroup.
20472        '''
20473        self.rate_limit = rate_limit if rate_limit is not None else None
20474        '''
20475         Rate limit information.
20476        '''
20477
20478    def __repr__(self):
20479        return '<sdm.PeeringGroupCreateResponse ' + \
20480            'meta: ' + repr(self.meta) + ' ' +\
20481            'peering_group: ' + repr(self.peering_group) + ' ' +\
20482            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20483            '>'
20484
20485    def to_dict(self):
20486        return {
20487            'meta': self.meta,
20488            'peering_group': self.peering_group,
20489            'rate_limit': self.rate_limit,
20490        }
20491
20492    @classmethod
20493    def from_dict(cls, d):
20494        return cls(
20495            meta=d.get('meta'),
20496            peering_group=d.get('peering_group'),
20497            rate_limit=d.get('rate_limit'),
20498        )

PeeringGroupCreateResponse reports how the PeeringGroup was created in the system.

PeeringGroupCreateResponse(meta=None, peering_group=None, rate_limit=None)
20459    def __init__(
20460        self,
20461        meta=None,
20462        peering_group=None,
20463        rate_limit=None,
20464    ):
20465        self.meta = meta if meta is not None else None
20466        '''
20467         Reserved for future use.
20468        '''
20469        self.peering_group = peering_group if peering_group is not None else None
20470        '''
20471         The created PeeringGroup.
20472        '''
20473        self.rate_limit = rate_limit if rate_limit is not None else None
20474        '''
20475         Rate limit information.
20476        '''
meta

Reserved for future use.

peering_group

The created PeeringGroup.

rate_limit

Rate limit information.

def to_dict(self)
20485    def to_dict(self):
20486        return {
20487            'meta': self.meta,
20488            'peering_group': self.peering_group,
20489            'rate_limit': self.rate_limit,
20490        }
@classmethod
def from_dict(cls, d)
20492    @classmethod
20493    def from_dict(cls, d):
20494        return cls(
20495            meta=d.get('meta'),
20496            peering_group=d.get('peering_group'),
20497            rate_limit=d.get('rate_limit'),
20498        )
class PeeringGroupDeleteResponse:
20501class PeeringGroupDeleteResponse:
20502    '''
20503         PeeringGroupDeleteResponse returns information about a PeeringGroup that was deleted.
20504    '''
20505    __slots__ = [
20506        'meta',
20507        'rate_limit',
20508    ]
20509
20510    def __init__(
20511        self,
20512        meta=None,
20513        rate_limit=None,
20514    ):
20515        self.meta = meta if meta is not None else None
20516        '''
20517         Reserved for future use.
20518        '''
20519        self.rate_limit = rate_limit if rate_limit is not None else None
20520        '''
20521         Rate limit information.
20522        '''
20523
20524    def __repr__(self):
20525        return '<sdm.PeeringGroupDeleteResponse ' + \
20526            'meta: ' + repr(self.meta) + ' ' +\
20527            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20528            '>'
20529
20530    def to_dict(self):
20531        return {
20532            'meta': self.meta,
20533            'rate_limit': self.rate_limit,
20534        }
20535
20536    @classmethod
20537    def from_dict(cls, d):
20538        return cls(
20539            meta=d.get('meta'),
20540            rate_limit=d.get('rate_limit'),
20541        )

PeeringGroupDeleteResponse returns information about a PeeringGroup that was deleted.

PeeringGroupDeleteResponse(meta=None, rate_limit=None)
20510    def __init__(
20511        self,
20512        meta=None,
20513        rate_limit=None,
20514    ):
20515        self.meta = meta if meta is not None else None
20516        '''
20517         Reserved for future use.
20518        '''
20519        self.rate_limit = rate_limit if rate_limit is not None else None
20520        '''
20521         Rate limit information.
20522        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
20530    def to_dict(self):
20531        return {
20532            'meta': self.meta,
20533            'rate_limit': self.rate_limit,
20534        }
@classmethod
def from_dict(cls, d)
20536    @classmethod
20537    def from_dict(cls, d):
20538        return cls(
20539            meta=d.get('meta'),
20540            rate_limit=d.get('rate_limit'),
20541        )
class PeeringGroupGetResponse:
20544class PeeringGroupGetResponse:
20545    '''
20546         PeeringGroupGetResponse returns a requested PeeringGroup.
20547    '''
20548    __slots__ = [
20549        'meta',
20550        'peering_group',
20551        'rate_limit',
20552    ]
20553
20554    def __init__(
20555        self,
20556        meta=None,
20557        peering_group=None,
20558        rate_limit=None,
20559    ):
20560        self.meta = meta if meta is not None else None
20561        '''
20562         Reserved for future use.
20563        '''
20564        self.peering_group = peering_group if peering_group is not None else None
20565        '''
20566         The requested PeeringGroup.
20567        '''
20568        self.rate_limit = rate_limit if rate_limit is not None else None
20569        '''
20570         Rate limit information.
20571        '''
20572
20573    def __repr__(self):
20574        return '<sdm.PeeringGroupGetResponse ' + \
20575            'meta: ' + repr(self.meta) + ' ' +\
20576            'peering_group: ' + repr(self.peering_group) + ' ' +\
20577            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20578            '>'
20579
20580    def to_dict(self):
20581        return {
20582            'meta': self.meta,
20583            'peering_group': self.peering_group,
20584            'rate_limit': self.rate_limit,
20585        }
20586
20587    @classmethod
20588    def from_dict(cls, d):
20589        return cls(
20590            meta=d.get('meta'),
20591            peering_group=d.get('peering_group'),
20592            rate_limit=d.get('rate_limit'),
20593        )

PeeringGroupGetResponse returns a requested PeeringGroup.

PeeringGroupGetResponse(meta=None, peering_group=None, rate_limit=None)
20554    def __init__(
20555        self,
20556        meta=None,
20557        peering_group=None,
20558        rate_limit=None,
20559    ):
20560        self.meta = meta if meta is not None else None
20561        '''
20562         Reserved for future use.
20563        '''
20564        self.peering_group = peering_group if peering_group is not None else None
20565        '''
20566         The requested PeeringGroup.
20567        '''
20568        self.rate_limit = rate_limit if rate_limit is not None else None
20569        '''
20570         Rate limit information.
20571        '''
meta

Reserved for future use.

peering_group

The requested PeeringGroup.

rate_limit

Rate limit information.

def to_dict(self)
20580    def to_dict(self):
20581        return {
20582            'meta': self.meta,
20583            'peering_group': self.peering_group,
20584            'rate_limit': self.rate_limit,
20585        }
@classmethod
def from_dict(cls, d)
20587    @classmethod
20588    def from_dict(cls, d):
20589        return cls(
20590            meta=d.get('meta'),
20591            peering_group=d.get('peering_group'),
20592            rate_limit=d.get('rate_limit'),
20593        )
class PeeringGroupNode:
20596class PeeringGroupNode:
20597    '''
20598         PeeringGroupNode represents the attachment between a PeeringGroup and a Node.
20599    '''
20600    __slots__ = [
20601        'group_id',
20602        'id',
20603        'node_id',
20604    ]
20605
20606    def __init__(
20607        self,
20608        group_id=None,
20609        id=None,
20610        node_id=None,
20611    ):
20612        self.group_id = group_id if group_id is not None else ''
20613        '''
20614         Peering Group ID to which the node will be attached to.
20615        '''
20616        self.id = id if id is not None else ''
20617        '''
20618         Unique identifier of the Attachment.
20619        '''
20620        self.node_id = node_id if node_id is not None else ''
20621        '''
20622         Node ID to be attached.
20623        '''
20624
20625    def __repr__(self):
20626        return '<sdm.PeeringGroupNode ' + \
20627            'group_id: ' + repr(self.group_id) + ' ' +\
20628            'id: ' + repr(self.id) + ' ' +\
20629            'node_id: ' + repr(self.node_id) + ' ' +\
20630            '>'
20631
20632    def to_dict(self):
20633        return {
20634            'group_id': self.group_id,
20635            'id': self.id,
20636            'node_id': self.node_id,
20637        }
20638
20639    @classmethod
20640    def from_dict(cls, d):
20641        return cls(
20642            group_id=d.get('group_id'),
20643            id=d.get('id'),
20644            node_id=d.get('node_id'),
20645        )

PeeringGroupNode represents the attachment between a PeeringGroup and a Node.

PeeringGroupNode(group_id=None, id=None, node_id=None)
20606    def __init__(
20607        self,
20608        group_id=None,
20609        id=None,
20610        node_id=None,
20611    ):
20612        self.group_id = group_id if group_id is not None else ''
20613        '''
20614         Peering Group ID to which the node will be attached to.
20615        '''
20616        self.id = id if id is not None else ''
20617        '''
20618         Unique identifier of the Attachment.
20619        '''
20620        self.node_id = node_id if node_id is not None else ''
20621        '''
20622         Node ID to be attached.
20623        '''
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)
20632    def to_dict(self):
20633        return {
20634            'group_id': self.group_id,
20635            'id': self.id,
20636            'node_id': self.node_id,
20637        }
@classmethod
def from_dict(cls, d)
20639    @classmethod
20640    def from_dict(cls, d):
20641        return cls(
20642            group_id=d.get('group_id'),
20643            id=d.get('id'),
20644            node_id=d.get('node_id'),
20645        )
class PeeringGroupNodeCreateResponse:
20648class PeeringGroupNodeCreateResponse:
20649    '''
20650         PeeringGroupNodeCreateResponse reports how the PeeringGroupNode was created in the system.
20651    '''
20652    __slots__ = [
20653        'meta',
20654        'peering_group_node',
20655        'rate_limit',
20656    ]
20657
20658    def __init__(
20659        self,
20660        meta=None,
20661        peering_group_node=None,
20662        rate_limit=None,
20663    ):
20664        self.meta = meta if meta is not None else None
20665        '''
20666         Reserved for future use.
20667        '''
20668        self.peering_group_node = peering_group_node if peering_group_node is not None else None
20669        '''
20670         The created PeeringGroupNode.
20671        '''
20672        self.rate_limit = rate_limit if rate_limit is not None else None
20673        '''
20674         Rate limit information.
20675        '''
20676
20677    def __repr__(self):
20678        return '<sdm.PeeringGroupNodeCreateResponse ' + \
20679            'meta: ' + repr(self.meta) + ' ' +\
20680            'peering_group_node: ' + repr(self.peering_group_node) + ' ' +\
20681            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20682            '>'
20683
20684    def to_dict(self):
20685        return {
20686            'meta': self.meta,
20687            'peering_group_node': self.peering_group_node,
20688            'rate_limit': self.rate_limit,
20689        }
20690
20691    @classmethod
20692    def from_dict(cls, d):
20693        return cls(
20694            meta=d.get('meta'),
20695            peering_group_node=d.get('peering_group_node'),
20696            rate_limit=d.get('rate_limit'),
20697        )

PeeringGroupNodeCreateResponse reports how the PeeringGroupNode was created in the system.

PeeringGroupNodeCreateResponse(meta=None, peering_group_node=None, rate_limit=None)
20658    def __init__(
20659        self,
20660        meta=None,
20661        peering_group_node=None,
20662        rate_limit=None,
20663    ):
20664        self.meta = meta if meta is not None else None
20665        '''
20666         Reserved for future use.
20667        '''
20668        self.peering_group_node = peering_group_node if peering_group_node is not None else None
20669        '''
20670         The created PeeringGroupNode.
20671        '''
20672        self.rate_limit = rate_limit if rate_limit is not None else None
20673        '''
20674         Rate limit information.
20675        '''
meta

Reserved for future use.

peering_group_node

The created PeeringGroupNode.

rate_limit

Rate limit information.

def to_dict(self)
20684    def to_dict(self):
20685        return {
20686            'meta': self.meta,
20687            'peering_group_node': self.peering_group_node,
20688            'rate_limit': self.rate_limit,
20689        }
@classmethod
def from_dict(cls, d)
20691    @classmethod
20692    def from_dict(cls, d):
20693        return cls(
20694            meta=d.get('meta'),
20695            peering_group_node=d.get('peering_group_node'),
20696            rate_limit=d.get('rate_limit'),
20697        )
class PeeringGroupNodeDeleteResponse:
20700class PeeringGroupNodeDeleteResponse:
20701    '''
20702         PeeringGroupNodeDeleteResponse returns information about a PeeringGroupNode that was deleted.
20703    '''
20704    __slots__ = [
20705        'meta',
20706        'rate_limit',
20707    ]
20708
20709    def __init__(
20710        self,
20711        meta=None,
20712        rate_limit=None,
20713    ):
20714        self.meta = meta if meta is not None else None
20715        '''
20716         Reserved for future use.
20717        '''
20718        self.rate_limit = rate_limit if rate_limit is not None else None
20719        '''
20720         Rate limit information.
20721        '''
20722
20723    def __repr__(self):
20724        return '<sdm.PeeringGroupNodeDeleteResponse ' + \
20725            'meta: ' + repr(self.meta) + ' ' +\
20726            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20727            '>'
20728
20729    def to_dict(self):
20730        return {
20731            'meta': self.meta,
20732            'rate_limit': self.rate_limit,
20733        }
20734
20735    @classmethod
20736    def from_dict(cls, d):
20737        return cls(
20738            meta=d.get('meta'),
20739            rate_limit=d.get('rate_limit'),
20740        )

PeeringGroupNodeDeleteResponse returns information about a PeeringGroupNode that was deleted.

PeeringGroupNodeDeleteResponse(meta=None, rate_limit=None)
20709    def __init__(
20710        self,
20711        meta=None,
20712        rate_limit=None,
20713    ):
20714        self.meta = meta if meta is not None else None
20715        '''
20716         Reserved for future use.
20717        '''
20718        self.rate_limit = rate_limit if rate_limit is not None else None
20719        '''
20720         Rate limit information.
20721        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
20729    def to_dict(self):
20730        return {
20731            'meta': self.meta,
20732            'rate_limit': self.rate_limit,
20733        }
@classmethod
def from_dict(cls, d)
20735    @classmethod
20736    def from_dict(cls, d):
20737        return cls(
20738            meta=d.get('meta'),
20739            rate_limit=d.get('rate_limit'),
20740        )
class PeeringGroupNodeGetResponse:
20743class PeeringGroupNodeGetResponse:
20744    '''
20745         PeeringGroupNodeGetResponse returns a requested PeeringGroupNode.
20746    '''
20747    __slots__ = [
20748        'meta',
20749        'peering_group_node',
20750        'rate_limit',
20751    ]
20752
20753    def __init__(
20754        self,
20755        meta=None,
20756        peering_group_node=None,
20757        rate_limit=None,
20758    ):
20759        self.meta = meta if meta is not None else None
20760        '''
20761         Reserved for future use.
20762        '''
20763        self.peering_group_node = peering_group_node if peering_group_node is not None else None
20764        '''
20765         The requested PeeringGroupNode.
20766        '''
20767        self.rate_limit = rate_limit if rate_limit is not None else None
20768        '''
20769         Rate limit information.
20770        '''
20771
20772    def __repr__(self):
20773        return '<sdm.PeeringGroupNodeGetResponse ' + \
20774            'meta: ' + repr(self.meta) + ' ' +\
20775            'peering_group_node: ' + repr(self.peering_group_node) + ' ' +\
20776            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20777            '>'
20778
20779    def to_dict(self):
20780        return {
20781            'meta': self.meta,
20782            'peering_group_node': self.peering_group_node,
20783            'rate_limit': self.rate_limit,
20784        }
20785
20786    @classmethod
20787    def from_dict(cls, d):
20788        return cls(
20789            meta=d.get('meta'),
20790            peering_group_node=d.get('peering_group_node'),
20791            rate_limit=d.get('rate_limit'),
20792        )

PeeringGroupNodeGetResponse returns a requested PeeringGroupNode.

PeeringGroupNodeGetResponse(meta=None, peering_group_node=None, rate_limit=None)
20753    def __init__(
20754        self,
20755        meta=None,
20756        peering_group_node=None,
20757        rate_limit=None,
20758    ):
20759        self.meta = meta if meta is not None else None
20760        '''
20761         Reserved for future use.
20762        '''
20763        self.peering_group_node = peering_group_node if peering_group_node is not None else None
20764        '''
20765         The requested PeeringGroupNode.
20766        '''
20767        self.rate_limit = rate_limit if rate_limit is not None else None
20768        '''
20769         Rate limit information.
20770        '''
meta

Reserved for future use.

peering_group_node

The requested PeeringGroupNode.

rate_limit

Rate limit information.

def to_dict(self)
20779    def to_dict(self):
20780        return {
20781            'meta': self.meta,
20782            'peering_group_node': self.peering_group_node,
20783            'rate_limit': self.rate_limit,
20784        }
@classmethod
def from_dict(cls, d)
20786    @classmethod
20787    def from_dict(cls, d):
20788        return cls(
20789            meta=d.get('meta'),
20790            peering_group_node=d.get('peering_group_node'),
20791            rate_limit=d.get('rate_limit'),
20792        )
class PeeringGroupPeer:
20795class PeeringGroupPeer:
20796    '''
20797         PeeringGroupPeer represents the link between two PeeringGroups
20798    '''
20799    __slots__ = [
20800        'group_id',
20801        'id',
20802        'peers_with_group_id',
20803    ]
20804
20805    def __init__(
20806        self,
20807        group_id=None,
20808        id=None,
20809        peers_with_group_id=None,
20810    ):
20811        self.group_id = group_id if group_id is not None else ''
20812        '''
20813         Group ID from which the link will originate.
20814        '''
20815        self.id = id if id is not None else ''
20816        '''
20817         Unique identifier of the Attachment.
20818        '''
20819        self.peers_with_group_id = peers_with_group_id if peers_with_group_id is not None else ''
20820        '''
20821         Peering Group ID to which Group ID will link.
20822        '''
20823
20824    def __repr__(self):
20825        return '<sdm.PeeringGroupPeer ' + \
20826            'group_id: ' + repr(self.group_id) + ' ' +\
20827            'id: ' + repr(self.id) + ' ' +\
20828            'peers_with_group_id: ' + repr(self.peers_with_group_id) + ' ' +\
20829            '>'
20830
20831    def to_dict(self):
20832        return {
20833            'group_id': self.group_id,
20834            'id': self.id,
20835            'peers_with_group_id': self.peers_with_group_id,
20836        }
20837
20838    @classmethod
20839    def from_dict(cls, d):
20840        return cls(
20841            group_id=d.get('group_id'),
20842            id=d.get('id'),
20843            peers_with_group_id=d.get('peers_with_group_id'),
20844        )

PeeringGroupPeer represents the link between two PeeringGroups

PeeringGroupPeer(group_id=None, id=None, peers_with_group_id=None)
20805    def __init__(
20806        self,
20807        group_id=None,
20808        id=None,
20809        peers_with_group_id=None,
20810    ):
20811        self.group_id = group_id if group_id is not None else ''
20812        '''
20813         Group ID from which the link will originate.
20814        '''
20815        self.id = id if id is not None else ''
20816        '''
20817         Unique identifier of the Attachment.
20818        '''
20819        self.peers_with_group_id = peers_with_group_id if peers_with_group_id is not None else ''
20820        '''
20821         Peering Group ID to which Group ID will link.
20822        '''
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)
20831    def to_dict(self):
20832        return {
20833            'group_id': self.group_id,
20834            'id': self.id,
20835            'peers_with_group_id': self.peers_with_group_id,
20836        }
@classmethod
def from_dict(cls, d)
20838    @classmethod
20839    def from_dict(cls, d):
20840        return cls(
20841            group_id=d.get('group_id'),
20842            id=d.get('id'),
20843            peers_with_group_id=d.get('peers_with_group_id'),
20844        )
class PeeringGroupPeerCreateResponse:
20847class PeeringGroupPeerCreateResponse:
20848    '''
20849         PeeringGroupPeerCreateResponse reports how the PeeringGroupPeer was created in the system.
20850    '''
20851    __slots__ = [
20852        'meta',
20853        'peering_group_peer',
20854        'rate_limit',
20855    ]
20856
20857    def __init__(
20858        self,
20859        meta=None,
20860        peering_group_peer=None,
20861        rate_limit=None,
20862    ):
20863        self.meta = meta if meta is not None else None
20864        '''
20865         Reserved for future use.
20866        '''
20867        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
20868        '''
20869         The created PeeringGroupPeer.
20870        '''
20871        self.rate_limit = rate_limit if rate_limit is not None else None
20872        '''
20873         Rate limit information.
20874        '''
20875
20876    def __repr__(self):
20877        return '<sdm.PeeringGroupPeerCreateResponse ' + \
20878            'meta: ' + repr(self.meta) + ' ' +\
20879            'peering_group_peer: ' + repr(self.peering_group_peer) + ' ' +\
20880            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20881            '>'
20882
20883    def to_dict(self):
20884        return {
20885            'meta': self.meta,
20886            'peering_group_peer': self.peering_group_peer,
20887            'rate_limit': self.rate_limit,
20888        }
20889
20890    @classmethod
20891    def from_dict(cls, d):
20892        return cls(
20893            meta=d.get('meta'),
20894            peering_group_peer=d.get('peering_group_peer'),
20895            rate_limit=d.get('rate_limit'),
20896        )

PeeringGroupPeerCreateResponse reports how the PeeringGroupPeer was created in the system.

PeeringGroupPeerCreateResponse(meta=None, peering_group_peer=None, rate_limit=None)
20857    def __init__(
20858        self,
20859        meta=None,
20860        peering_group_peer=None,
20861        rate_limit=None,
20862    ):
20863        self.meta = meta if meta is not None else None
20864        '''
20865         Reserved for future use.
20866        '''
20867        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
20868        '''
20869         The created PeeringGroupPeer.
20870        '''
20871        self.rate_limit = rate_limit if rate_limit is not None else None
20872        '''
20873         Rate limit information.
20874        '''
meta

Reserved for future use.

peering_group_peer

The created PeeringGroupPeer.

rate_limit

Rate limit information.

def to_dict(self)
20883    def to_dict(self):
20884        return {
20885            'meta': self.meta,
20886            'peering_group_peer': self.peering_group_peer,
20887            'rate_limit': self.rate_limit,
20888        }
@classmethod
def from_dict(cls, d)
20890    @classmethod
20891    def from_dict(cls, d):
20892        return cls(
20893            meta=d.get('meta'),
20894            peering_group_peer=d.get('peering_group_peer'),
20895            rate_limit=d.get('rate_limit'),
20896        )
class PeeringGroupPeerDeleteResponse:
20899class PeeringGroupPeerDeleteResponse:
20900    '''
20901         PeeringGroupPeerDeleteResponse returns information about a PeeringGroupPeer that was deleted.
20902    '''
20903    __slots__ = [
20904        'meta',
20905        'rate_limit',
20906    ]
20907
20908    def __init__(
20909        self,
20910        meta=None,
20911        rate_limit=None,
20912    ):
20913        self.meta = meta if meta is not None else None
20914        '''
20915         Reserved for future use.
20916        '''
20917        self.rate_limit = rate_limit if rate_limit is not None else None
20918        '''
20919         Rate limit information.
20920        '''
20921
20922    def __repr__(self):
20923        return '<sdm.PeeringGroupPeerDeleteResponse ' + \
20924            'meta: ' + repr(self.meta) + ' ' +\
20925            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20926            '>'
20927
20928    def to_dict(self):
20929        return {
20930            'meta': self.meta,
20931            'rate_limit': self.rate_limit,
20932        }
20933
20934    @classmethod
20935    def from_dict(cls, d):
20936        return cls(
20937            meta=d.get('meta'),
20938            rate_limit=d.get('rate_limit'),
20939        )

PeeringGroupPeerDeleteResponse returns information about a PeeringGroupPeer that was deleted.

PeeringGroupPeerDeleteResponse(meta=None, rate_limit=None)
20908    def __init__(
20909        self,
20910        meta=None,
20911        rate_limit=None,
20912    ):
20913        self.meta = meta if meta is not None else None
20914        '''
20915         Reserved for future use.
20916        '''
20917        self.rate_limit = rate_limit if rate_limit is not None else None
20918        '''
20919         Rate limit information.
20920        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
20928    def to_dict(self):
20929        return {
20930            'meta': self.meta,
20931            'rate_limit': self.rate_limit,
20932        }
@classmethod
def from_dict(cls, d)
20934    @classmethod
20935    def from_dict(cls, d):
20936        return cls(
20937            meta=d.get('meta'),
20938            rate_limit=d.get('rate_limit'),
20939        )
class PeeringGroupPeerGetResponse:
20942class PeeringGroupPeerGetResponse:
20943    '''
20944         PeeringGroupPeerGetResponse returns a requested PeeringGroupPeer.
20945    '''
20946    __slots__ = [
20947        'meta',
20948        'peering_group_peer',
20949        'rate_limit',
20950    ]
20951
20952    def __init__(
20953        self,
20954        meta=None,
20955        peering_group_peer=None,
20956        rate_limit=None,
20957    ):
20958        self.meta = meta if meta is not None else None
20959        '''
20960         Reserved for future use.
20961        '''
20962        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
20963        '''
20964         The requested PeeringGroupPeer.
20965        '''
20966        self.rate_limit = rate_limit if rate_limit is not None else None
20967        '''
20968         Rate limit information.
20969        '''
20970
20971    def __repr__(self):
20972        return '<sdm.PeeringGroupPeerGetResponse ' + \
20973            'meta: ' + repr(self.meta) + ' ' +\
20974            'peering_group_peer: ' + repr(self.peering_group_peer) + ' ' +\
20975            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20976            '>'
20977
20978    def to_dict(self):
20979        return {
20980            'meta': self.meta,
20981            'peering_group_peer': self.peering_group_peer,
20982            'rate_limit': self.rate_limit,
20983        }
20984
20985    @classmethod
20986    def from_dict(cls, d):
20987        return cls(
20988            meta=d.get('meta'),
20989            peering_group_peer=d.get('peering_group_peer'),
20990            rate_limit=d.get('rate_limit'),
20991        )

PeeringGroupPeerGetResponse returns a requested PeeringGroupPeer.

PeeringGroupPeerGetResponse(meta=None, peering_group_peer=None, rate_limit=None)
20952    def __init__(
20953        self,
20954        meta=None,
20955        peering_group_peer=None,
20956        rate_limit=None,
20957    ):
20958        self.meta = meta if meta is not None else None
20959        '''
20960         Reserved for future use.
20961        '''
20962        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
20963        '''
20964         The requested PeeringGroupPeer.
20965        '''
20966        self.rate_limit = rate_limit if rate_limit is not None else None
20967        '''
20968         Rate limit information.
20969        '''
meta

Reserved for future use.

peering_group_peer

The requested PeeringGroupPeer.

rate_limit

Rate limit information.

def to_dict(self)
20978    def to_dict(self):
20979        return {
20980            'meta': self.meta,
20981            'peering_group_peer': self.peering_group_peer,
20982            'rate_limit': self.rate_limit,
20983        }
@classmethod
def from_dict(cls, d)
20985    @classmethod
20986    def from_dict(cls, d):
20987        return cls(
20988            meta=d.get('meta'),
20989            peering_group_peer=d.get('peering_group_peer'),
20990            rate_limit=d.get('rate_limit'),
20991        )
class PeeringGroupResource:
20994class PeeringGroupResource:
20995    '''
20996         PeeringGroupResource represents the attachment between a PeeringGroup and a Resource.
20997    '''
20998    __slots__ = [
20999        'group_id',
21000        'id',
21001        'resource_id',
21002    ]
21003
21004    def __init__(
21005        self,
21006        group_id=None,
21007        id=None,
21008        resource_id=None,
21009    ):
21010        self.group_id = group_id if group_id is not None else ''
21011        '''
21012         Peering Group ID to which the resource will be attached to.
21013        '''
21014        self.id = id if id is not None else ''
21015        '''
21016         Unique identifier of the Attachment.
21017        '''
21018        self.resource_id = resource_id if resource_id is not None else ''
21019        '''
21020         Resource ID to be attached.
21021        '''
21022
21023    def __repr__(self):
21024        return '<sdm.PeeringGroupResource ' + \
21025            'group_id: ' + repr(self.group_id) + ' ' +\
21026            'id: ' + repr(self.id) + ' ' +\
21027            'resource_id: ' + repr(self.resource_id) + ' ' +\
21028            '>'
21029
21030    def to_dict(self):
21031        return {
21032            'group_id': self.group_id,
21033            'id': self.id,
21034            'resource_id': self.resource_id,
21035        }
21036
21037    @classmethod
21038    def from_dict(cls, d):
21039        return cls(
21040            group_id=d.get('group_id'),
21041            id=d.get('id'),
21042            resource_id=d.get('resource_id'),
21043        )

PeeringGroupResource represents the attachment between a PeeringGroup and a Resource.

PeeringGroupResource(group_id=None, id=None, resource_id=None)
21004    def __init__(
21005        self,
21006        group_id=None,
21007        id=None,
21008        resource_id=None,
21009    ):
21010        self.group_id = group_id if group_id is not None else ''
21011        '''
21012         Peering Group ID to which the resource will be attached to.
21013        '''
21014        self.id = id if id is not None else ''
21015        '''
21016         Unique identifier of the Attachment.
21017        '''
21018        self.resource_id = resource_id if resource_id is not None else ''
21019        '''
21020         Resource ID to be attached.
21021        '''
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)
21030    def to_dict(self):
21031        return {
21032            'group_id': self.group_id,
21033            'id': self.id,
21034            'resource_id': self.resource_id,
21035        }
@classmethod
def from_dict(cls, d)
21037    @classmethod
21038    def from_dict(cls, d):
21039        return cls(
21040            group_id=d.get('group_id'),
21041            id=d.get('id'),
21042            resource_id=d.get('resource_id'),
21043        )
class PeeringGroupResourceCreateResponse:
21046class PeeringGroupResourceCreateResponse:
21047    '''
21048         PeeringGroupResourceCreateResponse reports how the attachment was created in the system.
21049    '''
21050    __slots__ = [
21051        'meta',
21052        'peering_group_resource',
21053        'rate_limit',
21054    ]
21055
21056    def __init__(
21057        self,
21058        meta=None,
21059        peering_group_resource=None,
21060        rate_limit=None,
21061    ):
21062        self.meta = meta if meta is not None else None
21063        '''
21064         Reserved for future use.
21065        '''
21066        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
21067        '''
21068         The created PeeringGroupResource.
21069        '''
21070        self.rate_limit = rate_limit if rate_limit is not None else None
21071        '''
21072         Rate limit information.
21073        '''
21074
21075    def __repr__(self):
21076        return '<sdm.PeeringGroupResourceCreateResponse ' + \
21077            'meta: ' + repr(self.meta) + ' ' +\
21078            'peering_group_resource: ' + repr(self.peering_group_resource) + ' ' +\
21079            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21080            '>'
21081
21082    def to_dict(self):
21083        return {
21084            'meta': self.meta,
21085            'peering_group_resource': self.peering_group_resource,
21086            'rate_limit': self.rate_limit,
21087        }
21088
21089    @classmethod
21090    def from_dict(cls, d):
21091        return cls(
21092            meta=d.get('meta'),
21093            peering_group_resource=d.get('peering_group_resource'),
21094            rate_limit=d.get('rate_limit'),
21095        )

PeeringGroupResourceCreateResponse reports how the attachment was created in the system.

PeeringGroupResourceCreateResponse(meta=None, peering_group_resource=None, rate_limit=None)
21056    def __init__(
21057        self,
21058        meta=None,
21059        peering_group_resource=None,
21060        rate_limit=None,
21061    ):
21062        self.meta = meta if meta is not None else None
21063        '''
21064         Reserved for future use.
21065        '''
21066        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
21067        '''
21068         The created PeeringGroupResource.
21069        '''
21070        self.rate_limit = rate_limit if rate_limit is not None else None
21071        '''
21072         Rate limit information.
21073        '''
meta

Reserved for future use.

peering_group_resource

The created PeeringGroupResource.

rate_limit

Rate limit information.

def to_dict(self)
21082    def to_dict(self):
21083        return {
21084            'meta': self.meta,
21085            'peering_group_resource': self.peering_group_resource,
21086            'rate_limit': self.rate_limit,
21087        }
@classmethod
def from_dict(cls, d)
21089    @classmethod
21090    def from_dict(cls, d):
21091        return cls(
21092            meta=d.get('meta'),
21093            peering_group_resource=d.get('peering_group_resource'),
21094            rate_limit=d.get('rate_limit'),
21095        )
class PeeringGroupResourceDeleteResponse:
21098class PeeringGroupResourceDeleteResponse:
21099    '''
21100         PeeringGroupResourceDeleteResponse returns information about a PeeringGroupResource that was deleted.
21101    '''
21102    __slots__ = [
21103        'meta',
21104        'rate_limit',
21105    ]
21106
21107    def __init__(
21108        self,
21109        meta=None,
21110        rate_limit=None,
21111    ):
21112        self.meta = meta if meta is not None else None
21113        '''
21114         Reserved for future use.
21115        '''
21116        self.rate_limit = rate_limit if rate_limit is not None else None
21117        '''
21118         Rate limit information.
21119        '''
21120
21121    def __repr__(self):
21122        return '<sdm.PeeringGroupResourceDeleteResponse ' + \
21123            'meta: ' + repr(self.meta) + ' ' +\
21124            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21125            '>'
21126
21127    def to_dict(self):
21128        return {
21129            'meta': self.meta,
21130            'rate_limit': self.rate_limit,
21131        }
21132
21133    @classmethod
21134    def from_dict(cls, d):
21135        return cls(
21136            meta=d.get('meta'),
21137            rate_limit=d.get('rate_limit'),
21138        )

PeeringGroupResourceDeleteResponse returns information about a PeeringGroupResource that was deleted.

PeeringGroupResourceDeleteResponse(meta=None, rate_limit=None)
21107    def __init__(
21108        self,
21109        meta=None,
21110        rate_limit=None,
21111    ):
21112        self.meta = meta if meta is not None else None
21113        '''
21114         Reserved for future use.
21115        '''
21116        self.rate_limit = rate_limit if rate_limit is not None else None
21117        '''
21118         Rate limit information.
21119        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
21127    def to_dict(self):
21128        return {
21129            'meta': self.meta,
21130            'rate_limit': self.rate_limit,
21131        }
@classmethod
def from_dict(cls, d)
21133    @classmethod
21134    def from_dict(cls, d):
21135        return cls(
21136            meta=d.get('meta'),
21137            rate_limit=d.get('rate_limit'),
21138        )
class PeeringGroupResourceGetResponse:
21141class PeeringGroupResourceGetResponse:
21142    '''
21143         PeeringGroupResourceGetResponse returns a requested PeeringGroupResource.
21144    '''
21145    __slots__ = [
21146        'meta',
21147        'peering_group_resource',
21148        'rate_limit',
21149    ]
21150
21151    def __init__(
21152        self,
21153        meta=None,
21154        peering_group_resource=None,
21155        rate_limit=None,
21156    ):
21157        self.meta = meta if meta is not None else None
21158        '''
21159         Reserved for future use.
21160        '''
21161        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
21162        '''
21163         The requested PeeringGroupResource.
21164        '''
21165        self.rate_limit = rate_limit if rate_limit is not None else None
21166        '''
21167         Rate limit information.
21168        '''
21169
21170    def __repr__(self):
21171        return '<sdm.PeeringGroupResourceGetResponse ' + \
21172            'meta: ' + repr(self.meta) + ' ' +\
21173            'peering_group_resource: ' + repr(self.peering_group_resource) + ' ' +\
21174            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21175            '>'
21176
21177    def to_dict(self):
21178        return {
21179            'meta': self.meta,
21180            'peering_group_resource': self.peering_group_resource,
21181            'rate_limit': self.rate_limit,
21182        }
21183
21184    @classmethod
21185    def from_dict(cls, d):
21186        return cls(
21187            meta=d.get('meta'),
21188            peering_group_resource=d.get('peering_group_resource'),
21189            rate_limit=d.get('rate_limit'),
21190        )

PeeringGroupResourceGetResponse returns a requested PeeringGroupResource.

PeeringGroupResourceGetResponse(meta=None, peering_group_resource=None, rate_limit=None)
21151    def __init__(
21152        self,
21153        meta=None,
21154        peering_group_resource=None,
21155        rate_limit=None,
21156    ):
21157        self.meta = meta if meta is not None else None
21158        '''
21159         Reserved for future use.
21160        '''
21161        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
21162        '''
21163         The requested PeeringGroupResource.
21164        '''
21165        self.rate_limit = rate_limit if rate_limit is not None else None
21166        '''
21167         Rate limit information.
21168        '''
meta

Reserved for future use.

peering_group_resource

The requested PeeringGroupResource.

rate_limit

Rate limit information.

def to_dict(self)
21177    def to_dict(self):
21178        return {
21179            'meta': self.meta,
21180            'peering_group_resource': self.peering_group_resource,
21181            'rate_limit': self.rate_limit,
21182        }
@classmethod
def from_dict(cls, d)
21184    @classmethod
21185    def from_dict(cls, d):
21186        return cls(
21187            meta=d.get('meta'),
21188            peering_group_resource=d.get('peering_group_resource'),
21189            rate_limit=d.get('rate_limit'),
21190        )
class Policy:
21193class Policy:
21194    '''
21195         Policy is a collection of one or more statements that enforce fine-grained access control
21196     for the users of an organization.
21197    '''
21198    __slots__ = [
21199        'description',
21200        'id',
21201        'name',
21202        'policy',
21203    ]
21204
21205    def __init__(
21206        self,
21207        description=None,
21208        id=None,
21209        name=None,
21210        policy=None,
21211    ):
21212        self.description = description if description is not None else ''
21213        '''
21214         Optional description of the Policy.
21215        '''
21216        self.id = id if id is not None else ''
21217        '''
21218         Unique identifier of the Policy.
21219        '''
21220        self.name = name if name is not None else ''
21221        '''
21222         Unique human-readable name of the Policy.
21223        '''
21224        self.policy = policy if policy is not None else ''
21225        '''
21226         The content of the Policy, in Cedar policy language.
21227        '''
21228
21229    def __repr__(self):
21230        return '<sdm.Policy ' + \
21231            'description: ' + repr(self.description) + ' ' +\
21232            'id: ' + repr(self.id) + ' ' +\
21233            'name: ' + repr(self.name) + ' ' +\
21234            'policy: ' + repr(self.policy) + ' ' +\
21235            '>'
21236
21237    def to_dict(self):
21238        return {
21239            'description': self.description,
21240            'id': self.id,
21241            'name': self.name,
21242            'policy': self.policy,
21243        }
21244
21245    @classmethod
21246    def from_dict(cls, d):
21247        return cls(
21248            description=d.get('description'),
21249            id=d.get('id'),
21250            name=d.get('name'),
21251            policy=d.get('policy'),
21252        )

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)
21205    def __init__(
21206        self,
21207        description=None,
21208        id=None,
21209        name=None,
21210        policy=None,
21211    ):
21212        self.description = description if description is not None else ''
21213        '''
21214         Optional description of the Policy.
21215        '''
21216        self.id = id if id is not None else ''
21217        '''
21218         Unique identifier of the Policy.
21219        '''
21220        self.name = name if name is not None else ''
21221        '''
21222         Unique human-readable name of the Policy.
21223        '''
21224        self.policy = policy if policy is not None else ''
21225        '''
21226         The content of the Policy, in Cedar policy language.
21227        '''
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)
21237    def to_dict(self):
21238        return {
21239            'description': self.description,
21240            'id': self.id,
21241            'name': self.name,
21242            'policy': self.policy,
21243        }
@classmethod
def from_dict(cls, d)
21245    @classmethod
21246    def from_dict(cls, d):
21247        return cls(
21248            description=d.get('description'),
21249            id=d.get('id'),
21250            name=d.get('name'),
21251            policy=d.get('policy'),
21252        )
class PolicyCreateResponse:
21255class PolicyCreateResponse:
21256    '''
21257         PolicyCreateResponse reports how the Policy was created in the system.
21258    '''
21259    __slots__ = [
21260        'policy',
21261        'rate_limit',
21262    ]
21263
21264    def __init__(
21265        self,
21266        policy=None,
21267        rate_limit=None,
21268    ):
21269        self.policy = policy if policy is not None else None
21270        '''
21271         The created Policy.
21272        '''
21273        self.rate_limit = rate_limit if rate_limit is not None else None
21274        '''
21275         Rate limit information.
21276        '''
21277
21278    def __repr__(self):
21279        return '<sdm.PolicyCreateResponse ' + \
21280            'policy: ' + repr(self.policy) + ' ' +\
21281            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21282            '>'
21283
21284    def to_dict(self):
21285        return {
21286            'policy': self.policy,
21287            'rate_limit': self.rate_limit,
21288        }
21289
21290    @classmethod
21291    def from_dict(cls, d):
21292        return cls(
21293            policy=d.get('policy'),
21294            rate_limit=d.get('rate_limit'),
21295        )

PolicyCreateResponse reports how the Policy was created in the system.

PolicyCreateResponse(policy=None, rate_limit=None)
21264    def __init__(
21265        self,
21266        policy=None,
21267        rate_limit=None,
21268    ):
21269        self.policy = policy if policy is not None else None
21270        '''
21271         The created Policy.
21272        '''
21273        self.rate_limit = rate_limit if rate_limit is not None else None
21274        '''
21275         Rate limit information.
21276        '''
policy

The created Policy.

rate_limit

Rate limit information.

def to_dict(self)
21284    def to_dict(self):
21285        return {
21286            'policy': self.policy,
21287            'rate_limit': self.rate_limit,
21288        }
@classmethod
def from_dict(cls, d)
21290    @classmethod
21291    def from_dict(cls, d):
21292        return cls(
21293            policy=d.get('policy'),
21294            rate_limit=d.get('rate_limit'),
21295        )
class PolicyDeleteResponse:
21298class PolicyDeleteResponse:
21299    '''
21300         PolicyDeleteResponse returns information about a Policy that was deleted.
21301    '''
21302    __slots__ = [
21303        'rate_limit',
21304    ]
21305
21306    def __init__(
21307        self,
21308        rate_limit=None,
21309    ):
21310        self.rate_limit = rate_limit if rate_limit is not None else None
21311        '''
21312         Rate limit information.
21313        '''
21314
21315    def __repr__(self):
21316        return '<sdm.PolicyDeleteResponse ' + \
21317            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21318            '>'
21319
21320    def to_dict(self):
21321        return {
21322            'rate_limit': self.rate_limit,
21323        }
21324
21325    @classmethod
21326    def from_dict(cls, d):
21327        return cls(rate_limit=d.get('rate_limit'), )

PolicyDeleteResponse returns information about a Policy that was deleted.

PolicyDeleteResponse(rate_limit=None)
21306    def __init__(
21307        self,
21308        rate_limit=None,
21309    ):
21310        self.rate_limit = rate_limit if rate_limit is not None else None
21311        '''
21312         Rate limit information.
21313        '''
rate_limit

Rate limit information.

def to_dict(self)
21320    def to_dict(self):
21321        return {
21322            'rate_limit': self.rate_limit,
21323        }
@classmethod
def from_dict(cls, d)
21325    @classmethod
21326    def from_dict(cls, d):
21327        return cls(rate_limit=d.get('rate_limit'), )
class PolicyGetResponse:
21330class PolicyGetResponse:
21331    '''
21332         PolicyGetResponse returns a requested Policy.
21333    '''
21334    __slots__ = [
21335        'meta',
21336        'policy',
21337        'rate_limit',
21338    ]
21339
21340    def __init__(
21341        self,
21342        meta=None,
21343        policy=None,
21344        rate_limit=None,
21345    ):
21346        self.meta = meta if meta is not None else None
21347        '''
21348         Reserved for future use.
21349        '''
21350        self.policy = policy if policy is not None else None
21351        '''
21352         The requested Policy.
21353        '''
21354        self.rate_limit = rate_limit if rate_limit is not None else None
21355        '''
21356         Rate limit information.
21357        '''
21358
21359    def __repr__(self):
21360        return '<sdm.PolicyGetResponse ' + \
21361            'meta: ' + repr(self.meta) + ' ' +\
21362            'policy: ' + repr(self.policy) + ' ' +\
21363            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21364            '>'
21365
21366    def to_dict(self):
21367        return {
21368            'meta': self.meta,
21369            'policy': self.policy,
21370            'rate_limit': self.rate_limit,
21371        }
21372
21373    @classmethod
21374    def from_dict(cls, d):
21375        return cls(
21376            meta=d.get('meta'),
21377            policy=d.get('policy'),
21378            rate_limit=d.get('rate_limit'),
21379        )

PolicyGetResponse returns a requested Policy.

PolicyGetResponse(meta=None, policy=None, rate_limit=None)
21340    def __init__(
21341        self,
21342        meta=None,
21343        policy=None,
21344        rate_limit=None,
21345    ):
21346        self.meta = meta if meta is not None else None
21347        '''
21348         Reserved for future use.
21349        '''
21350        self.policy = policy if policy is not None else None
21351        '''
21352         The requested Policy.
21353        '''
21354        self.rate_limit = rate_limit if rate_limit is not None else None
21355        '''
21356         Rate limit information.
21357        '''
meta

Reserved for future use.

policy

The requested Policy.

rate_limit

Rate limit information.

def to_dict(self)
21366    def to_dict(self):
21367        return {
21368            'meta': self.meta,
21369            'policy': self.policy,
21370            'rate_limit': self.rate_limit,
21371        }
@classmethod
def from_dict(cls, d)
21373    @classmethod
21374    def from_dict(cls, d):
21375        return cls(
21376            meta=d.get('meta'),
21377            policy=d.get('policy'),
21378            rate_limit=d.get('rate_limit'),
21379        )
class PolicyHistory:
21382class PolicyHistory:
21383    '''
21384         PolicyHistory records the state of a Policy at a given point in time,
21385     where every change (create, update and delete) to a Policy produces a
21386     PolicyHistory record.
21387    '''
21388    __slots__ = [
21389        'activity_id',
21390        'deleted_at',
21391        'policy',
21392        'timestamp',
21393    ]
21394
21395    def __init__(
21396        self,
21397        activity_id=None,
21398        deleted_at=None,
21399        policy=None,
21400        timestamp=None,
21401    ):
21402        self.activity_id = activity_id if activity_id is not None else ''
21403        '''
21404         The unique identifier of the Activity that produced this change to the Policy.
21405         May be empty for some system-initiated updates.
21406        '''
21407        self.deleted_at = deleted_at if deleted_at is not None else None
21408        '''
21409         If this Policy was deleted, the time it was deleted.
21410        '''
21411        self.policy = policy if policy is not None else None
21412        '''
21413         The complete Policy state at this time.
21414        '''
21415        self.timestamp = timestamp if timestamp is not None else None
21416        '''
21417         The time at which the Policy state was recorded.
21418        '''
21419
21420    def __repr__(self):
21421        return '<sdm.PolicyHistory ' + \
21422            'activity_id: ' + repr(self.activity_id) + ' ' +\
21423            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
21424            'policy: ' + repr(self.policy) + ' ' +\
21425            'timestamp: ' + repr(self.timestamp) + ' ' +\
21426            '>'
21427
21428    def to_dict(self):
21429        return {
21430            'activity_id': self.activity_id,
21431            'deleted_at': self.deleted_at,
21432            'policy': self.policy,
21433            'timestamp': self.timestamp,
21434        }
21435
21436    @classmethod
21437    def from_dict(cls, d):
21438        return cls(
21439            activity_id=d.get('activity_id'),
21440            deleted_at=d.get('deleted_at'),
21441            policy=d.get('policy'),
21442            timestamp=d.get('timestamp'),
21443        )

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)
21395    def __init__(
21396        self,
21397        activity_id=None,
21398        deleted_at=None,
21399        policy=None,
21400        timestamp=None,
21401    ):
21402        self.activity_id = activity_id if activity_id is not None else ''
21403        '''
21404         The unique identifier of the Activity that produced this change to the Policy.
21405         May be empty for some system-initiated updates.
21406        '''
21407        self.deleted_at = deleted_at if deleted_at is not None else None
21408        '''
21409         If this Policy was deleted, the time it was deleted.
21410        '''
21411        self.policy = policy if policy is not None else None
21412        '''
21413         The complete Policy state at this time.
21414        '''
21415        self.timestamp = timestamp if timestamp is not None else None
21416        '''
21417         The time at which the Policy state was recorded.
21418        '''
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)
21428    def to_dict(self):
21429        return {
21430            'activity_id': self.activity_id,
21431            'deleted_at': self.deleted_at,
21432            'policy': self.policy,
21433            'timestamp': self.timestamp,
21434        }
@classmethod
def from_dict(cls, d)
21436    @classmethod
21437    def from_dict(cls, d):
21438        return cls(
21439            activity_id=d.get('activity_id'),
21440            deleted_at=d.get('deleted_at'),
21441            policy=d.get('policy'),
21442            timestamp=d.get('timestamp'),
21443        )
class PolicyListResponse:
21446class PolicyListResponse:
21447    '''
21448         PolicyListResponse returns a list of Policy records that meet
21449     the criteria of a PolicyListRequest.
21450    '''
21451    __slots__ = [
21452        'rate_limit',
21453    ]
21454
21455    def __init__(
21456        self,
21457        rate_limit=None,
21458    ):
21459        self.rate_limit = rate_limit if rate_limit is not None else None
21460        '''
21461         Rate limit information.
21462        '''
21463
21464    def __repr__(self):
21465        return '<sdm.PolicyListResponse ' + \
21466            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21467            '>'
21468
21469    def to_dict(self):
21470        return {
21471            'rate_limit': self.rate_limit,
21472        }
21473
21474    @classmethod
21475    def from_dict(cls, d):
21476        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)
21455    def __init__(
21456        self,
21457        rate_limit=None,
21458    ):
21459        self.rate_limit = rate_limit if rate_limit is not None else None
21460        '''
21461         Rate limit information.
21462        '''
rate_limit

Rate limit information.

def to_dict(self)
21469    def to_dict(self):
21470        return {
21471            'rate_limit': self.rate_limit,
21472        }
@classmethod
def from_dict(cls, d)
21474    @classmethod
21475    def from_dict(cls, d):
21476        return cls(rate_limit=d.get('rate_limit'), )
class PolicyUpdateResponse:
21479class PolicyUpdateResponse:
21480    '''
21481         PolicyUpdateResponse returns the fields of a Policy after it has been updated by
21482     a PolicyUpdateRequest.
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 updated 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.PolicyUpdateResponse ' + \
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        )

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

PolicyUpdateResponse(policy=None, rate_limit=None)
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 updated Policy.
21497        '''
21498        self.rate_limit = rate_limit if rate_limit is not None else None
21499        '''
21500         Rate limit information.
21501        '''
policy

The updated Policy.

rate_limit

Rate limit information.

def to_dict(self)
21509    def to_dict(self):
21510        return {
21511            'policy': self.policy,
21512            'rate_limit': self.rate_limit,
21513        }
@classmethod
def from_dict(cls, d)
21515    @classmethod
21516    def from_dict(cls, d):
21517        return cls(
21518            policy=d.get('policy'),
21519            rate_limit=d.get('rate_limit'),
21520        )
class Postgres:
21523class Postgres:
21524    __slots__ = [
21525        'bind_interface',
21526        'database',
21527        'egress_filter',
21528        'healthy',
21529        'hostname',
21530        'id',
21531        'name',
21532        'override_database',
21533        'password',
21534        'port',
21535        'port_override',
21536        'proxy_cluster_id',
21537        'secret_store_id',
21538        'subdomain',
21539        'tags',
21540        'username',
21541    ]
21542
21543    def __init__(
21544        self,
21545        bind_interface=None,
21546        database=None,
21547        egress_filter=None,
21548        healthy=None,
21549        hostname=None,
21550        id=None,
21551        name=None,
21552        override_database=None,
21553        password=None,
21554        port=None,
21555        port_override=None,
21556        proxy_cluster_id=None,
21557        secret_store_id=None,
21558        subdomain=None,
21559        tags=None,
21560        username=None,
21561    ):
21562        self.bind_interface = bind_interface if bind_interface is not None else ''
21563        '''
21564         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
21565        '''
21566        self.database = database if database is not None else ''
21567        '''
21568         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
21569        '''
21570        self.egress_filter = egress_filter if egress_filter is not None else ''
21571        '''
21572         A filter applied to the routing logic to pin datasource to nodes.
21573        '''
21574        self.healthy = healthy if healthy is not None else False
21575        '''
21576         True if the datasource is reachable and the credentials are valid.
21577        '''
21578        self.hostname = hostname if hostname is not None else ''
21579        '''
21580         The host to dial to initiate a connection from the egress node to this resource.
21581        '''
21582        self.id = id if id is not None else ''
21583        '''
21584         Unique identifier of the Resource.
21585        '''
21586        self.name = name if name is not None else ''
21587        '''
21588         Unique human-readable name of the Resource.
21589        '''
21590        self.override_database = override_database if override_database is not None else False
21591        '''
21592         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
21593        '''
21594        self.password = password if password is not None else ''
21595        '''
21596         The password to authenticate with.
21597        '''
21598        self.port = port if port is not None else 0
21599        '''
21600         The port to dial to initiate a connection from the egress node to this resource.
21601        '''
21602        self.port_override = port_override if port_override is not None else 0
21603        '''
21604         The local port used by clients to connect to this resource.
21605        '''
21606        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21607        '''
21608         ID of the proxy cluster for this resource, if any.
21609        '''
21610        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21611        '''
21612         ID of the secret store containing credentials for this resource, if any.
21613        '''
21614        self.subdomain = subdomain if subdomain is not None else ''
21615        '''
21616         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
21617        '''
21618        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21619        '''
21620         Tags is a map of key, value pairs.
21621        '''
21622        self.username = username if username is not None else ''
21623        '''
21624         The username to authenticate with.
21625        '''
21626
21627    def __repr__(self):
21628        return '<sdm.Postgres ' + \
21629            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
21630            'database: ' + repr(self.database) + ' ' +\
21631            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
21632            'healthy: ' + repr(self.healthy) + ' ' +\
21633            'hostname: ' + repr(self.hostname) + ' ' +\
21634            'id: ' + repr(self.id) + ' ' +\
21635            'name: ' + repr(self.name) + ' ' +\
21636            'override_database: ' + repr(self.override_database) + ' ' +\
21637            'password: ' + repr(self.password) + ' ' +\
21638            'port: ' + repr(self.port) + ' ' +\
21639            'port_override: ' + repr(self.port_override) + ' ' +\
21640            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
21641            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
21642            'subdomain: ' + repr(self.subdomain) + ' ' +\
21643            'tags: ' + repr(self.tags) + ' ' +\
21644            'username: ' + repr(self.username) + ' ' +\
21645            '>'
21646
21647    def to_dict(self):
21648        return {
21649            'bind_interface': self.bind_interface,
21650            'database': self.database,
21651            'egress_filter': self.egress_filter,
21652            'healthy': self.healthy,
21653            'hostname': self.hostname,
21654            'id': self.id,
21655            'name': self.name,
21656            'override_database': self.override_database,
21657            'password': self.password,
21658            'port': self.port,
21659            'port_override': self.port_override,
21660            'proxy_cluster_id': self.proxy_cluster_id,
21661            'secret_store_id': self.secret_store_id,
21662            'subdomain': self.subdomain,
21663            'tags': self.tags,
21664            'username': self.username,
21665        }
21666
21667    @classmethod
21668    def from_dict(cls, d):
21669        return cls(
21670            bind_interface=d.get('bind_interface'),
21671            database=d.get('database'),
21672            egress_filter=d.get('egress_filter'),
21673            healthy=d.get('healthy'),
21674            hostname=d.get('hostname'),
21675            id=d.get('id'),
21676            name=d.get('name'),
21677            override_database=d.get('override_database'),
21678            password=d.get('password'),
21679            port=d.get('port'),
21680            port_override=d.get('port_override'),
21681            proxy_cluster_id=d.get('proxy_cluster_id'),
21682            secret_store_id=d.get('secret_store_id'),
21683            subdomain=d.get('subdomain'),
21684            tags=d.get('tags'),
21685            username=d.get('username'),
21686        )
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)
21543    def __init__(
21544        self,
21545        bind_interface=None,
21546        database=None,
21547        egress_filter=None,
21548        healthy=None,
21549        hostname=None,
21550        id=None,
21551        name=None,
21552        override_database=None,
21553        password=None,
21554        port=None,
21555        port_override=None,
21556        proxy_cluster_id=None,
21557        secret_store_id=None,
21558        subdomain=None,
21559        tags=None,
21560        username=None,
21561    ):
21562        self.bind_interface = bind_interface if bind_interface is not None else ''
21563        '''
21564         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
21565        '''
21566        self.database = database if database is not None else ''
21567        '''
21568         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
21569        '''
21570        self.egress_filter = egress_filter if egress_filter is not None else ''
21571        '''
21572         A filter applied to the routing logic to pin datasource to nodes.
21573        '''
21574        self.healthy = healthy if healthy is not None else False
21575        '''
21576         True if the datasource is reachable and the credentials are valid.
21577        '''
21578        self.hostname = hostname if hostname is not None else ''
21579        '''
21580         The host to dial to initiate a connection from the egress node to this resource.
21581        '''
21582        self.id = id if id is not None else ''
21583        '''
21584         Unique identifier of the Resource.
21585        '''
21586        self.name = name if name is not None else ''
21587        '''
21588         Unique human-readable name of the Resource.
21589        '''
21590        self.override_database = override_database if override_database is not None else False
21591        '''
21592         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
21593        '''
21594        self.password = password if password is not None else ''
21595        '''
21596         The password to authenticate with.
21597        '''
21598        self.port = port if port is not None else 0
21599        '''
21600         The port to dial to initiate a connection from the egress node to this resource.
21601        '''
21602        self.port_override = port_override if port_override is not None else 0
21603        '''
21604         The local port used by clients to connect to this resource.
21605        '''
21606        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21607        '''
21608         ID of the proxy cluster for this resource, if any.
21609        '''
21610        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21611        '''
21612         ID of the secret store containing credentials for this resource, if any.
21613        '''
21614        self.subdomain = subdomain if subdomain is not None else ''
21615        '''
21616         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
21617        '''
21618        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21619        '''
21620         Tags is a map of key, value pairs.
21621        '''
21622        self.username = username if username is not None else ''
21623        '''
21624         The username to authenticate with.
21625        '''
bind_interface

The bind interface is the IP 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)
21647    def to_dict(self):
21648        return {
21649            'bind_interface': self.bind_interface,
21650            'database': self.database,
21651            'egress_filter': self.egress_filter,
21652            'healthy': self.healthy,
21653            'hostname': self.hostname,
21654            'id': self.id,
21655            'name': self.name,
21656            'override_database': self.override_database,
21657            'password': self.password,
21658            'port': self.port,
21659            'port_override': self.port_override,
21660            'proxy_cluster_id': self.proxy_cluster_id,
21661            'secret_store_id': self.secret_store_id,
21662            'subdomain': self.subdomain,
21663            'tags': self.tags,
21664            'username': self.username,
21665        }
@classmethod
def from_dict(cls, d)
21667    @classmethod
21668    def from_dict(cls, d):
21669        return cls(
21670            bind_interface=d.get('bind_interface'),
21671            database=d.get('database'),
21672            egress_filter=d.get('egress_filter'),
21673            healthy=d.get('healthy'),
21674            hostname=d.get('hostname'),
21675            id=d.get('id'),
21676            name=d.get('name'),
21677            override_database=d.get('override_database'),
21678            password=d.get('password'),
21679            port=d.get('port'),
21680            port_override=d.get('port_override'),
21681            proxy_cluster_id=d.get('proxy_cluster_id'),
21682            secret_store_id=d.get('secret_store_id'),
21683            subdomain=d.get('subdomain'),
21684            tags=d.get('tags'),
21685            username=d.get('username'),
21686        )
class Presto:
21689class Presto:
21690    __slots__ = [
21691        'bind_interface',
21692        'database',
21693        'egress_filter',
21694        'healthy',
21695        'hostname',
21696        'id',
21697        'name',
21698        'password',
21699        'port',
21700        'port_override',
21701        'proxy_cluster_id',
21702        'secret_store_id',
21703        'subdomain',
21704        'tags',
21705        'tls_required',
21706        'username',
21707    ]
21708
21709    def __init__(
21710        self,
21711        bind_interface=None,
21712        database=None,
21713        egress_filter=None,
21714        healthy=None,
21715        hostname=None,
21716        id=None,
21717        name=None,
21718        password=None,
21719        port=None,
21720        port_override=None,
21721        proxy_cluster_id=None,
21722        secret_store_id=None,
21723        subdomain=None,
21724        tags=None,
21725        tls_required=None,
21726        username=None,
21727    ):
21728        self.bind_interface = bind_interface if bind_interface is not None else ''
21729        '''
21730         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
21731        '''
21732        self.database = database if database is not None else ''
21733        '''
21734         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
21735        '''
21736        self.egress_filter = egress_filter if egress_filter is not None else ''
21737        '''
21738         A filter applied to the routing logic to pin datasource to nodes.
21739        '''
21740        self.healthy = healthy if healthy is not None else False
21741        '''
21742         True if the datasource is reachable and the credentials are valid.
21743        '''
21744        self.hostname = hostname if hostname is not None else ''
21745        '''
21746         The host to dial to initiate a connection from the egress node to this resource.
21747        '''
21748        self.id = id if id is not None else ''
21749        '''
21750         Unique identifier of the Resource.
21751        '''
21752        self.name = name if name is not None else ''
21753        '''
21754         Unique human-readable name of the Resource.
21755        '''
21756        self.password = password if password is not None else ''
21757        '''
21758         The password to authenticate with.
21759        '''
21760        self.port = port if port is not None else 0
21761        '''
21762         The port to dial to initiate a connection from the egress node to this resource.
21763        '''
21764        self.port_override = port_override if port_override is not None else 0
21765        '''
21766         The local port used by clients to connect to this resource.
21767        '''
21768        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21769        '''
21770         ID of the proxy cluster for this resource, if any.
21771        '''
21772        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21773        '''
21774         ID of the secret store containing credentials for this resource, if any.
21775        '''
21776        self.subdomain = subdomain if subdomain is not None else ''
21777        '''
21778         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
21779        '''
21780        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21781        '''
21782         Tags is a map of key, value pairs.
21783        '''
21784        self.tls_required = tls_required if tls_required is not None else False
21785        '''
21786         If set, TLS must be used to connect to this resource.
21787        '''
21788        self.username = username if username is not None else ''
21789        '''
21790         The username to authenticate with.
21791        '''
21792
21793    def __repr__(self):
21794        return '<sdm.Presto ' + \
21795            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
21796            'database: ' + repr(self.database) + ' ' +\
21797            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
21798            'healthy: ' + repr(self.healthy) + ' ' +\
21799            'hostname: ' + repr(self.hostname) + ' ' +\
21800            'id: ' + repr(self.id) + ' ' +\
21801            'name: ' + repr(self.name) + ' ' +\
21802            'password: ' + repr(self.password) + ' ' +\
21803            'port: ' + repr(self.port) + ' ' +\
21804            'port_override: ' + repr(self.port_override) + ' ' +\
21805            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
21806            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
21807            'subdomain: ' + repr(self.subdomain) + ' ' +\
21808            'tags: ' + repr(self.tags) + ' ' +\
21809            'tls_required: ' + repr(self.tls_required) + ' ' +\
21810            'username: ' + repr(self.username) + ' ' +\
21811            '>'
21812
21813    def to_dict(self):
21814        return {
21815            'bind_interface': self.bind_interface,
21816            'database': self.database,
21817            'egress_filter': self.egress_filter,
21818            'healthy': self.healthy,
21819            'hostname': self.hostname,
21820            'id': self.id,
21821            'name': self.name,
21822            'password': self.password,
21823            'port': self.port,
21824            'port_override': self.port_override,
21825            'proxy_cluster_id': self.proxy_cluster_id,
21826            'secret_store_id': self.secret_store_id,
21827            'subdomain': self.subdomain,
21828            'tags': self.tags,
21829            'tls_required': self.tls_required,
21830            'username': self.username,
21831        }
21832
21833    @classmethod
21834    def from_dict(cls, d):
21835        return cls(
21836            bind_interface=d.get('bind_interface'),
21837            database=d.get('database'),
21838            egress_filter=d.get('egress_filter'),
21839            healthy=d.get('healthy'),
21840            hostname=d.get('hostname'),
21841            id=d.get('id'),
21842            name=d.get('name'),
21843            password=d.get('password'),
21844            port=d.get('port'),
21845            port_override=d.get('port_override'),
21846            proxy_cluster_id=d.get('proxy_cluster_id'),
21847            secret_store_id=d.get('secret_store_id'),
21848            subdomain=d.get('subdomain'),
21849            tags=d.get('tags'),
21850            tls_required=d.get('tls_required'),
21851            username=d.get('username'),
21852        )
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)
21709    def __init__(
21710        self,
21711        bind_interface=None,
21712        database=None,
21713        egress_filter=None,
21714        healthy=None,
21715        hostname=None,
21716        id=None,
21717        name=None,
21718        password=None,
21719        port=None,
21720        port_override=None,
21721        proxy_cluster_id=None,
21722        secret_store_id=None,
21723        subdomain=None,
21724        tags=None,
21725        tls_required=None,
21726        username=None,
21727    ):
21728        self.bind_interface = bind_interface if bind_interface is not None else ''
21729        '''
21730         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
21731        '''
21732        self.database = database if database is not None else ''
21733        '''
21734         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
21735        '''
21736        self.egress_filter = egress_filter if egress_filter is not None else ''
21737        '''
21738         A filter applied to the routing logic to pin datasource to nodes.
21739        '''
21740        self.healthy = healthy if healthy is not None else False
21741        '''
21742         True if the datasource is reachable and the credentials are valid.
21743        '''
21744        self.hostname = hostname if hostname is not None else ''
21745        '''
21746         The host to dial to initiate a connection from the egress node to this resource.
21747        '''
21748        self.id = id if id is not None else ''
21749        '''
21750         Unique identifier of the Resource.
21751        '''
21752        self.name = name if name is not None else ''
21753        '''
21754         Unique human-readable name of the Resource.
21755        '''
21756        self.password = password if password is not None else ''
21757        '''
21758         The password to authenticate with.
21759        '''
21760        self.port = port if port is not None else 0
21761        '''
21762         The port to dial to initiate a connection from the egress node to this resource.
21763        '''
21764        self.port_override = port_override if port_override is not None else 0
21765        '''
21766         The local port used by clients to connect to this resource.
21767        '''
21768        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21769        '''
21770         ID of the proxy cluster for this resource, if any.
21771        '''
21772        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21773        '''
21774         ID of the secret store containing credentials for this resource, if any.
21775        '''
21776        self.subdomain = subdomain if subdomain is not None else ''
21777        '''
21778         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
21779        '''
21780        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21781        '''
21782         Tags is a map of key, value pairs.
21783        '''
21784        self.tls_required = tls_required if tls_required is not None else False
21785        '''
21786         If set, TLS must be used to connect to this resource.
21787        '''
21788        self.username = username if username is not None else ''
21789        '''
21790         The username to authenticate with.
21791        '''
bind_interface

The bind interface is the IP 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)
21813    def to_dict(self):
21814        return {
21815            'bind_interface': self.bind_interface,
21816            'database': self.database,
21817            'egress_filter': self.egress_filter,
21818            'healthy': self.healthy,
21819            'hostname': self.hostname,
21820            'id': self.id,
21821            'name': self.name,
21822            'password': self.password,
21823            'port': self.port,
21824            'port_override': self.port_override,
21825            'proxy_cluster_id': self.proxy_cluster_id,
21826            'secret_store_id': self.secret_store_id,
21827            'subdomain': self.subdomain,
21828            'tags': self.tags,
21829            'tls_required': self.tls_required,
21830            'username': self.username,
21831        }
@classmethod
def from_dict(cls, d)
21833    @classmethod
21834    def from_dict(cls, d):
21835        return cls(
21836            bind_interface=d.get('bind_interface'),
21837            database=d.get('database'),
21838            egress_filter=d.get('egress_filter'),
21839            healthy=d.get('healthy'),
21840            hostname=d.get('hostname'),
21841            id=d.get('id'),
21842            name=d.get('name'),
21843            password=d.get('password'),
21844            port=d.get('port'),
21845            port_override=d.get('port_override'),
21846            proxy_cluster_id=d.get('proxy_cluster_id'),
21847            secret_store_id=d.get('secret_store_id'),
21848            subdomain=d.get('subdomain'),
21849            tags=d.get('tags'),
21850            tls_required=d.get('tls_required'),
21851            username=d.get('username'),
21852        )
class ProxyCluster:
21855class ProxyCluster:
21856    '''
21857         ProxyCluster represents a cluster of StrongDM proxies.
21858    '''
21859    __slots__ = [
21860        'address',
21861        'id',
21862        'maintenance_windows',
21863        'name',
21864        'tags',
21865    ]
21866
21867    def __init__(
21868        self,
21869        address=None,
21870        id=None,
21871        maintenance_windows=None,
21872        name=None,
21873        tags=None,
21874    ):
21875        self.address = address if address is not None else ''
21876        '''
21877         The public hostname/port tuple at which the proxy cluster will be
21878         accessible to clients.
21879        '''
21880        self.id = id if id is not None else ''
21881        '''
21882         Unique identifier of the Proxy Cluster.
21883        '''
21884        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
21885        '''
21886         Maintenance Windows define when this node is allowed to restart. If a node
21887         is requested to restart, it will check each window to determine if any of
21888         them permit it to restart, and if any do, it will. This check is repeated
21889         per window until the restart is successfully completed.
21890         
21891         If not set here, may be set on the command line or via an environment variable
21892         on the process itself; any server setting will take precedence over local
21893         settings. This setting is ineffective for nodes below version 38.44.0.
21894         
21895         If this setting is not applied via this remote configuration or via local
21896         configuration, the default setting is used: always allow restarts if serving
21897         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
21898        '''
21899        self.name = name if name is not None else ''
21900        '''
21901         Unique human-readable name of the proxy cluster. Names must
21902         include only letters, numbers, and hyphens (no spaces, underscores, or
21903         other special characters). Generated if not provided on create.
21904        '''
21905        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21906        '''
21907         Tags is a map of key, value pairs.
21908        '''
21909
21910    def __repr__(self):
21911        return '<sdm.ProxyCluster ' + \
21912            'address: ' + repr(self.address) + ' ' +\
21913            'id: ' + repr(self.id) + ' ' +\
21914            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
21915            'name: ' + repr(self.name) + ' ' +\
21916            'tags: ' + repr(self.tags) + ' ' +\
21917            '>'
21918
21919    def to_dict(self):
21920        return {
21921            'address': self.address,
21922            'id': self.id,
21923            'maintenance_windows': self.maintenance_windows,
21924            'name': self.name,
21925            'tags': self.tags,
21926        }
21927
21928    @classmethod
21929    def from_dict(cls, d):
21930        return cls(
21931            address=d.get('address'),
21932            id=d.get('id'),
21933            maintenance_windows=d.get('maintenance_windows'),
21934            name=d.get('name'),
21935            tags=d.get('tags'),
21936        )

ProxyCluster represents a cluster of StrongDM proxies.

ProxyCluster( address=None, id=None, maintenance_windows=None, name=None, tags=None)
21867    def __init__(
21868        self,
21869        address=None,
21870        id=None,
21871        maintenance_windows=None,
21872        name=None,
21873        tags=None,
21874    ):
21875        self.address = address if address is not None else ''
21876        '''
21877         The public hostname/port tuple at which the proxy cluster will be
21878         accessible to clients.
21879        '''
21880        self.id = id if id is not None else ''
21881        '''
21882         Unique identifier of the Proxy Cluster.
21883        '''
21884        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
21885        '''
21886         Maintenance Windows define when this node is allowed to restart. If a node
21887         is requested to restart, it will check each window to determine if any of
21888         them permit it to restart, and if any do, it will. This check is repeated
21889         per window until the restart is successfully completed.
21890         
21891         If not set here, may be set on the command line or via an environment variable
21892         on the process itself; any server setting will take precedence over local
21893         settings. This setting is ineffective for nodes below version 38.44.0.
21894         
21895         If this setting is not applied via this remote configuration or via local
21896         configuration, the default setting is used: always allow restarts if serving
21897         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
21898        '''
21899        self.name = name if name is not None else ''
21900        '''
21901         Unique human-readable name of the proxy cluster. Names must
21902         include only letters, numbers, and hyphens (no spaces, underscores, or
21903         other special characters). Generated if not provided on create.
21904        '''
21905        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21906        '''
21907         Tags is a map of key, value pairs.
21908        '''
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)
21919    def to_dict(self):
21920        return {
21921            'address': self.address,
21922            'id': self.id,
21923            'maintenance_windows': self.maintenance_windows,
21924            'name': self.name,
21925            'tags': self.tags,
21926        }
@classmethod
def from_dict(cls, d)
21928    @classmethod
21929    def from_dict(cls, d):
21930        return cls(
21931            address=d.get('address'),
21932            id=d.get('id'),
21933            maintenance_windows=d.get('maintenance_windows'),
21934            name=d.get('name'),
21935            tags=d.get('tags'),
21936        )
class ProxyClusterKey:
21939class ProxyClusterKey:
21940    '''
21941         Proxy Cluster Keys are authentication keys for all proxies within a cluster.
21942     The proxies within a cluster share the same key. One cluster can have
21943     multiple keys in order to facilitate key rotation.
21944    '''
21945    __slots__ = [
21946        'created_at',
21947        'id',
21948        'last_used_at',
21949        'proxy_cluster_id',
21950    ]
21951
21952    def __init__(
21953        self,
21954        created_at=None,
21955        id=None,
21956        last_used_at=None,
21957        proxy_cluster_id=None,
21958    ):
21959        self.created_at = created_at if created_at is not None else None
21960        '''
21961         The timestamp when this key was created.
21962        '''
21963        self.id = id if id is not None else ''
21964        '''
21965         Unique identifier of the Relay.
21966        '''
21967        self.last_used_at = last_used_at if last_used_at is not None else None
21968        '''
21969         The timestamp when this key was last used, if at all.
21970        '''
21971        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21972        '''
21973         The ID of the proxy cluster which this key authenticates to.
21974        '''
21975
21976    def __repr__(self):
21977        return '<sdm.ProxyClusterKey ' + \
21978            'created_at: ' + repr(self.created_at) + ' ' +\
21979            'id: ' + repr(self.id) + ' ' +\
21980            'last_used_at: ' + repr(self.last_used_at) + ' ' +\
21981            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
21982            '>'
21983
21984    def to_dict(self):
21985        return {
21986            'created_at': self.created_at,
21987            'id': self.id,
21988            'last_used_at': self.last_used_at,
21989            'proxy_cluster_id': self.proxy_cluster_id,
21990        }
21991
21992    @classmethod
21993    def from_dict(cls, d):
21994        return cls(
21995            created_at=d.get('created_at'),
21996            id=d.get('id'),
21997            last_used_at=d.get('last_used_at'),
21998            proxy_cluster_id=d.get('proxy_cluster_id'),
21999        )

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)
21952    def __init__(
21953        self,
21954        created_at=None,
21955        id=None,
21956        last_used_at=None,
21957        proxy_cluster_id=None,
21958    ):
21959        self.created_at = created_at if created_at is not None else None
21960        '''
21961         The timestamp when this key was created.
21962        '''
21963        self.id = id if id is not None else ''
21964        '''
21965         Unique identifier of the Relay.
21966        '''
21967        self.last_used_at = last_used_at if last_used_at is not None else None
21968        '''
21969         The timestamp when this key was last used, if at all.
21970        '''
21971        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21972        '''
21973         The ID of the proxy cluster which this key authenticates to.
21974        '''
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)
21984    def to_dict(self):
21985        return {
21986            'created_at': self.created_at,
21987            'id': self.id,
21988            'last_used_at': self.last_used_at,
21989            'proxy_cluster_id': self.proxy_cluster_id,
21990        }
@classmethod
def from_dict(cls, d)
21992    @classmethod
21993    def from_dict(cls, d):
21994        return cls(
21995            created_at=d.get('created_at'),
21996            id=d.get('id'),
21997            last_used_at=d.get('last_used_at'),
21998            proxy_cluster_id=d.get('proxy_cluster_id'),
21999        )
class ProxyClusterKeyCreateResponse:
22002class ProxyClusterKeyCreateResponse:
22003    '''
22004         ProxyClusterKeyCreateResponse reports how the ProxyClusterKeys were created in the system.
22005    '''
22006    __slots__ = [
22007        'meta',
22008        'proxy_cluster_key',
22009        'rate_limit',
22010        'secret_key',
22011    ]
22012
22013    def __init__(
22014        self,
22015        meta=None,
22016        proxy_cluster_key=None,
22017        rate_limit=None,
22018        secret_key=None,
22019    ):
22020        self.meta = meta if meta is not None else None
22021        '''
22022         Reserved for future use.
22023        '''
22024        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
22025        '''
22026         The created ProxyClusterKey.
22027        '''
22028        self.rate_limit = rate_limit if rate_limit is not None else None
22029        '''
22030         Rate limit information.
22031        '''
22032        self.secret_key = secret_key if secret_key is not None else ''
22033        '''
22034         The secret key component of this key. It must be saved upon creation
22035         because it will not be available for retrieval later.
22036        '''
22037
22038    def __repr__(self):
22039        return '<sdm.ProxyClusterKeyCreateResponse ' + \
22040            'meta: ' + repr(self.meta) + ' ' +\
22041            'proxy_cluster_key: ' + repr(self.proxy_cluster_key) + ' ' +\
22042            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22043            'secret_key: ' + repr(self.secret_key) + ' ' +\
22044            '>'
22045
22046    def to_dict(self):
22047        return {
22048            'meta': self.meta,
22049            'proxy_cluster_key': self.proxy_cluster_key,
22050            'rate_limit': self.rate_limit,
22051            'secret_key': self.secret_key,
22052        }
22053
22054    @classmethod
22055    def from_dict(cls, d):
22056        return cls(
22057            meta=d.get('meta'),
22058            proxy_cluster_key=d.get('proxy_cluster_key'),
22059            rate_limit=d.get('rate_limit'),
22060            secret_key=d.get('secret_key'),
22061        )

ProxyClusterKeyCreateResponse reports how the ProxyClusterKeys were created in the system.

ProxyClusterKeyCreateResponse(meta=None, proxy_cluster_key=None, rate_limit=None, secret_key=None)
22013    def __init__(
22014        self,
22015        meta=None,
22016        proxy_cluster_key=None,
22017        rate_limit=None,
22018        secret_key=None,
22019    ):
22020        self.meta = meta if meta is not None else None
22021        '''
22022         Reserved for future use.
22023        '''
22024        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
22025        '''
22026         The created ProxyClusterKey.
22027        '''
22028        self.rate_limit = rate_limit if rate_limit is not None else None
22029        '''
22030         Rate limit information.
22031        '''
22032        self.secret_key = secret_key if secret_key is not None else ''
22033        '''
22034         The secret key component of this key. It must be saved upon creation
22035         because it will not be available for retrieval later.
22036        '''
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)
22046    def to_dict(self):
22047        return {
22048            'meta': self.meta,
22049            'proxy_cluster_key': self.proxy_cluster_key,
22050            'rate_limit': self.rate_limit,
22051            'secret_key': self.secret_key,
22052        }
@classmethod
def from_dict(cls, d)
22054    @classmethod
22055    def from_dict(cls, d):
22056        return cls(
22057            meta=d.get('meta'),
22058            proxy_cluster_key=d.get('proxy_cluster_key'),
22059            rate_limit=d.get('rate_limit'),
22060            secret_key=d.get('secret_key'),
22061        )
class ProxyClusterKeyDeleteResponse:
22064class ProxyClusterKeyDeleteResponse:
22065    '''
22066         ProxyClusterKeyDeleteResponse returns information about a ProxyClusterKey that was deleted.
22067    '''
22068    __slots__ = [
22069        'meta',
22070        'rate_limit',
22071    ]
22072
22073    def __init__(
22074        self,
22075        meta=None,
22076        rate_limit=None,
22077    ):
22078        self.meta = meta if meta is not None else None
22079        '''
22080         Reserved for future use.
22081        '''
22082        self.rate_limit = rate_limit if rate_limit is not None else None
22083        '''
22084         Rate limit information.
22085        '''
22086
22087    def __repr__(self):
22088        return '<sdm.ProxyClusterKeyDeleteResponse ' + \
22089            'meta: ' + repr(self.meta) + ' ' +\
22090            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22091            '>'
22092
22093    def to_dict(self):
22094        return {
22095            'meta': self.meta,
22096            'rate_limit': self.rate_limit,
22097        }
22098
22099    @classmethod
22100    def from_dict(cls, d):
22101        return cls(
22102            meta=d.get('meta'),
22103            rate_limit=d.get('rate_limit'),
22104        )

ProxyClusterKeyDeleteResponse returns information about a ProxyClusterKey that was deleted.

ProxyClusterKeyDeleteResponse(meta=None, rate_limit=None)
22073    def __init__(
22074        self,
22075        meta=None,
22076        rate_limit=None,
22077    ):
22078        self.meta = meta if meta is not None else None
22079        '''
22080         Reserved for future use.
22081        '''
22082        self.rate_limit = rate_limit if rate_limit is not None else None
22083        '''
22084         Rate limit information.
22085        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
22093    def to_dict(self):
22094        return {
22095            'meta': self.meta,
22096            'rate_limit': self.rate_limit,
22097        }
@classmethod
def from_dict(cls, d)
22099    @classmethod
22100    def from_dict(cls, d):
22101        return cls(
22102            meta=d.get('meta'),
22103            rate_limit=d.get('rate_limit'),
22104        )
class ProxyClusterKeyGetResponse:
22107class ProxyClusterKeyGetResponse:
22108    '''
22109         ProxyClusterKeyGetResponse returns a requested ProxyClusterKey.
22110    '''
22111    __slots__ = [
22112        'meta',
22113        'proxy_cluster_key',
22114        'rate_limit',
22115    ]
22116
22117    def __init__(
22118        self,
22119        meta=None,
22120        proxy_cluster_key=None,
22121        rate_limit=None,
22122    ):
22123        self.meta = meta if meta is not None else None
22124        '''
22125         Reserved for future use.
22126        '''
22127        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
22128        '''
22129         The requested ProxyClusterKey.
22130        '''
22131        self.rate_limit = rate_limit if rate_limit is not None else None
22132        '''
22133         Rate limit information.
22134        '''
22135
22136    def __repr__(self):
22137        return '<sdm.ProxyClusterKeyGetResponse ' + \
22138            'meta: ' + repr(self.meta) + ' ' +\
22139            'proxy_cluster_key: ' + repr(self.proxy_cluster_key) + ' ' +\
22140            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22141            '>'
22142
22143    def to_dict(self):
22144        return {
22145            'meta': self.meta,
22146            'proxy_cluster_key': self.proxy_cluster_key,
22147            'rate_limit': self.rate_limit,
22148        }
22149
22150    @classmethod
22151    def from_dict(cls, d):
22152        return cls(
22153            meta=d.get('meta'),
22154            proxy_cluster_key=d.get('proxy_cluster_key'),
22155            rate_limit=d.get('rate_limit'),
22156        )

ProxyClusterKeyGetResponse returns a requested ProxyClusterKey.

ProxyClusterKeyGetResponse(meta=None, proxy_cluster_key=None, rate_limit=None)
22117    def __init__(
22118        self,
22119        meta=None,
22120        proxy_cluster_key=None,
22121        rate_limit=None,
22122    ):
22123        self.meta = meta if meta is not None else None
22124        '''
22125         Reserved for future use.
22126        '''
22127        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
22128        '''
22129         The requested ProxyClusterKey.
22130        '''
22131        self.rate_limit = rate_limit if rate_limit is not None else None
22132        '''
22133         Rate limit information.
22134        '''
meta

Reserved for future use.

proxy_cluster_key

The requested ProxyClusterKey.

rate_limit

Rate limit information.

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

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

Query( account_email=None, account_first_name=None, account_id=None, account_last_name=None, account_tags=None, authzjson=None, capture=None, client_ip=None, completed_at=None, duration=None, egress_node_id=None, encrypted=None, id=None, identity_alias_username=None, query_body=None, query_category=None, query_hash=None, query_key=None, record_count=None, remote_identity_username=None, replayable=None, resource_id=None, resource_name=None, resource_tags=None, resource_type=None, source_ip=None, target=None, timestamp=None)
22198    def __init__(
22199        self,
22200        account_email=None,
22201        account_first_name=None,
22202        account_id=None,
22203        account_last_name=None,
22204        account_tags=None,
22205        authzjson=None,
22206        capture=None,
22207        client_ip=None,
22208        completed_at=None,
22209        duration=None,
22210        egress_node_id=None,
22211        encrypted=None,
22212        id=None,
22213        identity_alias_username=None,
22214        query_body=None,
22215        query_category=None,
22216        query_hash=None,
22217        query_key=None,
22218        record_count=None,
22219        remote_identity_username=None,
22220        replayable=None,
22221        resource_id=None,
22222        resource_name=None,
22223        resource_tags=None,
22224        resource_type=None,
22225        source_ip=None,
22226        target=None,
22227        timestamp=None,
22228    ):
22229        self.account_email = account_email if account_email is not None else ''
22230        '''
22231         The email of the account performing this query, at the time the query was executed.
22232         If the account email is later changed, that change will not be reflected via this field.
22233        '''
22234        self.account_first_name = account_first_name if account_first_name is not None else ''
22235        '''
22236         The given name of the account performing this query, at the time the query was executed.
22237         If the account is later renamed, that change will not be reflected via this field.
22238        '''
22239        self.account_id = account_id if account_id is not None else ''
22240        '''
22241         Unique identifier of the Account that performed the Query.
22242        '''
22243        self.account_last_name = account_last_name if account_last_name is not None else ''
22244        '''
22245         The family name of the account performing this query, at the time the query was executed.
22246         If the account is later renamed, that change will not be reflected via this field.
22247        '''
22248        self.account_tags = account_tags if account_tags is not None else _porcelain_zero_value_tags(
22249        )
22250        '''
22251         The tags of the account accessed, at the time the query was executed. If the account
22252         tags are later changed, that change will not be reflected via this field.
22253        '''
22254        self.authzjson = authzjson if authzjson is not None else ''
22255        '''
22256         Authorization metadata associated with this query.
22257        '''
22258        self.capture = capture if capture is not None else None
22259        '''
22260         For queries against SSH, Kubernetes, and RDP resources, this contains additional information
22261         about the captured query.
22262        '''
22263        self.client_ip = client_ip if client_ip is not None else ''
22264        '''
22265         The IP address the Query was performed from, as detected at the StrongDM control plane.
22266        '''
22267        self.completed_at = completed_at if completed_at is not None else None
22268        '''
22269         The time at which the Query was completed.
22270         Empty if this record indicates the start of a long-running query.
22271        '''
22272        self.duration = duration if duration is not None else None
22273        '''
22274         The duration of the Query.
22275        '''
22276        self.egress_node_id = egress_node_id if egress_node_id is not None else ''
22277        '''
22278         The unique ID of the node through which the Resource was accessed.
22279        '''
22280        self.encrypted = encrypted if encrypted is not None else False
22281        '''
22282         Indicates that the body of the Query is encrypted.
22283        '''
22284        self.id = id if id is not None else ''
22285        '''
22286         Unique identifier of the Query.
22287        '''
22288        self.identity_alias_username = identity_alias_username if identity_alias_username is not None else ''
22289        '''
22290         The username of the IdentityAlias used to access the Resource.
22291        '''
22292        self.query_body = query_body if query_body is not None else ''
22293        '''
22294         The captured content of the Query.
22295         For queries against SSH, Kubernetes, and RDP resources, this contains a JSON representation of the QueryCapture.
22296        '''
22297        self.query_category = query_category if query_category is not None else ''
22298        '''
22299         The general category of Resource against which Query was performed, e.g. "web" or "cloud".
22300        '''
22301        self.query_hash = query_hash if query_hash is not None else ''
22302        '''
22303         The hash of the body of the Query.
22304        '''
22305        self.query_key = query_key if query_key is not None else ''
22306        '''
22307         The symmetric key used to encrypt the body of this Query and its replay if replayable.
22308         If the Query is encrypted, this field contains an encrypted symmetric key in base64 encoding.
22309         This key must be decrypted with the organization's private key to obtain the symmetric key needed to decrypt the body.
22310         If the Query is not encrypted, this field is empty.
22311        '''
22312        self.record_count = record_count if record_count is not None else 0
22313        '''
22314         The number of records returned by the Query, for a database Resource.
22315        '''
22316        self.remote_identity_username = remote_identity_username if remote_identity_username is not None else ''
22317        '''
22318         The username of the RemoteIdentity used to access the Resource.
22319        '''
22320        self.replayable = replayable if replayable is not None else False
22321        '''
22322         Indicates that the Query is replayable, e.g. for some SSH or K8s sessions.
22323        '''
22324        self.resource_id = resource_id if resource_id is not None else ''
22325        '''
22326         Unique identifier of the Resource against which the Query was performed.
22327        '''
22328        self.resource_name = resource_name if resource_name is not None else ''
22329        '''
22330         The name of the resource accessed, at the time the query was executed. If the resource
22331         is later renamed, that change will not be reflected via this field.
22332        '''
22333        self.resource_tags = resource_tags if resource_tags is not None else _porcelain_zero_value_tags(
22334        )
22335        '''
22336         The tags of the resource accessed, at the time the query was executed. If the resource
22337         tags are later changed, that change will not be reflected via this field.
22338        '''
22339        self.resource_type = resource_type if resource_type is not None else ''
22340        '''
22341         The specific type of Resource against which the Query was performed, e.g. "ssh" or "postgres".
22342        '''
22343        self.source_ip = source_ip if source_ip is not None else ''
22344        '''
22345         The IP address the Query was performed from, as detected at the ingress gateway.
22346        '''
22347        self.target = target if target is not None else ''
22348        '''
22349         The target destination of the query, in host:port format.
22350        '''
22351        self.timestamp = timestamp if timestamp is not None else None
22352        '''
22353         The time at which the Query was started.
22354        '''
account_email

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

account_first_name

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

account_id

Unique identifier of the Account that performed the Query.

account_last_name

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

account_tags

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

authzjson

Authorization metadata associated with this query.

capture

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

client_ip

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

completed_at

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

duration

The duration of the Query.

egress_node_id

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

encrypted

Indicates that the body of the Query is encrypted.

id

Unique identifier of the Query.

identity_alias_username

The username of the IdentityAlias used to access the Resource.

query_body

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

query_category

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

query_hash

The hash of the body of the Query.

query_key

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

record_count

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

remote_identity_username

The username of the RemoteIdentity used to access the Resource.

replayable

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

resource_id

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

resource_name

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

resource_tags

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

resource_type

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

source_ip

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

target

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

timestamp

The time at which the Query was started.

def to_dict(self)
22388    def to_dict(self):
22389        return {
22390            'account_email': self.account_email,
22391            'account_first_name': self.account_first_name,
22392            'account_id': self.account_id,
22393            'account_last_name': self.account_last_name,
22394            'account_tags': self.account_tags,
22395            'authzjson': self.authzjson,
22396            'capture': self.capture,
22397            'client_ip': self.client_ip,
22398            'completed_at': self.completed_at,
22399            'duration': self.duration,
22400            'egress_node_id': self.egress_node_id,
22401            'encrypted': self.encrypted,
22402            'id': self.id,
22403            'identity_alias_username': self.identity_alias_username,
22404            'query_body': self.query_body,
22405            'query_category': self.query_category,
22406            'query_hash': self.query_hash,
22407            'query_key': self.query_key,
22408            'record_count': self.record_count,
22409            'remote_identity_username': self.remote_identity_username,
22410            'replayable': self.replayable,
22411            'resource_id': self.resource_id,
22412            'resource_name': self.resource_name,
22413            'resource_tags': self.resource_tags,
22414            'resource_type': self.resource_type,
22415            'source_ip': self.source_ip,
22416            'target': self.target,
22417            'timestamp': self.timestamp,
22418        }
@classmethod
def from_dict(cls, d)
22420    @classmethod
22421    def from_dict(cls, d):
22422        return cls(
22423            account_email=d.get('account_email'),
22424            account_first_name=d.get('account_first_name'),
22425            account_id=d.get('account_id'),
22426            account_last_name=d.get('account_last_name'),
22427            account_tags=d.get('account_tags'),
22428            authzjson=d.get('authzjson'),
22429            capture=d.get('capture'),
22430            client_ip=d.get('client_ip'),
22431            completed_at=d.get('completed_at'),
22432            duration=d.get('duration'),
22433            egress_node_id=d.get('egress_node_id'),
22434            encrypted=d.get('encrypted'),
22435            id=d.get('id'),
22436            identity_alias_username=d.get('identity_alias_username'),
22437            query_body=d.get('query_body'),
22438            query_category=d.get('query_category'),
22439            query_hash=d.get('query_hash'),
22440            query_key=d.get('query_key'),
22441            record_count=d.get('record_count'),
22442            remote_identity_username=d.get('remote_identity_username'),
22443            replayable=d.get('replayable'),
22444            resource_id=d.get('resource_id'),
22445            resource_name=d.get('resource_name'),
22446            resource_tags=d.get('resource_tags'),
22447            resource_type=d.get('resource_type'),
22448            source_ip=d.get('source_ip'),
22449            target=d.get('target'),
22450            timestamp=d.get('timestamp'),
22451        )
class QueryCapture:
22454class QueryCapture:
22455    '''
22456         A QueryCapture contains additional information about queries against SSH, Kubernetes, and RDP resources.
22457    '''
22458    __slots__ = [
22459        'client_command',
22460        'command',
22461        'container',
22462        'env',
22463        'file_name',
22464        'file_size',
22465        'height',
22466        'impersonation_groups',
22467        'impersonation_user',
22468        'pod',
22469        'privilege_groups',
22470        'request_body',
22471        'request_method',
22472        'request_uri',
22473        'type',
22474        'width',
22475    ]
22476
22477    def __init__(
22478        self,
22479        client_command=None,
22480        command=None,
22481        container=None,
22482        env=None,
22483        file_name=None,
22484        file_size=None,
22485        height=None,
22486        impersonation_groups=None,
22487        impersonation_user=None,
22488        pod=None,
22489        privilege_groups=None,
22490        request_body=None,
22491        request_method=None,
22492        request_uri=None,
22493        type=None,
22494        width=None,
22495    ):
22496        self.client_command = client_command if client_command is not None else ''
22497        '''
22498         The command executed on the client for a Kubernetes session.
22499        '''
22500        self.command = command if command is not None else ''
22501        '''
22502         The command executed over an SSH or Kubernetes session.
22503        '''
22504        self.container = container if container is not None else ''
22505        '''
22506         The target container of a Kubernetes operation.
22507        '''
22508        self.env = env if env is not None else {}
22509        '''
22510         The environment variables for an SSH or Kubernetes session.
22511        '''
22512        self.file_name = file_name if file_name is not None else ''
22513        '''
22514         The remote file name of an SCP operation.
22515        '''
22516        self.file_size = file_size if file_size is not None else 0
22517        '''
22518         The file size transferred for an SCP operation.
22519        '''
22520        self.height = height if height is not None else 0
22521        '''
22522         The height of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
22523        '''
22524        self.impersonation_groups = impersonation_groups if impersonation_groups is not None else []
22525        '''
22526         The impersonation groups of a Kubernetes operation.
22527        '''
22528        self.impersonation_user = impersonation_user if impersonation_user is not None else ''
22529        '''
22530         The impersonation user of a Kubernetes operation.
22531        '''
22532        self.pod = pod if pod is not None else ''
22533        '''
22534         The target pod of a Kubernetes operation.
22535        '''
22536        self.privilege_groups = privilege_groups if privilege_groups is not None else []
22537        '''
22538         The additional impersonation groups, as granted by privilege levels, of a Kubernetes operation.
22539        '''
22540        self.request_body = request_body if request_body is not None else b''
22541        '''
22542         The HTTP request body of a Kubernetes operation.
22543        '''
22544        self.request_method = request_method if request_method is not None else ''
22545        '''
22546         The HTTP request method of a Kubernetes operation.
22547        '''
22548        self.request_uri = request_uri if request_uri is not None else ''
22549        '''
22550         The HTTP request URI of a Kubernetes operation.
22551        '''
22552        self.type = type if type is not None else ''
22553        '''
22554         The CaptureType of this query capture, one of the CaptureType constants.
22555        '''
22556        self.width = width if width is not None else 0
22557        '''
22558         The width of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
22559        '''
22560
22561    def __repr__(self):
22562        return '<sdm.QueryCapture ' + \
22563            'client_command: ' + repr(self.client_command) + ' ' +\
22564            'command: ' + repr(self.command) + ' ' +\
22565            'container: ' + repr(self.container) + ' ' +\
22566            'env: ' + repr(self.env) + ' ' +\
22567            'file_name: ' + repr(self.file_name) + ' ' +\
22568            'file_size: ' + repr(self.file_size) + ' ' +\
22569            'height: ' + repr(self.height) + ' ' +\
22570            'impersonation_groups: ' + repr(self.impersonation_groups) + ' ' +\
22571            'impersonation_user: ' + repr(self.impersonation_user) + ' ' +\
22572            'pod: ' + repr(self.pod) + ' ' +\
22573            'privilege_groups: ' + repr(self.privilege_groups) + ' ' +\
22574            'request_body: ' + repr(self.request_body) + ' ' +\
22575            'request_method: ' + repr(self.request_method) + ' ' +\
22576            'request_uri: ' + repr(self.request_uri) + ' ' +\
22577            'type: ' + repr(self.type) + ' ' +\
22578            'width: ' + repr(self.width) + ' ' +\
22579            '>'
22580
22581    def to_dict(self):
22582        return {
22583            'client_command': self.client_command,
22584            'command': self.command,
22585            'container': self.container,
22586            'env': self.env,
22587            'file_name': self.file_name,
22588            'file_size': self.file_size,
22589            'height': self.height,
22590            'impersonation_groups': self.impersonation_groups,
22591            'impersonation_user': self.impersonation_user,
22592            'pod': self.pod,
22593            'privilege_groups': self.privilege_groups,
22594            'request_body': self.request_body,
22595            'request_method': self.request_method,
22596            'request_uri': self.request_uri,
22597            'type': self.type,
22598            'width': self.width,
22599        }
22600
22601    @classmethod
22602    def from_dict(cls, d):
22603        return cls(
22604            client_command=d.get('client_command'),
22605            command=d.get('command'),
22606            container=d.get('container'),
22607            env=d.get('env'),
22608            file_name=d.get('file_name'),
22609            file_size=d.get('file_size'),
22610            height=d.get('height'),
22611            impersonation_groups=d.get('impersonation_groups'),
22612            impersonation_user=d.get('impersonation_user'),
22613            pod=d.get('pod'),
22614            privilege_groups=d.get('privilege_groups'),
22615            request_body=d.get('request_body'),
22616            request_method=d.get('request_method'),
22617            request_uri=d.get('request_uri'),
22618            type=d.get('type'),
22619            width=d.get('width'),
22620        )

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)
22477    def __init__(
22478        self,
22479        client_command=None,
22480        command=None,
22481        container=None,
22482        env=None,
22483        file_name=None,
22484        file_size=None,
22485        height=None,
22486        impersonation_groups=None,
22487        impersonation_user=None,
22488        pod=None,
22489        privilege_groups=None,
22490        request_body=None,
22491        request_method=None,
22492        request_uri=None,
22493        type=None,
22494        width=None,
22495    ):
22496        self.client_command = client_command if client_command is not None else ''
22497        '''
22498         The command executed on the client for a Kubernetes session.
22499        '''
22500        self.command = command if command is not None else ''
22501        '''
22502         The command executed over an SSH or Kubernetes session.
22503        '''
22504        self.container = container if container is not None else ''
22505        '''
22506         The target container of a Kubernetes operation.
22507        '''
22508        self.env = env if env is not None else {}
22509        '''
22510         The environment variables for an SSH or Kubernetes session.
22511        '''
22512        self.file_name = file_name if file_name is not None else ''
22513        '''
22514         The remote file name of an SCP operation.
22515        '''
22516        self.file_size = file_size if file_size is not None else 0
22517        '''
22518         The file size transferred for an SCP operation.
22519        '''
22520        self.height = height if height is not None else 0
22521        '''
22522         The height of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
22523        '''
22524        self.impersonation_groups = impersonation_groups if impersonation_groups is not None else []
22525        '''
22526         The impersonation groups of a Kubernetes operation.
22527        '''
22528        self.impersonation_user = impersonation_user if impersonation_user is not None else ''
22529        '''
22530         The impersonation user of a Kubernetes operation.
22531        '''
22532        self.pod = pod if pod is not None else ''
22533        '''
22534         The target pod of a Kubernetes operation.
22535        '''
22536        self.privilege_groups = privilege_groups if privilege_groups is not None else []
22537        '''
22538         The additional impersonation groups, as granted by privilege levels, of a Kubernetes operation.
22539        '''
22540        self.request_body = request_body if request_body is not None else b''
22541        '''
22542         The HTTP request body of a Kubernetes operation.
22543        '''
22544        self.request_method = request_method if request_method is not None else ''
22545        '''
22546         The HTTP request method of a Kubernetes operation.
22547        '''
22548        self.request_uri = request_uri if request_uri is not None else ''
22549        '''
22550         The HTTP request URI of a Kubernetes operation.
22551        '''
22552        self.type = type if type is not None else ''
22553        '''
22554         The CaptureType of this query capture, one of the CaptureType constants.
22555        '''
22556        self.width = width if width is not None else 0
22557        '''
22558         The width of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
22559        '''
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)
22581    def to_dict(self):
22582        return {
22583            'client_command': self.client_command,
22584            'command': self.command,
22585            'container': self.container,
22586            'env': self.env,
22587            'file_name': self.file_name,
22588            'file_size': self.file_size,
22589            'height': self.height,
22590            'impersonation_groups': self.impersonation_groups,
22591            'impersonation_user': self.impersonation_user,
22592            'pod': self.pod,
22593            'privilege_groups': self.privilege_groups,
22594            'request_body': self.request_body,
22595            'request_method': self.request_method,
22596            'request_uri': self.request_uri,
22597            'type': self.type,
22598            'width': self.width,
22599        }
@classmethod
def from_dict(cls, d)
22601    @classmethod
22602    def from_dict(cls, d):
22603        return cls(
22604            client_command=d.get('client_command'),
22605            command=d.get('command'),
22606            container=d.get('container'),
22607            env=d.get('env'),
22608            file_name=d.get('file_name'),
22609            file_size=d.get('file_size'),
22610            height=d.get('height'),
22611            impersonation_groups=d.get('impersonation_groups'),
22612            impersonation_user=d.get('impersonation_user'),
22613            pod=d.get('pod'),
22614            privilege_groups=d.get('privilege_groups'),
22615            request_body=d.get('request_body'),
22616            request_method=d.get('request_method'),
22617            request_uri=d.get('request_uri'),
22618            type=d.get('type'),
22619            width=d.get('width'),
22620        )
class RDP:
22623class RDP:
22624    __slots__ = [
22625        'bind_interface',
22626        'downgrade_nla_connections',
22627        'egress_filter',
22628        'healthy',
22629        'hostname',
22630        'id',
22631        'lock_required',
22632        'name',
22633        'password',
22634        'port',
22635        'port_override',
22636        'proxy_cluster_id',
22637        'secret_store_id',
22638        'subdomain',
22639        'tags',
22640        'username',
22641    ]
22642
22643    def __init__(
22644        self,
22645        bind_interface=None,
22646        downgrade_nla_connections=None,
22647        egress_filter=None,
22648        healthy=None,
22649        hostname=None,
22650        id=None,
22651        lock_required=None,
22652        name=None,
22653        password=None,
22654        port=None,
22655        port_override=None,
22656        proxy_cluster_id=None,
22657        secret_store_id=None,
22658        subdomain=None,
22659        tags=None,
22660        username=None,
22661    ):
22662        self.bind_interface = bind_interface if bind_interface is not None else ''
22663        '''
22664         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
22665        '''
22666        self.downgrade_nla_connections = downgrade_nla_connections if downgrade_nla_connections is not None else False
22667        '''
22668         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.
22669        '''
22670        self.egress_filter = egress_filter if egress_filter is not None else ''
22671        '''
22672         A filter applied to the routing logic to pin datasource to nodes.
22673        '''
22674        self.healthy = healthy if healthy is not None else False
22675        '''
22676         True if the datasource is reachable and the credentials are valid.
22677        '''
22678        self.hostname = hostname if hostname is not None else ''
22679        '''
22680         The host to dial to initiate a connection from the egress node to this resource.
22681        '''
22682        self.id = id if id is not None else ''
22683        '''
22684         Unique identifier of the Resource.
22685        '''
22686        self.lock_required = lock_required if lock_required is not None else False
22687        '''
22688         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
22689        '''
22690        self.name = name if name is not None else ''
22691        '''
22692         Unique human-readable name of the Resource.
22693        '''
22694        self.password = password if password is not None else ''
22695        '''
22696         The password to authenticate with.
22697        '''
22698        self.port = port if port is not None else 0
22699        '''
22700         The port to dial to initiate a connection from the egress node to this resource.
22701        '''
22702        self.port_override = port_override if port_override is not None else 0
22703        '''
22704         The local port used by clients to connect to this resource.
22705        '''
22706        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22707        '''
22708         ID of the proxy cluster for this resource, if any.
22709        '''
22710        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22711        '''
22712         ID of the secret store containing credentials for this resource, if any.
22713        '''
22714        self.subdomain = subdomain if subdomain is not None else ''
22715        '''
22716         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
22717        '''
22718        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22719        '''
22720         Tags is a map of key, value pairs.
22721        '''
22722        self.username = username if username is not None else ''
22723        '''
22724         The username to authenticate with.
22725        '''
22726
22727    def __repr__(self):
22728        return '<sdm.RDP ' + \
22729            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
22730            'downgrade_nla_connections: ' + repr(self.downgrade_nla_connections) + ' ' +\
22731            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
22732            'healthy: ' + repr(self.healthy) + ' ' +\
22733            'hostname: ' + repr(self.hostname) + ' ' +\
22734            'id: ' + repr(self.id) + ' ' +\
22735            'lock_required: ' + repr(self.lock_required) + ' ' +\
22736            'name: ' + repr(self.name) + ' ' +\
22737            'password: ' + repr(self.password) + ' ' +\
22738            'port: ' + repr(self.port) + ' ' +\
22739            'port_override: ' + repr(self.port_override) + ' ' +\
22740            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
22741            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
22742            'subdomain: ' + repr(self.subdomain) + ' ' +\
22743            'tags: ' + repr(self.tags) + ' ' +\
22744            'username: ' + repr(self.username) + ' ' +\
22745            '>'
22746
22747    def to_dict(self):
22748        return {
22749            'bind_interface': self.bind_interface,
22750            'downgrade_nla_connections': self.downgrade_nla_connections,
22751            'egress_filter': self.egress_filter,
22752            'healthy': self.healthy,
22753            'hostname': self.hostname,
22754            'id': self.id,
22755            'lock_required': self.lock_required,
22756            'name': self.name,
22757            'password': self.password,
22758            'port': self.port,
22759            'port_override': self.port_override,
22760            'proxy_cluster_id': self.proxy_cluster_id,
22761            'secret_store_id': self.secret_store_id,
22762            'subdomain': self.subdomain,
22763            'tags': self.tags,
22764            'username': self.username,
22765        }
22766
22767    @classmethod
22768    def from_dict(cls, d):
22769        return cls(
22770            bind_interface=d.get('bind_interface'),
22771            downgrade_nla_connections=d.get('downgrade_nla_connections'),
22772            egress_filter=d.get('egress_filter'),
22773            healthy=d.get('healthy'),
22774            hostname=d.get('hostname'),
22775            id=d.get('id'),
22776            lock_required=d.get('lock_required'),
22777            name=d.get('name'),
22778            password=d.get('password'),
22779            port=d.get('port'),
22780            port_override=d.get('port_override'),
22781            proxy_cluster_id=d.get('proxy_cluster_id'),
22782            secret_store_id=d.get('secret_store_id'),
22783            subdomain=d.get('subdomain'),
22784            tags=d.get('tags'),
22785            username=d.get('username'),
22786        )
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)
22643    def __init__(
22644        self,
22645        bind_interface=None,
22646        downgrade_nla_connections=None,
22647        egress_filter=None,
22648        healthy=None,
22649        hostname=None,
22650        id=None,
22651        lock_required=None,
22652        name=None,
22653        password=None,
22654        port=None,
22655        port_override=None,
22656        proxy_cluster_id=None,
22657        secret_store_id=None,
22658        subdomain=None,
22659        tags=None,
22660        username=None,
22661    ):
22662        self.bind_interface = bind_interface if bind_interface is not None else ''
22663        '''
22664         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
22665        '''
22666        self.downgrade_nla_connections = downgrade_nla_connections if downgrade_nla_connections is not None else False
22667        '''
22668         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.
22669        '''
22670        self.egress_filter = egress_filter if egress_filter is not None else ''
22671        '''
22672         A filter applied to the routing logic to pin datasource to nodes.
22673        '''
22674        self.healthy = healthy if healthy is not None else False
22675        '''
22676         True if the datasource is reachable and the credentials are valid.
22677        '''
22678        self.hostname = hostname if hostname is not None else ''
22679        '''
22680         The host to dial to initiate a connection from the egress node to this resource.
22681        '''
22682        self.id = id if id is not None else ''
22683        '''
22684         Unique identifier of the Resource.
22685        '''
22686        self.lock_required = lock_required if lock_required is not None else False
22687        '''
22688         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
22689        '''
22690        self.name = name if name is not None else ''
22691        '''
22692         Unique human-readable name of the Resource.
22693        '''
22694        self.password = password if password is not None else ''
22695        '''
22696         The password to authenticate with.
22697        '''
22698        self.port = port if port is not None else 0
22699        '''
22700         The port to dial to initiate a connection from the egress node to this resource.
22701        '''
22702        self.port_override = port_override if port_override is not None else 0
22703        '''
22704         The local port used by clients to connect to this resource.
22705        '''
22706        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22707        '''
22708         ID of the proxy cluster for this resource, if any.
22709        '''
22710        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22711        '''
22712         ID of the secret store containing credentials for this resource, if any.
22713        '''
22714        self.subdomain = subdomain if subdomain is not None else ''
22715        '''
22716         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
22717        '''
22718        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22719        '''
22720         Tags is a map of key, value pairs.
22721        '''
22722        self.username = username if username is not None else ''
22723        '''
22724         The username to authenticate with.
22725        '''
bind_interface

The bind interface is the IP 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)
22747    def to_dict(self):
22748        return {
22749            'bind_interface': self.bind_interface,
22750            'downgrade_nla_connections': self.downgrade_nla_connections,
22751            'egress_filter': self.egress_filter,
22752            'healthy': self.healthy,
22753            'hostname': self.hostname,
22754            'id': self.id,
22755            'lock_required': self.lock_required,
22756            'name': self.name,
22757            'password': self.password,
22758            'port': self.port,
22759            'port_override': self.port_override,
22760            'proxy_cluster_id': self.proxy_cluster_id,
22761            'secret_store_id': self.secret_store_id,
22762            'subdomain': self.subdomain,
22763            'tags': self.tags,
22764            'username': self.username,
22765        }
@classmethod
def from_dict(cls, d)
22767    @classmethod
22768    def from_dict(cls, d):
22769        return cls(
22770            bind_interface=d.get('bind_interface'),
22771            downgrade_nla_connections=d.get('downgrade_nla_connections'),
22772            egress_filter=d.get('egress_filter'),
22773            healthy=d.get('healthy'),
22774            hostname=d.get('hostname'),
22775            id=d.get('id'),
22776            lock_required=d.get('lock_required'),
22777            name=d.get('name'),
22778            password=d.get('password'),
22779            port=d.get('port'),
22780            port_override=d.get('port_override'),
22781            proxy_cluster_id=d.get('proxy_cluster_id'),
22782            secret_store_id=d.get('secret_store_id'),
22783            subdomain=d.get('subdomain'),
22784            tags=d.get('tags'),
22785            username=d.get('username'),
22786        )
class RDPCert:
22789class RDPCert:
22790    __slots__ = [
22791        'bind_interface',
22792        'egress_filter',
22793        'healthy',
22794        'hostname',
22795        'id',
22796        'identity_alias_healthcheck_username',
22797        'identity_set_id',
22798        'lock_required',
22799        'name',
22800        'port',
22801        'port_override',
22802        'proxy_cluster_id',
22803        'secret_store_id',
22804        'subdomain',
22805        'tags',
22806        'username',
22807    ]
22808
22809    def __init__(
22810        self,
22811        bind_interface=None,
22812        egress_filter=None,
22813        healthy=None,
22814        hostname=None,
22815        id=None,
22816        identity_alias_healthcheck_username=None,
22817        identity_set_id=None,
22818        lock_required=None,
22819        name=None,
22820        port=None,
22821        port_override=None,
22822        proxy_cluster_id=None,
22823        secret_store_id=None,
22824        subdomain=None,
22825        tags=None,
22826        username=None,
22827    ):
22828        self.bind_interface = bind_interface if bind_interface is not None else ''
22829        '''
22830         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
22831        '''
22832        self.egress_filter = egress_filter if egress_filter is not None else ''
22833        '''
22834         A filter applied to the routing logic to pin datasource to nodes.
22835        '''
22836        self.healthy = healthy if healthy is not None else False
22837        '''
22838         True if the datasource is reachable and the credentials are valid.
22839        '''
22840        self.hostname = hostname if hostname is not None else ''
22841        '''
22842         The host to dial to initiate a connection from the egress node to this resource.
22843        '''
22844        self.id = id if id is not None else ''
22845        '''
22846         Unique identifier of the Resource.
22847        '''
22848        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
22849        '''
22850         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
22851        '''
22852        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
22853        '''
22854         The ID of the identity set to use for identity connections.
22855        '''
22856        self.lock_required = lock_required if lock_required is not None else False
22857        '''
22858         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
22859        '''
22860        self.name = name if name is not None else ''
22861        '''
22862         Unique human-readable name of the Resource.
22863        '''
22864        self.port = port if port is not None else 0
22865        '''
22866         The port to dial to initiate a connection from the egress node to this resource.
22867        '''
22868        self.port_override = port_override if port_override is not None else 0
22869        '''
22870         The local port used by clients to connect to this resource.
22871        '''
22872        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22873        '''
22874         ID of the proxy cluster for this resource, if any.
22875        '''
22876        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22877        '''
22878         ID of the secret store containing credentials for this resource, if any.
22879        '''
22880        self.subdomain = subdomain if subdomain is not None else ''
22881        '''
22882         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
22883        '''
22884        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22885        '''
22886         Tags is a map of key, value pairs.
22887        '''
22888        self.username = username if username is not None else ''
22889        '''
22890         The username to authenticate with.
22891        '''
22892
22893    def __repr__(self):
22894        return '<sdm.RDPCert ' + \
22895            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
22896            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
22897            'healthy: ' + repr(self.healthy) + ' ' +\
22898            'hostname: ' + repr(self.hostname) + ' ' +\
22899            'id: ' + repr(self.id) + ' ' +\
22900            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
22901            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
22902            'lock_required: ' + repr(self.lock_required) + ' ' +\
22903            'name: ' + repr(self.name) + ' ' +\
22904            'port: ' + repr(self.port) + ' ' +\
22905            'port_override: ' + repr(self.port_override) + ' ' +\
22906            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
22907            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
22908            'subdomain: ' + repr(self.subdomain) + ' ' +\
22909            'tags: ' + repr(self.tags) + ' ' +\
22910            'username: ' + repr(self.username) + ' ' +\
22911            '>'
22912
22913    def to_dict(self):
22914        return {
22915            'bind_interface': self.bind_interface,
22916            'egress_filter': self.egress_filter,
22917            'healthy': self.healthy,
22918            'hostname': self.hostname,
22919            'id': self.id,
22920            'identity_alias_healthcheck_username':
22921            self.identity_alias_healthcheck_username,
22922            'identity_set_id': self.identity_set_id,
22923            'lock_required': self.lock_required,
22924            'name': self.name,
22925            'port': self.port,
22926            'port_override': self.port_override,
22927            'proxy_cluster_id': self.proxy_cluster_id,
22928            'secret_store_id': self.secret_store_id,
22929            'subdomain': self.subdomain,
22930            'tags': self.tags,
22931            'username': self.username,
22932        }
22933
22934    @classmethod
22935    def from_dict(cls, d):
22936        return cls(
22937            bind_interface=d.get('bind_interface'),
22938            egress_filter=d.get('egress_filter'),
22939            healthy=d.get('healthy'),
22940            hostname=d.get('hostname'),
22941            id=d.get('id'),
22942            identity_alias_healthcheck_username=d.get(
22943                'identity_alias_healthcheck_username'),
22944            identity_set_id=d.get('identity_set_id'),
22945            lock_required=d.get('lock_required'),
22946            name=d.get('name'),
22947            port=d.get('port'),
22948            port_override=d.get('port_override'),
22949            proxy_cluster_id=d.get('proxy_cluster_id'),
22950            secret_store_id=d.get('secret_store_id'),
22951            subdomain=d.get('subdomain'),
22952            tags=d.get('tags'),
22953            username=d.get('username'),
22954        )
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)
22809    def __init__(
22810        self,
22811        bind_interface=None,
22812        egress_filter=None,
22813        healthy=None,
22814        hostname=None,
22815        id=None,
22816        identity_alias_healthcheck_username=None,
22817        identity_set_id=None,
22818        lock_required=None,
22819        name=None,
22820        port=None,
22821        port_override=None,
22822        proxy_cluster_id=None,
22823        secret_store_id=None,
22824        subdomain=None,
22825        tags=None,
22826        username=None,
22827    ):
22828        self.bind_interface = bind_interface if bind_interface is not None else ''
22829        '''
22830         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
22831        '''
22832        self.egress_filter = egress_filter if egress_filter is not None else ''
22833        '''
22834         A filter applied to the routing logic to pin datasource to nodes.
22835        '''
22836        self.healthy = healthy if healthy is not None else False
22837        '''
22838         True if the datasource is reachable and the credentials are valid.
22839        '''
22840        self.hostname = hostname if hostname is not None else ''
22841        '''
22842         The host to dial to initiate a connection from the egress node to this resource.
22843        '''
22844        self.id = id if id is not None else ''
22845        '''
22846         Unique identifier of the Resource.
22847        '''
22848        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
22849        '''
22850         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
22851        '''
22852        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
22853        '''
22854         The ID of the identity set to use for identity connections.
22855        '''
22856        self.lock_required = lock_required if lock_required is not None else False
22857        '''
22858         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
22859        '''
22860        self.name = name if name is not None else ''
22861        '''
22862         Unique human-readable name of the Resource.
22863        '''
22864        self.port = port if port is not None else 0
22865        '''
22866         The port to dial to initiate a connection from the egress node to this resource.
22867        '''
22868        self.port_override = port_override if port_override is not None else 0
22869        '''
22870         The local port used by clients to connect to this resource.
22871        '''
22872        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22873        '''
22874         ID of the proxy cluster for this resource, if any.
22875        '''
22876        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22877        '''
22878         ID of the secret store containing credentials for this resource, if any.
22879        '''
22880        self.subdomain = subdomain if subdomain is not None else ''
22881        '''
22882         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
22883        '''
22884        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22885        '''
22886         Tags is a map of key, value pairs.
22887        '''
22888        self.username = username if username is not None else ''
22889        '''
22890         The username to authenticate with.
22891        '''
bind_interface

The bind interface is the IP 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)
22913    def to_dict(self):
22914        return {
22915            'bind_interface': self.bind_interface,
22916            'egress_filter': self.egress_filter,
22917            'healthy': self.healthy,
22918            'hostname': self.hostname,
22919            'id': self.id,
22920            'identity_alias_healthcheck_username':
22921            self.identity_alias_healthcheck_username,
22922            'identity_set_id': self.identity_set_id,
22923            'lock_required': self.lock_required,
22924            'name': self.name,
22925            'port': self.port,
22926            'port_override': self.port_override,
22927            'proxy_cluster_id': self.proxy_cluster_id,
22928            'secret_store_id': self.secret_store_id,
22929            'subdomain': self.subdomain,
22930            'tags': self.tags,
22931            'username': self.username,
22932        }
@classmethod
def from_dict(cls, d)
22934    @classmethod
22935    def from_dict(cls, d):
22936        return cls(
22937            bind_interface=d.get('bind_interface'),
22938            egress_filter=d.get('egress_filter'),
22939            healthy=d.get('healthy'),
22940            hostname=d.get('hostname'),
22941            id=d.get('id'),
22942            identity_alias_healthcheck_username=d.get(
22943                'identity_alias_healthcheck_username'),
22944            identity_set_id=d.get('identity_set_id'),
22945            lock_required=d.get('lock_required'),
22946            name=d.get('name'),
22947            port=d.get('port'),
22948            port_override=d.get('port_override'),
22949            proxy_cluster_id=d.get('proxy_cluster_id'),
22950            secret_store_id=d.get('secret_store_id'),
22951            subdomain=d.get('subdomain'),
22952            tags=d.get('tags'),
22953            username=d.get('username'),
22954        )
class RDSPostgresIAM:
22957class RDSPostgresIAM:
22958    __slots__ = [
22959        'bind_interface',
22960        'database',
22961        'egress_filter',
22962        'healthy',
22963        'hostname',
22964        'id',
22965        'name',
22966        'override_database',
22967        'port',
22968        'port_override',
22969        'proxy_cluster_id',
22970        'region',
22971        'role_assumption_arn',
22972        'secret_store_id',
22973        'subdomain',
22974        'tags',
22975        'username',
22976    ]
22977
22978    def __init__(
22979        self,
22980        bind_interface=None,
22981        database=None,
22982        egress_filter=None,
22983        healthy=None,
22984        hostname=None,
22985        id=None,
22986        name=None,
22987        override_database=None,
22988        port=None,
22989        port_override=None,
22990        proxy_cluster_id=None,
22991        region=None,
22992        role_assumption_arn=None,
22993        secret_store_id=None,
22994        subdomain=None,
22995        tags=None,
22996        username=None,
22997    ):
22998        self.bind_interface = bind_interface if bind_interface is not None else ''
22999        '''
23000         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23001        '''
23002        self.database = database if database is not None else ''
23003        '''
23004         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
23005        '''
23006        self.egress_filter = egress_filter if egress_filter is not None else ''
23007        '''
23008         A filter applied to the routing logic to pin datasource to nodes.
23009        '''
23010        self.healthy = healthy if healthy is not None else False
23011        '''
23012         True if the datasource is reachable and the credentials are valid.
23013        '''
23014        self.hostname = hostname if hostname is not None else ''
23015        '''
23016         The host to dial to initiate a connection from the egress node to this resource.
23017        '''
23018        self.id = id if id is not None else ''
23019        '''
23020         Unique identifier of the Resource.
23021        '''
23022        self.name = name if name is not None else ''
23023        '''
23024         Unique human-readable name of the Resource.
23025        '''
23026        self.override_database = override_database if override_database is not None else False
23027        '''
23028         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
23029        '''
23030        self.port = port if port is not None else 0
23031        '''
23032         The port to dial to initiate a connection from the egress node to this resource.
23033        '''
23034        self.port_override = port_override if port_override is not None else 0
23035        '''
23036         The local port used by clients to connect to this resource.
23037        '''
23038        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23039        '''
23040         ID of the proxy cluster for this resource, if any.
23041        '''
23042        self.region = region if region is not None else ''
23043        '''
23044         The AWS region to connect to.
23045        '''
23046        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
23047        '''
23048         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
23049        '''
23050        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23051        '''
23052         ID of the secret store containing credentials for this resource, if any.
23053        '''
23054        self.subdomain = subdomain if subdomain is not None else ''
23055        '''
23056         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23057        '''
23058        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23059        '''
23060         Tags is a map of key, value pairs.
23061        '''
23062        self.username = username if username is not None else ''
23063        '''
23064         The username to authenticate with.
23065        '''
23066
23067    def __repr__(self):
23068        return '<sdm.RDSPostgresIAM ' + \
23069            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23070            'database: ' + repr(self.database) + ' ' +\
23071            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23072            'healthy: ' + repr(self.healthy) + ' ' +\
23073            'hostname: ' + repr(self.hostname) + ' ' +\
23074            'id: ' + repr(self.id) + ' ' +\
23075            'name: ' + repr(self.name) + ' ' +\
23076            'override_database: ' + repr(self.override_database) + ' ' +\
23077            'port: ' + repr(self.port) + ' ' +\
23078            'port_override: ' + repr(self.port_override) + ' ' +\
23079            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23080            'region: ' + repr(self.region) + ' ' +\
23081            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
23082            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23083            'subdomain: ' + repr(self.subdomain) + ' ' +\
23084            'tags: ' + repr(self.tags) + ' ' +\
23085            'username: ' + repr(self.username) + ' ' +\
23086            '>'
23087
23088    def to_dict(self):
23089        return {
23090            'bind_interface': self.bind_interface,
23091            'database': self.database,
23092            'egress_filter': self.egress_filter,
23093            'healthy': self.healthy,
23094            'hostname': self.hostname,
23095            'id': self.id,
23096            'name': self.name,
23097            'override_database': self.override_database,
23098            'port': self.port,
23099            'port_override': self.port_override,
23100            'proxy_cluster_id': self.proxy_cluster_id,
23101            'region': self.region,
23102            'role_assumption_arn': self.role_assumption_arn,
23103            'secret_store_id': self.secret_store_id,
23104            'subdomain': self.subdomain,
23105            'tags': self.tags,
23106            'username': self.username,
23107        }
23108
23109    @classmethod
23110    def from_dict(cls, d):
23111        return cls(
23112            bind_interface=d.get('bind_interface'),
23113            database=d.get('database'),
23114            egress_filter=d.get('egress_filter'),
23115            healthy=d.get('healthy'),
23116            hostname=d.get('hostname'),
23117            id=d.get('id'),
23118            name=d.get('name'),
23119            override_database=d.get('override_database'),
23120            port=d.get('port'),
23121            port_override=d.get('port_override'),
23122            proxy_cluster_id=d.get('proxy_cluster_id'),
23123            region=d.get('region'),
23124            role_assumption_arn=d.get('role_assumption_arn'),
23125            secret_store_id=d.get('secret_store_id'),
23126            subdomain=d.get('subdomain'),
23127            tags=d.get('tags'),
23128            username=d.get('username'),
23129        )
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)
22978    def __init__(
22979        self,
22980        bind_interface=None,
22981        database=None,
22982        egress_filter=None,
22983        healthy=None,
22984        hostname=None,
22985        id=None,
22986        name=None,
22987        override_database=None,
22988        port=None,
22989        port_override=None,
22990        proxy_cluster_id=None,
22991        region=None,
22992        role_assumption_arn=None,
22993        secret_store_id=None,
22994        subdomain=None,
22995        tags=None,
22996        username=None,
22997    ):
22998        self.bind_interface = bind_interface if bind_interface is not None else ''
22999        '''
23000         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23001        '''
23002        self.database = database if database is not None else ''
23003        '''
23004         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
23005        '''
23006        self.egress_filter = egress_filter if egress_filter is not None else ''
23007        '''
23008         A filter applied to the routing logic to pin datasource to nodes.
23009        '''
23010        self.healthy = healthy if healthy is not None else False
23011        '''
23012         True if the datasource is reachable and the credentials are valid.
23013        '''
23014        self.hostname = hostname if hostname is not None else ''
23015        '''
23016         The host to dial to initiate a connection from the egress node to this resource.
23017        '''
23018        self.id = id if id is not None else ''
23019        '''
23020         Unique identifier of the Resource.
23021        '''
23022        self.name = name if name is not None else ''
23023        '''
23024         Unique human-readable name of the Resource.
23025        '''
23026        self.override_database = override_database if override_database is not None else False
23027        '''
23028         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
23029        '''
23030        self.port = port if port is not None else 0
23031        '''
23032         The port to dial to initiate a connection from the egress node to this resource.
23033        '''
23034        self.port_override = port_override if port_override is not None else 0
23035        '''
23036         The local port used by clients to connect to this resource.
23037        '''
23038        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23039        '''
23040         ID of the proxy cluster for this resource, if any.
23041        '''
23042        self.region = region if region is not None else ''
23043        '''
23044         The AWS region to connect to.
23045        '''
23046        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
23047        '''
23048         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
23049        '''
23050        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23051        '''
23052         ID of the secret store containing credentials for this resource, if any.
23053        '''
23054        self.subdomain = subdomain if subdomain is not None else ''
23055        '''
23056         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23057        '''
23058        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23059        '''
23060         Tags is a map of key, value pairs.
23061        '''
23062        self.username = username if username is not None else ''
23063        '''
23064         The username to authenticate with.
23065        '''
bind_interface

The bind interface is the IP 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)
23088    def to_dict(self):
23089        return {
23090            'bind_interface': self.bind_interface,
23091            'database': self.database,
23092            'egress_filter': self.egress_filter,
23093            'healthy': self.healthy,
23094            'hostname': self.hostname,
23095            'id': self.id,
23096            'name': self.name,
23097            'override_database': self.override_database,
23098            'port': self.port,
23099            'port_override': self.port_override,
23100            'proxy_cluster_id': self.proxy_cluster_id,
23101            'region': self.region,
23102            'role_assumption_arn': self.role_assumption_arn,
23103            'secret_store_id': self.secret_store_id,
23104            'subdomain': self.subdomain,
23105            'tags': self.tags,
23106            'username': self.username,
23107        }
@classmethod
def from_dict(cls, d)
23109    @classmethod
23110    def from_dict(cls, d):
23111        return cls(
23112            bind_interface=d.get('bind_interface'),
23113            database=d.get('database'),
23114            egress_filter=d.get('egress_filter'),
23115            healthy=d.get('healthy'),
23116            hostname=d.get('hostname'),
23117            id=d.get('id'),
23118            name=d.get('name'),
23119            override_database=d.get('override_database'),
23120            port=d.get('port'),
23121            port_override=d.get('port_override'),
23122            proxy_cluster_id=d.get('proxy_cluster_id'),
23123            region=d.get('region'),
23124            role_assumption_arn=d.get('role_assumption_arn'),
23125            secret_store_id=d.get('secret_store_id'),
23126            subdomain=d.get('subdomain'),
23127            tags=d.get('tags'),
23128            username=d.get('username'),
23129        )
class RabbitMQAMQP091:
23132class RabbitMQAMQP091:
23133    __slots__ = [
23134        'bind_interface',
23135        'egress_filter',
23136        'healthy',
23137        'hostname',
23138        'id',
23139        'name',
23140        'password',
23141        'port',
23142        'port_override',
23143        'proxy_cluster_id',
23144        'secret_store_id',
23145        'subdomain',
23146        'tags',
23147        'tls_required',
23148        'username',
23149    ]
23150
23151    def __init__(
23152        self,
23153        bind_interface=None,
23154        egress_filter=None,
23155        healthy=None,
23156        hostname=None,
23157        id=None,
23158        name=None,
23159        password=None,
23160        port=None,
23161        port_override=None,
23162        proxy_cluster_id=None,
23163        secret_store_id=None,
23164        subdomain=None,
23165        tags=None,
23166        tls_required=None,
23167        username=None,
23168    ):
23169        self.bind_interface = bind_interface if bind_interface is not None else ''
23170        '''
23171         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23172        '''
23173        self.egress_filter = egress_filter if egress_filter is not None else ''
23174        '''
23175         A filter applied to the routing logic to pin datasource to nodes.
23176        '''
23177        self.healthy = healthy if healthy is not None else False
23178        '''
23179         True if the datasource is reachable and the credentials are valid.
23180        '''
23181        self.hostname = hostname if hostname is not None else ''
23182        '''
23183         The host to dial to initiate a connection from the egress node to this resource.
23184        '''
23185        self.id = id if id is not None else ''
23186        '''
23187         Unique identifier of the Resource.
23188        '''
23189        self.name = name if name is not None else ''
23190        '''
23191         Unique human-readable name of the Resource.
23192        '''
23193        self.password = password if password is not None else ''
23194        '''
23195         The password to authenticate with.
23196        '''
23197        self.port = port if port is not None else 0
23198        '''
23199         The port to dial to initiate a connection from the egress node to this resource.
23200        '''
23201        self.port_override = port_override if port_override is not None else 0
23202        '''
23203         The local port used by clients to connect to this resource.
23204        '''
23205        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23206        '''
23207         ID of the proxy cluster for this resource, if any.
23208        '''
23209        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23210        '''
23211         ID of the secret store containing credentials for this resource, if any.
23212        '''
23213        self.subdomain = subdomain if subdomain is not None else ''
23214        '''
23215         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23216        '''
23217        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23218        '''
23219         Tags is a map of key, value pairs.
23220        '''
23221        self.tls_required = tls_required if tls_required is not None else False
23222        '''
23223         If set, TLS must be used to connect to this resource.
23224        '''
23225        self.username = username if username is not None else ''
23226        '''
23227         The username to authenticate with.
23228        '''
23229
23230    def __repr__(self):
23231        return '<sdm.RabbitMQAMQP091 ' + \
23232            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23233            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23234            'healthy: ' + repr(self.healthy) + ' ' +\
23235            'hostname: ' + repr(self.hostname) + ' ' +\
23236            'id: ' + repr(self.id) + ' ' +\
23237            'name: ' + repr(self.name) + ' ' +\
23238            'password: ' + repr(self.password) + ' ' +\
23239            'port: ' + repr(self.port) + ' ' +\
23240            'port_override: ' + repr(self.port_override) + ' ' +\
23241            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23242            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23243            'subdomain: ' + repr(self.subdomain) + ' ' +\
23244            'tags: ' + repr(self.tags) + ' ' +\
23245            'tls_required: ' + repr(self.tls_required) + ' ' +\
23246            'username: ' + repr(self.username) + ' ' +\
23247            '>'
23248
23249    def to_dict(self):
23250        return {
23251            'bind_interface': self.bind_interface,
23252            'egress_filter': self.egress_filter,
23253            'healthy': self.healthy,
23254            'hostname': self.hostname,
23255            'id': self.id,
23256            'name': self.name,
23257            'password': self.password,
23258            'port': self.port,
23259            'port_override': self.port_override,
23260            'proxy_cluster_id': self.proxy_cluster_id,
23261            'secret_store_id': self.secret_store_id,
23262            'subdomain': self.subdomain,
23263            'tags': self.tags,
23264            'tls_required': self.tls_required,
23265            'username': self.username,
23266        }
23267
23268    @classmethod
23269    def from_dict(cls, d):
23270        return cls(
23271            bind_interface=d.get('bind_interface'),
23272            egress_filter=d.get('egress_filter'),
23273            healthy=d.get('healthy'),
23274            hostname=d.get('hostname'),
23275            id=d.get('id'),
23276            name=d.get('name'),
23277            password=d.get('password'),
23278            port=d.get('port'),
23279            port_override=d.get('port_override'),
23280            proxy_cluster_id=d.get('proxy_cluster_id'),
23281            secret_store_id=d.get('secret_store_id'),
23282            subdomain=d.get('subdomain'),
23283            tags=d.get('tags'),
23284            tls_required=d.get('tls_required'),
23285            username=d.get('username'),
23286        )
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)
23151    def __init__(
23152        self,
23153        bind_interface=None,
23154        egress_filter=None,
23155        healthy=None,
23156        hostname=None,
23157        id=None,
23158        name=None,
23159        password=None,
23160        port=None,
23161        port_override=None,
23162        proxy_cluster_id=None,
23163        secret_store_id=None,
23164        subdomain=None,
23165        tags=None,
23166        tls_required=None,
23167        username=None,
23168    ):
23169        self.bind_interface = bind_interface if bind_interface is not None else ''
23170        '''
23171         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23172        '''
23173        self.egress_filter = egress_filter if egress_filter is not None else ''
23174        '''
23175         A filter applied to the routing logic to pin datasource to nodes.
23176        '''
23177        self.healthy = healthy if healthy is not None else False
23178        '''
23179         True if the datasource is reachable and the credentials are valid.
23180        '''
23181        self.hostname = hostname if hostname is not None else ''
23182        '''
23183         The host to dial to initiate a connection from the egress node to this resource.
23184        '''
23185        self.id = id if id is not None else ''
23186        '''
23187         Unique identifier of the Resource.
23188        '''
23189        self.name = name if name is not None else ''
23190        '''
23191         Unique human-readable name of the Resource.
23192        '''
23193        self.password = password if password is not None else ''
23194        '''
23195         The password to authenticate with.
23196        '''
23197        self.port = port if port is not None else 0
23198        '''
23199         The port to dial to initiate a connection from the egress node to this resource.
23200        '''
23201        self.port_override = port_override if port_override is not None else 0
23202        '''
23203         The local port used by clients to connect to this resource.
23204        '''
23205        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23206        '''
23207         ID of the proxy cluster for this resource, if any.
23208        '''
23209        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23210        '''
23211         ID of the secret store containing credentials for this resource, if any.
23212        '''
23213        self.subdomain = subdomain if subdomain is not None else ''
23214        '''
23215         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23216        '''
23217        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23218        '''
23219         Tags is a map of key, value pairs.
23220        '''
23221        self.tls_required = tls_required if tls_required is not None else False
23222        '''
23223         If set, TLS must be used to connect to this resource.
23224        '''
23225        self.username = username if username is not None else ''
23226        '''
23227         The username to authenticate with.
23228        '''
bind_interface

The bind interface is the IP 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)
23249    def to_dict(self):
23250        return {
23251            'bind_interface': self.bind_interface,
23252            'egress_filter': self.egress_filter,
23253            'healthy': self.healthy,
23254            'hostname': self.hostname,
23255            'id': self.id,
23256            'name': self.name,
23257            'password': self.password,
23258            'port': self.port,
23259            'port_override': self.port_override,
23260            'proxy_cluster_id': self.proxy_cluster_id,
23261            'secret_store_id': self.secret_store_id,
23262            'subdomain': self.subdomain,
23263            'tags': self.tags,
23264            'tls_required': self.tls_required,
23265            'username': self.username,
23266        }
@classmethod
def from_dict(cls, d)
23268    @classmethod
23269    def from_dict(cls, d):
23270        return cls(
23271            bind_interface=d.get('bind_interface'),
23272            egress_filter=d.get('egress_filter'),
23273            healthy=d.get('healthy'),
23274            hostname=d.get('hostname'),
23275            id=d.get('id'),
23276            name=d.get('name'),
23277            password=d.get('password'),
23278            port=d.get('port'),
23279            port_override=d.get('port_override'),
23280            proxy_cluster_id=d.get('proxy_cluster_id'),
23281            secret_store_id=d.get('secret_store_id'),
23282            subdomain=d.get('subdomain'),
23283            tags=d.get('tags'),
23284            tls_required=d.get('tls_required'),
23285            username=d.get('username'),
23286        )
class RateLimitMetadata:
23289class RateLimitMetadata:
23290    '''
23291         RateLimitMetadata contains information about remaining requests avaialable
23292     to the user over some timeframe.
23293    '''
23294    __slots__ = [
23295        'bucket',
23296        'limit',
23297        'remaining',
23298        'reset_at',
23299    ]
23300
23301    def __init__(
23302        self,
23303        bucket=None,
23304        limit=None,
23305        remaining=None,
23306        reset_at=None,
23307    ):
23308        self.bucket = bucket if bucket is not None else ''
23309        '''
23310         The bucket this user/token is associated with, which may be shared between
23311         multiple users/tokens.
23312        '''
23313        self.limit = limit if limit is not None else 0
23314        '''
23315         How many total requests the user/token is authorized to make before being
23316         rate limited.
23317        '''
23318        self.remaining = remaining if remaining is not None else 0
23319        '''
23320         How many remaining requests out of the limit are still avaialable.
23321        '''
23322        self.reset_at = reset_at if reset_at is not None else None
23323        '''
23324         The time when remaining will be reset to limit.
23325        '''
23326
23327    def __repr__(self):
23328        return '<sdm.RateLimitMetadata ' + \
23329            'bucket: ' + repr(self.bucket) + ' ' +\
23330            'limit: ' + repr(self.limit) + ' ' +\
23331            'remaining: ' + repr(self.remaining) + ' ' +\
23332            'reset_at: ' + repr(self.reset_at) + ' ' +\
23333            '>'
23334
23335    def to_dict(self):
23336        return {
23337            'bucket': self.bucket,
23338            'limit': self.limit,
23339            'remaining': self.remaining,
23340            'reset_at': self.reset_at,
23341        }
23342
23343    @classmethod
23344    def from_dict(cls, d):
23345        return cls(
23346            bucket=d.get('bucket'),
23347            limit=d.get('limit'),
23348            remaining=d.get('remaining'),
23349            reset_at=d.get('reset_at'),
23350        )

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

RateLimitMetadata(bucket=None, limit=None, remaining=None, reset_at=None)
23301    def __init__(
23302        self,
23303        bucket=None,
23304        limit=None,
23305        remaining=None,
23306        reset_at=None,
23307    ):
23308        self.bucket = bucket if bucket is not None else ''
23309        '''
23310         The bucket this user/token is associated with, which may be shared between
23311         multiple users/tokens.
23312        '''
23313        self.limit = limit if limit is not None else 0
23314        '''
23315         How many total requests the user/token is authorized to make before being
23316         rate limited.
23317        '''
23318        self.remaining = remaining if remaining is not None else 0
23319        '''
23320         How many remaining requests out of the limit are still avaialable.
23321        '''
23322        self.reset_at = reset_at if reset_at is not None else None
23323        '''
23324         The time when remaining will be reset to limit.
23325        '''
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)
23335    def to_dict(self):
23336        return {
23337            'bucket': self.bucket,
23338            'limit': self.limit,
23339            'remaining': self.remaining,
23340            'reset_at': self.reset_at,
23341        }
@classmethod
def from_dict(cls, d)
23343    @classmethod
23344    def from_dict(cls, d):
23345        return cls(
23346            bucket=d.get('bucket'),
23347            limit=d.get('limit'),
23348            remaining=d.get('remaining'),
23349            reset_at=d.get('reset_at'),
23350        )
class RawTCP:
23353class RawTCP:
23354    __slots__ = [
23355        'bind_interface',
23356        'egress_filter',
23357        'healthy',
23358        'hostname',
23359        'id',
23360        'name',
23361        'port',
23362        'port_override',
23363        'proxy_cluster_id',
23364        'secret_store_id',
23365        'subdomain',
23366        'tags',
23367    ]
23368
23369    def __init__(
23370        self,
23371        bind_interface=None,
23372        egress_filter=None,
23373        healthy=None,
23374        hostname=None,
23375        id=None,
23376        name=None,
23377        port=None,
23378        port_override=None,
23379        proxy_cluster_id=None,
23380        secret_store_id=None,
23381        subdomain=None,
23382        tags=None,
23383    ):
23384        self.bind_interface = bind_interface if bind_interface is not None else ''
23385        '''
23386         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23387        '''
23388        self.egress_filter = egress_filter if egress_filter is not None else ''
23389        '''
23390         A filter applied to the routing logic to pin datasource to nodes.
23391        '''
23392        self.healthy = healthy if healthy is not None else False
23393        '''
23394         True if the datasource is reachable and the credentials are valid.
23395        '''
23396        self.hostname = hostname if hostname is not None else ''
23397        '''
23398         The host to dial to initiate a connection from the egress node to this resource.
23399        '''
23400        self.id = id if id is not None else ''
23401        '''
23402         Unique identifier of the Resource.
23403        '''
23404        self.name = name if name is not None else ''
23405        '''
23406         Unique human-readable name of the Resource.
23407        '''
23408        self.port = port if port is not None else 0
23409        '''
23410         The port to dial to initiate a connection from the egress node to this resource.
23411        '''
23412        self.port_override = port_override if port_override is not None else 0
23413        '''
23414         The local port used by clients to connect to this resource.
23415        '''
23416        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23417        '''
23418         ID of the proxy cluster for this resource, if any.
23419        '''
23420        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23421        '''
23422         ID of the secret store containing credentials for this resource, if any.
23423        '''
23424        self.subdomain = subdomain if subdomain is not None else ''
23425        '''
23426         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23427        '''
23428        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23429        '''
23430         Tags is a map of key, value pairs.
23431        '''
23432
23433    def __repr__(self):
23434        return '<sdm.RawTCP ' + \
23435            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23436            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23437            'healthy: ' + repr(self.healthy) + ' ' +\
23438            'hostname: ' + repr(self.hostname) + ' ' +\
23439            'id: ' + repr(self.id) + ' ' +\
23440            'name: ' + repr(self.name) + ' ' +\
23441            'port: ' + repr(self.port) + ' ' +\
23442            'port_override: ' + repr(self.port_override) + ' ' +\
23443            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23444            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23445            'subdomain: ' + repr(self.subdomain) + ' ' +\
23446            'tags: ' + repr(self.tags) + ' ' +\
23447            '>'
23448
23449    def to_dict(self):
23450        return {
23451            'bind_interface': self.bind_interface,
23452            'egress_filter': self.egress_filter,
23453            'healthy': self.healthy,
23454            'hostname': self.hostname,
23455            'id': self.id,
23456            'name': self.name,
23457            'port': self.port,
23458            'port_override': self.port_override,
23459            'proxy_cluster_id': self.proxy_cluster_id,
23460            'secret_store_id': self.secret_store_id,
23461            'subdomain': self.subdomain,
23462            'tags': self.tags,
23463        }
23464
23465    @classmethod
23466    def from_dict(cls, d):
23467        return cls(
23468            bind_interface=d.get('bind_interface'),
23469            egress_filter=d.get('egress_filter'),
23470            healthy=d.get('healthy'),
23471            hostname=d.get('hostname'),
23472            id=d.get('id'),
23473            name=d.get('name'),
23474            port=d.get('port'),
23475            port_override=d.get('port_override'),
23476            proxy_cluster_id=d.get('proxy_cluster_id'),
23477            secret_store_id=d.get('secret_store_id'),
23478            subdomain=d.get('subdomain'),
23479            tags=d.get('tags'),
23480        )
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)
23369    def __init__(
23370        self,
23371        bind_interface=None,
23372        egress_filter=None,
23373        healthy=None,
23374        hostname=None,
23375        id=None,
23376        name=None,
23377        port=None,
23378        port_override=None,
23379        proxy_cluster_id=None,
23380        secret_store_id=None,
23381        subdomain=None,
23382        tags=None,
23383    ):
23384        self.bind_interface = bind_interface if bind_interface is not None else ''
23385        '''
23386         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23387        '''
23388        self.egress_filter = egress_filter if egress_filter is not None else ''
23389        '''
23390         A filter applied to the routing logic to pin datasource to nodes.
23391        '''
23392        self.healthy = healthy if healthy is not None else False
23393        '''
23394         True if the datasource is reachable and the credentials are valid.
23395        '''
23396        self.hostname = hostname if hostname is not None else ''
23397        '''
23398         The host to dial to initiate a connection from the egress node to this resource.
23399        '''
23400        self.id = id if id is not None else ''
23401        '''
23402         Unique identifier of the Resource.
23403        '''
23404        self.name = name if name is not None else ''
23405        '''
23406         Unique human-readable name of the Resource.
23407        '''
23408        self.port = port if port is not None else 0
23409        '''
23410         The port to dial to initiate a connection from the egress node to this resource.
23411        '''
23412        self.port_override = port_override if port_override is not None else 0
23413        '''
23414         The local port used by clients to connect to this resource.
23415        '''
23416        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23417        '''
23418         ID of the proxy cluster for this resource, if any.
23419        '''
23420        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23421        '''
23422         ID of the secret store containing credentials for this resource, if any.
23423        '''
23424        self.subdomain = subdomain if subdomain is not None else ''
23425        '''
23426         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23427        '''
23428        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23429        '''
23430         Tags is a map of key, value pairs.
23431        '''
bind_interface

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

The bind interface is the IP 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)
23600    def to_dict(self):
23601        return {
23602            'bind_interface': self.bind_interface,
23603            'egress_filter': self.egress_filter,
23604            'healthy': self.healthy,
23605            'hostname': self.hostname,
23606            'id': self.id,
23607            'name': self.name,
23608            'password': self.password,
23609            'port': self.port,
23610            'port_override': self.port_override,
23611            'proxy_cluster_id': self.proxy_cluster_id,
23612            'secret_store_id': self.secret_store_id,
23613            'subdomain': self.subdomain,
23614            'tags': self.tags,
23615            'tls_required': self.tls_required,
23616            'username': self.username,
23617        }
@classmethod
def from_dict(cls, d)
23619    @classmethod
23620    def from_dict(cls, d):
23621        return cls(
23622            bind_interface=d.get('bind_interface'),
23623            egress_filter=d.get('egress_filter'),
23624            healthy=d.get('healthy'),
23625            hostname=d.get('hostname'),
23626            id=d.get('id'),
23627            name=d.get('name'),
23628            password=d.get('password'),
23629            port=d.get('port'),
23630            port_override=d.get('port_override'),
23631            proxy_cluster_id=d.get('proxy_cluster_id'),
23632            secret_store_id=d.get('secret_store_id'),
23633            subdomain=d.get('subdomain'),
23634            tags=d.get('tags'),
23635            tls_required=d.get('tls_required'),
23636            username=d.get('username'),
23637        )
class RedisCluster:
23640class RedisCluster:
23641    __slots__ = [
23642        'bind_interface',
23643        'egress_filter',
23644        'healthy',
23645        'hostname',
23646        'id',
23647        'name',
23648        'password',
23649        'port',
23650        'port_override',
23651        'proxy_cluster_id',
23652        'secret_store_id',
23653        'subdomain',
23654        'tags',
23655        'tls_required',
23656        'username',
23657    ]
23658
23659    def __init__(
23660        self,
23661        bind_interface=None,
23662        egress_filter=None,
23663        healthy=None,
23664        hostname=None,
23665        id=None,
23666        name=None,
23667        password=None,
23668        port=None,
23669        port_override=None,
23670        proxy_cluster_id=None,
23671        secret_store_id=None,
23672        subdomain=None,
23673        tags=None,
23674        tls_required=None,
23675        username=None,
23676    ):
23677        self.bind_interface = bind_interface if bind_interface is not None else ''
23678        '''
23679         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23680        '''
23681        self.egress_filter = egress_filter if egress_filter is not None else ''
23682        '''
23683         A filter applied to the routing logic to pin datasource to nodes.
23684        '''
23685        self.healthy = healthy if healthy is not None else False
23686        '''
23687         True if the datasource is reachable and the credentials are valid.
23688        '''
23689        self.hostname = hostname if hostname is not None else ''
23690        '''
23691         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
23692        '''
23693        self.id = id if id is not None else ''
23694        '''
23695         Unique identifier of the Resource.
23696        '''
23697        self.name = name if name is not None else ''
23698        '''
23699         Unique human-readable name of the Resource.
23700        '''
23701        self.password = password if password is not None else ''
23702        '''
23703         The password to authenticate with.
23704        '''
23705        self.port = port if port is not None else 0
23706        '''
23707         The port to dial to initiate a connection from the egress node to this resource.
23708        '''
23709        self.port_override = port_override if port_override is not None else 0
23710        '''
23711         The local port used by clients to connect to this resource.
23712        '''
23713        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23714        '''
23715         ID of the proxy cluster for this resource, if any.
23716        '''
23717        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23718        '''
23719         ID of the secret store containing credentials for this resource, if any.
23720        '''
23721        self.subdomain = subdomain if subdomain is not None else ''
23722        '''
23723         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23724        '''
23725        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23726        '''
23727         Tags is a map of key, value pairs.
23728        '''
23729        self.tls_required = tls_required if tls_required is not None else False
23730        '''
23731         If set, TLS must be used to connect to this resource.
23732        '''
23733        self.username = username if username is not None else ''
23734        '''
23735         The username to authenticate with.
23736        '''
23737
23738    def __repr__(self):
23739        return '<sdm.RedisCluster ' + \
23740            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23741            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23742            'healthy: ' + repr(self.healthy) + ' ' +\
23743            'hostname: ' + repr(self.hostname) + ' ' +\
23744            'id: ' + repr(self.id) + ' ' +\
23745            'name: ' + repr(self.name) + ' ' +\
23746            'password: ' + repr(self.password) + ' ' +\
23747            'port: ' + repr(self.port) + ' ' +\
23748            'port_override: ' + repr(self.port_override) + ' ' +\
23749            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23750            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23751            'subdomain: ' + repr(self.subdomain) + ' ' +\
23752            'tags: ' + repr(self.tags) + ' ' +\
23753            'tls_required: ' + repr(self.tls_required) + ' ' +\
23754            'username: ' + repr(self.username) + ' ' +\
23755            '>'
23756
23757    def to_dict(self):
23758        return {
23759            'bind_interface': self.bind_interface,
23760            'egress_filter': self.egress_filter,
23761            'healthy': self.healthy,
23762            'hostname': self.hostname,
23763            'id': self.id,
23764            'name': self.name,
23765            'password': self.password,
23766            'port': self.port,
23767            'port_override': self.port_override,
23768            'proxy_cluster_id': self.proxy_cluster_id,
23769            'secret_store_id': self.secret_store_id,
23770            'subdomain': self.subdomain,
23771            'tags': self.tags,
23772            'tls_required': self.tls_required,
23773            'username': self.username,
23774        }
23775
23776    @classmethod
23777    def from_dict(cls, d):
23778        return cls(
23779            bind_interface=d.get('bind_interface'),
23780            egress_filter=d.get('egress_filter'),
23781            healthy=d.get('healthy'),
23782            hostname=d.get('hostname'),
23783            id=d.get('id'),
23784            name=d.get('name'),
23785            password=d.get('password'),
23786            port=d.get('port'),
23787            port_override=d.get('port_override'),
23788            proxy_cluster_id=d.get('proxy_cluster_id'),
23789            secret_store_id=d.get('secret_store_id'),
23790            subdomain=d.get('subdomain'),
23791            tags=d.get('tags'),
23792            tls_required=d.get('tls_required'),
23793            username=d.get('username'),
23794        )
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)
23659    def __init__(
23660        self,
23661        bind_interface=None,
23662        egress_filter=None,
23663        healthy=None,
23664        hostname=None,
23665        id=None,
23666        name=None,
23667        password=None,
23668        port=None,
23669        port_override=None,
23670        proxy_cluster_id=None,
23671        secret_store_id=None,
23672        subdomain=None,
23673        tags=None,
23674        tls_required=None,
23675        username=None,
23676    ):
23677        self.bind_interface = bind_interface if bind_interface is not None else ''
23678        '''
23679         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23680        '''
23681        self.egress_filter = egress_filter if egress_filter is not None else ''
23682        '''
23683         A filter applied to the routing logic to pin datasource to nodes.
23684        '''
23685        self.healthy = healthy if healthy is not None else False
23686        '''
23687         True if the datasource is reachable and the credentials are valid.
23688        '''
23689        self.hostname = hostname if hostname is not None else ''
23690        '''
23691         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
23692        '''
23693        self.id = id if id is not None else ''
23694        '''
23695         Unique identifier of the Resource.
23696        '''
23697        self.name = name if name is not None else ''
23698        '''
23699         Unique human-readable name of the Resource.
23700        '''
23701        self.password = password if password is not None else ''
23702        '''
23703         The password to authenticate with.
23704        '''
23705        self.port = port if port is not None else 0
23706        '''
23707         The port to dial to initiate a connection from the egress node to this resource.
23708        '''
23709        self.port_override = port_override if port_override is not None else 0
23710        '''
23711         The local port used by clients to connect to this resource.
23712        '''
23713        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23714        '''
23715         ID of the proxy cluster for this resource, if any.
23716        '''
23717        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23718        '''
23719         ID of the secret store containing credentials for this resource, if any.
23720        '''
23721        self.subdomain = subdomain if subdomain is not None else ''
23722        '''
23723         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23724        '''
23725        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23726        '''
23727         Tags is a map of key, value pairs.
23728        '''
23729        self.tls_required = tls_required if tls_required is not None else False
23730        '''
23731         If set, TLS must be used to connect to this resource.
23732        '''
23733        self.username = username if username is not None else ''
23734        '''
23735         The username to authenticate with.
23736        '''
bind_interface

The bind interface is the IP 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)
23757    def to_dict(self):
23758        return {
23759            'bind_interface': self.bind_interface,
23760            'egress_filter': self.egress_filter,
23761            'healthy': self.healthy,
23762            'hostname': self.hostname,
23763            'id': self.id,
23764            'name': self.name,
23765            'password': self.password,
23766            'port': self.port,
23767            'port_override': self.port_override,
23768            'proxy_cluster_id': self.proxy_cluster_id,
23769            'secret_store_id': self.secret_store_id,
23770            'subdomain': self.subdomain,
23771            'tags': self.tags,
23772            'tls_required': self.tls_required,
23773            'username': self.username,
23774        }
@classmethod
def from_dict(cls, d)
23776    @classmethod
23777    def from_dict(cls, d):
23778        return cls(
23779            bind_interface=d.get('bind_interface'),
23780            egress_filter=d.get('egress_filter'),
23781            healthy=d.get('healthy'),
23782            hostname=d.get('hostname'),
23783            id=d.get('id'),
23784            name=d.get('name'),
23785            password=d.get('password'),
23786            port=d.get('port'),
23787            port_override=d.get('port_override'),
23788            proxy_cluster_id=d.get('proxy_cluster_id'),
23789            secret_store_id=d.get('secret_store_id'),
23790            subdomain=d.get('subdomain'),
23791            tags=d.get('tags'),
23792            tls_required=d.get('tls_required'),
23793            username=d.get('username'),
23794        )
class Redshift:
23797class Redshift:
23798    __slots__ = [
23799        'bind_interface',
23800        'database',
23801        'egress_filter',
23802        'healthy',
23803        'hostname',
23804        'id',
23805        'name',
23806        'override_database',
23807        'password',
23808        'port',
23809        'port_override',
23810        'proxy_cluster_id',
23811        'secret_store_id',
23812        'subdomain',
23813        'tags',
23814        'username',
23815    ]
23816
23817    def __init__(
23818        self,
23819        bind_interface=None,
23820        database=None,
23821        egress_filter=None,
23822        healthy=None,
23823        hostname=None,
23824        id=None,
23825        name=None,
23826        override_database=None,
23827        password=None,
23828        port=None,
23829        port_override=None,
23830        proxy_cluster_id=None,
23831        secret_store_id=None,
23832        subdomain=None,
23833        tags=None,
23834        username=None,
23835    ):
23836        self.bind_interface = bind_interface if bind_interface is not None else ''
23837        '''
23838         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23839        '''
23840        self.database = database if database is not None else ''
23841        '''
23842         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
23843        '''
23844        self.egress_filter = egress_filter if egress_filter is not None else ''
23845        '''
23846         A filter applied to the routing logic to pin datasource to nodes.
23847        '''
23848        self.healthy = healthy if healthy is not None else False
23849        '''
23850         True if the datasource is reachable and the credentials are valid.
23851        '''
23852        self.hostname = hostname if hostname is not None else ''
23853        '''
23854         The host to dial to initiate a connection from the egress node to this resource.
23855        '''
23856        self.id = id if id is not None else ''
23857        '''
23858         Unique identifier of the Resource.
23859        '''
23860        self.name = name if name is not None else ''
23861        '''
23862         Unique human-readable name of the Resource.
23863        '''
23864        self.override_database = override_database if override_database is not None else False
23865        '''
23866         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
23867        '''
23868        self.password = password if password is not None else ''
23869        '''
23870         The password to authenticate with.
23871        '''
23872        self.port = port if port is not None else 0
23873        '''
23874         The port to dial to initiate a connection from the egress node to this resource.
23875        '''
23876        self.port_override = port_override if port_override is not None else 0
23877        '''
23878         The local port used by clients to connect to this resource.
23879        '''
23880        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23881        '''
23882         ID of the proxy cluster for this resource, if any.
23883        '''
23884        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23885        '''
23886         ID of the secret store containing credentials for this resource, if any.
23887        '''
23888        self.subdomain = subdomain if subdomain is not None else ''
23889        '''
23890         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23891        '''
23892        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23893        '''
23894         Tags is a map of key, value pairs.
23895        '''
23896        self.username = username if username is not None else ''
23897        '''
23898         The username to authenticate with.
23899        '''
23900
23901    def __repr__(self):
23902        return '<sdm.Redshift ' + \
23903            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23904            'database: ' + repr(self.database) + ' ' +\
23905            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23906            'healthy: ' + repr(self.healthy) + ' ' +\
23907            'hostname: ' + repr(self.hostname) + ' ' +\
23908            'id: ' + repr(self.id) + ' ' +\
23909            'name: ' + repr(self.name) + ' ' +\
23910            'override_database: ' + repr(self.override_database) + ' ' +\
23911            'password: ' + repr(self.password) + ' ' +\
23912            'port: ' + repr(self.port) + ' ' +\
23913            'port_override: ' + repr(self.port_override) + ' ' +\
23914            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23915            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23916            'subdomain: ' + repr(self.subdomain) + ' ' +\
23917            'tags: ' + repr(self.tags) + ' ' +\
23918            'username: ' + repr(self.username) + ' ' +\
23919            '>'
23920
23921    def to_dict(self):
23922        return {
23923            'bind_interface': self.bind_interface,
23924            'database': self.database,
23925            'egress_filter': self.egress_filter,
23926            'healthy': self.healthy,
23927            'hostname': self.hostname,
23928            'id': self.id,
23929            'name': self.name,
23930            'override_database': self.override_database,
23931            'password': self.password,
23932            'port': self.port,
23933            'port_override': self.port_override,
23934            'proxy_cluster_id': self.proxy_cluster_id,
23935            'secret_store_id': self.secret_store_id,
23936            'subdomain': self.subdomain,
23937            'tags': self.tags,
23938            'username': self.username,
23939        }
23940
23941    @classmethod
23942    def from_dict(cls, d):
23943        return cls(
23944            bind_interface=d.get('bind_interface'),
23945            database=d.get('database'),
23946            egress_filter=d.get('egress_filter'),
23947            healthy=d.get('healthy'),
23948            hostname=d.get('hostname'),
23949            id=d.get('id'),
23950            name=d.get('name'),
23951            override_database=d.get('override_database'),
23952            password=d.get('password'),
23953            port=d.get('port'),
23954            port_override=d.get('port_override'),
23955            proxy_cluster_id=d.get('proxy_cluster_id'),
23956            secret_store_id=d.get('secret_store_id'),
23957            subdomain=d.get('subdomain'),
23958            tags=d.get('tags'),
23959            username=d.get('username'),
23960        )
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)
23817    def __init__(
23818        self,
23819        bind_interface=None,
23820        database=None,
23821        egress_filter=None,
23822        healthy=None,
23823        hostname=None,
23824        id=None,
23825        name=None,
23826        override_database=None,
23827        password=None,
23828        port=None,
23829        port_override=None,
23830        proxy_cluster_id=None,
23831        secret_store_id=None,
23832        subdomain=None,
23833        tags=None,
23834        username=None,
23835    ):
23836        self.bind_interface = bind_interface if bind_interface is not None else ''
23837        '''
23838         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23839        '''
23840        self.database = database if database is not None else ''
23841        '''
23842         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
23843        '''
23844        self.egress_filter = egress_filter if egress_filter is not None else ''
23845        '''
23846         A filter applied to the routing logic to pin datasource to nodes.
23847        '''
23848        self.healthy = healthy if healthy is not None else False
23849        '''
23850         True if the datasource is reachable and the credentials are valid.
23851        '''
23852        self.hostname = hostname if hostname is not None else ''
23853        '''
23854         The host to dial to initiate a connection from the egress node to this resource.
23855        '''
23856        self.id = id if id is not None else ''
23857        '''
23858         Unique identifier of the Resource.
23859        '''
23860        self.name = name if name is not None else ''
23861        '''
23862         Unique human-readable name of the Resource.
23863        '''
23864        self.override_database = override_database if override_database is not None else False
23865        '''
23866         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
23867        '''
23868        self.password = password if password is not None else ''
23869        '''
23870         The password to authenticate with.
23871        '''
23872        self.port = port if port is not None else 0
23873        '''
23874         The port to dial to initiate a connection from the egress node to this resource.
23875        '''
23876        self.port_override = port_override if port_override is not None else 0
23877        '''
23878         The local port used by clients to connect to this resource.
23879        '''
23880        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23881        '''
23882         ID of the proxy cluster for this resource, if any.
23883        '''
23884        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23885        '''
23886         ID of the secret store containing credentials for this resource, if any.
23887        '''
23888        self.subdomain = subdomain if subdomain is not None else ''
23889        '''
23890         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23891        '''
23892        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23893        '''
23894         Tags is a map of key, value pairs.
23895        '''
23896        self.username = username if username is not None else ''
23897        '''
23898         The username to authenticate with.
23899        '''
bind_interface

The bind interface is the IP 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)
23921    def to_dict(self):
23922        return {
23923            'bind_interface': self.bind_interface,
23924            'database': self.database,
23925            'egress_filter': self.egress_filter,
23926            'healthy': self.healthy,
23927            'hostname': self.hostname,
23928            'id': self.id,
23929            'name': self.name,
23930            'override_database': self.override_database,
23931            'password': self.password,
23932            'port': self.port,
23933            'port_override': self.port_override,
23934            'proxy_cluster_id': self.proxy_cluster_id,
23935            'secret_store_id': self.secret_store_id,
23936            'subdomain': self.subdomain,
23937            'tags': self.tags,
23938            'username': self.username,
23939        }
@classmethod
def from_dict(cls, d)
23941    @classmethod
23942    def from_dict(cls, d):
23943        return cls(
23944            bind_interface=d.get('bind_interface'),
23945            database=d.get('database'),
23946            egress_filter=d.get('egress_filter'),
23947            healthy=d.get('healthy'),
23948            hostname=d.get('hostname'),
23949            id=d.get('id'),
23950            name=d.get('name'),
23951            override_database=d.get('override_database'),
23952            password=d.get('password'),
23953            port=d.get('port'),
23954            port_override=d.get('port_override'),
23955            proxy_cluster_id=d.get('proxy_cluster_id'),
23956            secret_store_id=d.get('secret_store_id'),
23957            subdomain=d.get('subdomain'),
23958            tags=d.get('tags'),
23959            username=d.get('username'),
23960        )
class RedshiftIAM:
23963class RedshiftIAM:
23964    __slots__ = [
23965        'bind_interface',
23966        'cluster_id',
23967        'database',
23968        'egress_filter',
23969        'healthy',
23970        'hostname',
23971        'id',
23972        'name',
23973        'override_database',
23974        'port',
23975        'port_override',
23976        'proxy_cluster_id',
23977        'region',
23978        'role_assumption_arn',
23979        'secret_store_id',
23980        'subdomain',
23981        'tags',
23982    ]
23983
23984    def __init__(
23985        self,
23986        bind_interface=None,
23987        cluster_id=None,
23988        database=None,
23989        egress_filter=None,
23990        healthy=None,
23991        hostname=None,
23992        id=None,
23993        name=None,
23994        override_database=None,
23995        port=None,
23996        port_override=None,
23997        proxy_cluster_id=None,
23998        region=None,
23999        role_assumption_arn=None,
24000        secret_store_id=None,
24001        subdomain=None,
24002        tags=None,
24003    ):
24004        self.bind_interface = bind_interface if bind_interface is not None else ''
24005        '''
24006         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24007        '''
24008        self.cluster_id = cluster_id if cluster_id is not None else ''
24009        '''
24010         Cluster Identified of Redshift cluster
24011        '''
24012        self.database = database if database is not None else ''
24013        '''
24014         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
24015        '''
24016        self.egress_filter = egress_filter if egress_filter is not None else ''
24017        '''
24018         A filter applied to the routing logic to pin datasource to nodes.
24019        '''
24020        self.healthy = healthy if healthy is not None else False
24021        '''
24022         True if the datasource is reachable and the credentials are valid.
24023        '''
24024        self.hostname = hostname if hostname is not None else ''
24025        '''
24026         The host to dial to initiate a connection from the egress node to this resource.
24027        '''
24028        self.id = id if id is not None else ''
24029        '''
24030         Unique identifier of the Resource.
24031        '''
24032        self.name = name if name is not None else ''
24033        '''
24034         Unique human-readable name of the Resource.
24035        '''
24036        self.override_database = override_database if override_database is not None else False
24037        '''
24038         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
24039        '''
24040        self.port = port if port is not None else 0
24041        '''
24042         The port to dial to initiate a connection from the egress node to this resource.
24043        '''
24044        self.port_override = port_override if port_override is not None else 0
24045        '''
24046         The local port used by clients to connect to this resource.
24047        '''
24048        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24049        '''
24050         ID of the proxy cluster for this resource, if any.
24051        '''
24052        self.region = region if region is not None else ''
24053        '''
24054         The AWS region to connect to.
24055        '''
24056        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
24057        '''
24058         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
24059        '''
24060        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24061        '''
24062         ID of the secret store containing credentials for this resource, if any.
24063        '''
24064        self.subdomain = subdomain if subdomain is not None else ''
24065        '''
24066         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24067        '''
24068        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24069        '''
24070         Tags is a map of key, value pairs.
24071        '''
24072
24073    def __repr__(self):
24074        return '<sdm.RedshiftIAM ' + \
24075            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24076            'cluster_id: ' + repr(self.cluster_id) + ' ' +\
24077            'database: ' + repr(self.database) + ' ' +\
24078            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24079            'healthy: ' + repr(self.healthy) + ' ' +\
24080            'hostname: ' + repr(self.hostname) + ' ' +\
24081            'id: ' + repr(self.id) + ' ' +\
24082            'name: ' + repr(self.name) + ' ' +\
24083            'override_database: ' + repr(self.override_database) + ' ' +\
24084            'port: ' + repr(self.port) + ' ' +\
24085            'port_override: ' + repr(self.port_override) + ' ' +\
24086            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24087            'region: ' + repr(self.region) + ' ' +\
24088            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
24089            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24090            'subdomain: ' + repr(self.subdomain) + ' ' +\
24091            'tags: ' + repr(self.tags) + ' ' +\
24092            '>'
24093
24094    def to_dict(self):
24095        return {
24096            'bind_interface': self.bind_interface,
24097            'cluster_id': self.cluster_id,
24098            'database': self.database,
24099            'egress_filter': self.egress_filter,
24100            'healthy': self.healthy,
24101            'hostname': self.hostname,
24102            'id': self.id,
24103            'name': self.name,
24104            'override_database': self.override_database,
24105            'port': self.port,
24106            'port_override': self.port_override,
24107            'proxy_cluster_id': self.proxy_cluster_id,
24108            'region': self.region,
24109            'role_assumption_arn': self.role_assumption_arn,
24110            'secret_store_id': self.secret_store_id,
24111            'subdomain': self.subdomain,
24112            'tags': self.tags,
24113        }
24114
24115    @classmethod
24116    def from_dict(cls, d):
24117        return cls(
24118            bind_interface=d.get('bind_interface'),
24119            cluster_id=d.get('cluster_id'),
24120            database=d.get('database'),
24121            egress_filter=d.get('egress_filter'),
24122            healthy=d.get('healthy'),
24123            hostname=d.get('hostname'),
24124            id=d.get('id'),
24125            name=d.get('name'),
24126            override_database=d.get('override_database'),
24127            port=d.get('port'),
24128            port_override=d.get('port_override'),
24129            proxy_cluster_id=d.get('proxy_cluster_id'),
24130            region=d.get('region'),
24131            role_assumption_arn=d.get('role_assumption_arn'),
24132            secret_store_id=d.get('secret_store_id'),
24133            subdomain=d.get('subdomain'),
24134            tags=d.get('tags'),
24135        )
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)
23984    def __init__(
23985        self,
23986        bind_interface=None,
23987        cluster_id=None,
23988        database=None,
23989        egress_filter=None,
23990        healthy=None,
23991        hostname=None,
23992        id=None,
23993        name=None,
23994        override_database=None,
23995        port=None,
23996        port_override=None,
23997        proxy_cluster_id=None,
23998        region=None,
23999        role_assumption_arn=None,
24000        secret_store_id=None,
24001        subdomain=None,
24002        tags=None,
24003    ):
24004        self.bind_interface = bind_interface if bind_interface is not None else ''
24005        '''
24006         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24007        '''
24008        self.cluster_id = cluster_id if cluster_id is not None else ''
24009        '''
24010         Cluster Identified of Redshift cluster
24011        '''
24012        self.database = database if database is not None else ''
24013        '''
24014         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
24015        '''
24016        self.egress_filter = egress_filter if egress_filter is not None else ''
24017        '''
24018         A filter applied to the routing logic to pin datasource to nodes.
24019        '''
24020        self.healthy = healthy if healthy is not None else False
24021        '''
24022         True if the datasource is reachable and the credentials are valid.
24023        '''
24024        self.hostname = hostname if hostname is not None else ''
24025        '''
24026         The host to dial to initiate a connection from the egress node to this resource.
24027        '''
24028        self.id = id if id is not None else ''
24029        '''
24030         Unique identifier of the Resource.
24031        '''
24032        self.name = name if name is not None else ''
24033        '''
24034         Unique human-readable name of the Resource.
24035        '''
24036        self.override_database = override_database if override_database is not None else False
24037        '''
24038         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
24039        '''
24040        self.port = port if port is not None else 0
24041        '''
24042         The port to dial to initiate a connection from the egress node to this resource.
24043        '''
24044        self.port_override = port_override if port_override is not None else 0
24045        '''
24046         The local port used by clients to connect to this resource.
24047        '''
24048        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24049        '''
24050         ID of the proxy cluster for this resource, if any.
24051        '''
24052        self.region = region if region is not None else ''
24053        '''
24054         The AWS region to connect to.
24055        '''
24056        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
24057        '''
24058         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
24059        '''
24060        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24061        '''
24062         ID of the secret store containing credentials for this resource, if any.
24063        '''
24064        self.subdomain = subdomain if subdomain is not None else ''
24065        '''
24066         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24067        '''
24068        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24069        '''
24070         Tags is a map of key, value pairs.
24071        '''
bind_interface

The bind interface is the IP 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)
24094    def to_dict(self):
24095        return {
24096            'bind_interface': self.bind_interface,
24097            'cluster_id': self.cluster_id,
24098            'database': self.database,
24099            'egress_filter': self.egress_filter,
24100            'healthy': self.healthy,
24101            'hostname': self.hostname,
24102            'id': self.id,
24103            'name': self.name,
24104            'override_database': self.override_database,
24105            'port': self.port,
24106            'port_override': self.port_override,
24107            'proxy_cluster_id': self.proxy_cluster_id,
24108            'region': self.region,
24109            'role_assumption_arn': self.role_assumption_arn,
24110            'secret_store_id': self.secret_store_id,
24111            'subdomain': self.subdomain,
24112            'tags': self.tags,
24113        }
@classmethod
def from_dict(cls, d)
24115    @classmethod
24116    def from_dict(cls, d):
24117        return cls(
24118            bind_interface=d.get('bind_interface'),
24119            cluster_id=d.get('cluster_id'),
24120            database=d.get('database'),
24121            egress_filter=d.get('egress_filter'),
24122            healthy=d.get('healthy'),
24123            hostname=d.get('hostname'),
24124            id=d.get('id'),
24125            name=d.get('name'),
24126            override_database=d.get('override_database'),
24127            port=d.get('port'),
24128            port_override=d.get('port_override'),
24129            proxy_cluster_id=d.get('proxy_cluster_id'),
24130            region=d.get('region'),
24131            role_assumption_arn=d.get('role_assumption_arn'),
24132            secret_store_id=d.get('secret_store_id'),
24133            subdomain=d.get('subdomain'),
24134            tags=d.get('tags'),
24135        )
class RedshiftServerlessIAM:
24138class RedshiftServerlessIAM:
24139    __slots__ = [
24140        'bind_interface',
24141        'database',
24142        'egress_filter',
24143        'healthy',
24144        'hostname',
24145        'id',
24146        'name',
24147        'override_database',
24148        'port',
24149        'port_override',
24150        'proxy_cluster_id',
24151        'region',
24152        'role_assumption_arn',
24153        'secret_store_id',
24154        'subdomain',
24155        'tags',
24156        'workgroup',
24157    ]
24158
24159    def __init__(
24160        self,
24161        bind_interface=None,
24162        database=None,
24163        egress_filter=None,
24164        healthy=None,
24165        hostname=None,
24166        id=None,
24167        name=None,
24168        override_database=None,
24169        port=None,
24170        port_override=None,
24171        proxy_cluster_id=None,
24172        region=None,
24173        role_assumption_arn=None,
24174        secret_store_id=None,
24175        subdomain=None,
24176        tags=None,
24177        workgroup=None,
24178    ):
24179        self.bind_interface = bind_interface if bind_interface is not None else ''
24180        '''
24181         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24182        '''
24183        self.database = database if database is not None else ''
24184        '''
24185         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
24186        '''
24187        self.egress_filter = egress_filter if egress_filter is not None else ''
24188        '''
24189         A filter applied to the routing logic to pin datasource to nodes.
24190        '''
24191        self.healthy = healthy if healthy is not None else False
24192        '''
24193         True if the datasource is reachable and the credentials are valid.
24194        '''
24195        self.hostname = hostname if hostname is not None else ''
24196        '''
24197         The host to dial to initiate a connection from the egress node to this resource.
24198        '''
24199        self.id = id if id is not None else ''
24200        '''
24201         Unique identifier of the Resource.
24202        '''
24203        self.name = name if name is not None else ''
24204        '''
24205         Unique human-readable name of the Resource.
24206        '''
24207        self.override_database = override_database if override_database is not None else False
24208        '''
24209         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
24210        '''
24211        self.port = port if port is not None else 0
24212        '''
24213         The port to dial to initiate a connection from the egress node to this resource.
24214        '''
24215        self.port_override = port_override if port_override is not None else 0
24216        '''
24217         The local port used by clients to connect to this resource.
24218        '''
24219        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24220        '''
24221         ID of the proxy cluster for this resource, if any.
24222        '''
24223        self.region = region if region is not None else ''
24224        '''
24225         The AWS region to connect to.
24226        '''
24227        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
24228        '''
24229         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
24230        '''
24231        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24232        '''
24233         ID of the secret store containing credentials for this resource, if any.
24234        '''
24235        self.subdomain = subdomain if subdomain is not None else ''
24236        '''
24237         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24238        '''
24239        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24240        '''
24241         Tags is a map of key, value pairs.
24242        '''
24243        self.workgroup = workgroup if workgroup is not None else ''
24244        '''
24245         Workgroup name in the serverless Redshift
24246        '''
24247
24248    def __repr__(self):
24249        return '<sdm.RedshiftServerlessIAM ' + \
24250            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24251            'database: ' + repr(self.database) + ' ' +\
24252            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24253            'healthy: ' + repr(self.healthy) + ' ' +\
24254            'hostname: ' + repr(self.hostname) + ' ' +\
24255            'id: ' + repr(self.id) + ' ' +\
24256            'name: ' + repr(self.name) + ' ' +\
24257            'override_database: ' + repr(self.override_database) + ' ' +\
24258            'port: ' + repr(self.port) + ' ' +\
24259            'port_override: ' + repr(self.port_override) + ' ' +\
24260            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24261            'region: ' + repr(self.region) + ' ' +\
24262            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
24263            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24264            'subdomain: ' + repr(self.subdomain) + ' ' +\
24265            'tags: ' + repr(self.tags) + ' ' +\
24266            'workgroup: ' + repr(self.workgroup) + ' ' +\
24267            '>'
24268
24269    def to_dict(self):
24270        return {
24271            'bind_interface': self.bind_interface,
24272            'database': self.database,
24273            'egress_filter': self.egress_filter,
24274            'healthy': self.healthy,
24275            'hostname': self.hostname,
24276            'id': self.id,
24277            'name': self.name,
24278            'override_database': self.override_database,
24279            'port': self.port,
24280            'port_override': self.port_override,
24281            'proxy_cluster_id': self.proxy_cluster_id,
24282            'region': self.region,
24283            'role_assumption_arn': self.role_assumption_arn,
24284            'secret_store_id': self.secret_store_id,
24285            'subdomain': self.subdomain,
24286            'tags': self.tags,
24287            'workgroup': self.workgroup,
24288        }
24289
24290    @classmethod
24291    def from_dict(cls, d):
24292        return cls(
24293            bind_interface=d.get('bind_interface'),
24294            database=d.get('database'),
24295            egress_filter=d.get('egress_filter'),
24296            healthy=d.get('healthy'),
24297            hostname=d.get('hostname'),
24298            id=d.get('id'),
24299            name=d.get('name'),
24300            override_database=d.get('override_database'),
24301            port=d.get('port'),
24302            port_override=d.get('port_override'),
24303            proxy_cluster_id=d.get('proxy_cluster_id'),
24304            region=d.get('region'),
24305            role_assumption_arn=d.get('role_assumption_arn'),
24306            secret_store_id=d.get('secret_store_id'),
24307            subdomain=d.get('subdomain'),
24308            tags=d.get('tags'),
24309            workgroup=d.get('workgroup'),
24310        )
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)
24159    def __init__(
24160        self,
24161        bind_interface=None,
24162        database=None,
24163        egress_filter=None,
24164        healthy=None,
24165        hostname=None,
24166        id=None,
24167        name=None,
24168        override_database=None,
24169        port=None,
24170        port_override=None,
24171        proxy_cluster_id=None,
24172        region=None,
24173        role_assumption_arn=None,
24174        secret_store_id=None,
24175        subdomain=None,
24176        tags=None,
24177        workgroup=None,
24178    ):
24179        self.bind_interface = bind_interface if bind_interface is not None else ''
24180        '''
24181         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24182        '''
24183        self.database = database if database is not None else ''
24184        '''
24185         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
24186        '''
24187        self.egress_filter = egress_filter if egress_filter is not None else ''
24188        '''
24189         A filter applied to the routing logic to pin datasource to nodes.
24190        '''
24191        self.healthy = healthy if healthy is not None else False
24192        '''
24193         True if the datasource is reachable and the credentials are valid.
24194        '''
24195        self.hostname = hostname if hostname is not None else ''
24196        '''
24197         The host to dial to initiate a connection from the egress node to this resource.
24198        '''
24199        self.id = id if id is not None else ''
24200        '''
24201         Unique identifier of the Resource.
24202        '''
24203        self.name = name if name is not None else ''
24204        '''
24205         Unique human-readable name of the Resource.
24206        '''
24207        self.override_database = override_database if override_database is not None else False
24208        '''
24209         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
24210        '''
24211        self.port = port if port is not None else 0
24212        '''
24213         The port to dial to initiate a connection from the egress node to this resource.
24214        '''
24215        self.port_override = port_override if port_override is not None else 0
24216        '''
24217         The local port used by clients to connect to this resource.
24218        '''
24219        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24220        '''
24221         ID of the proxy cluster for this resource, if any.
24222        '''
24223        self.region = region if region is not None else ''
24224        '''
24225         The AWS region to connect to.
24226        '''
24227        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
24228        '''
24229         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
24230        '''
24231        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24232        '''
24233         ID of the secret store containing credentials for this resource, if any.
24234        '''
24235        self.subdomain = subdomain if subdomain is not None else ''
24236        '''
24237         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24238        '''
24239        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24240        '''
24241         Tags is a map of key, value pairs.
24242        '''
24243        self.workgroup = workgroup if workgroup is not None else ''
24244        '''
24245         Workgroup name in the serverless Redshift
24246        '''
bind_interface

The bind interface is the IP 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)
24269    def to_dict(self):
24270        return {
24271            'bind_interface': self.bind_interface,
24272            'database': self.database,
24273            'egress_filter': self.egress_filter,
24274            'healthy': self.healthy,
24275            'hostname': self.hostname,
24276            'id': self.id,
24277            'name': self.name,
24278            'override_database': self.override_database,
24279            'port': self.port,
24280            'port_override': self.port_override,
24281            'proxy_cluster_id': self.proxy_cluster_id,
24282            'region': self.region,
24283            'role_assumption_arn': self.role_assumption_arn,
24284            'secret_store_id': self.secret_store_id,
24285            'subdomain': self.subdomain,
24286            'tags': self.tags,
24287            'workgroup': self.workgroup,
24288        }
@classmethod
def from_dict(cls, d)
24290    @classmethod
24291    def from_dict(cls, d):
24292        return cls(
24293            bind_interface=d.get('bind_interface'),
24294            database=d.get('database'),
24295            egress_filter=d.get('egress_filter'),
24296            healthy=d.get('healthy'),
24297            hostname=d.get('hostname'),
24298            id=d.get('id'),
24299            name=d.get('name'),
24300            override_database=d.get('override_database'),
24301            port=d.get('port'),
24302            port_override=d.get('port_override'),
24303            proxy_cluster_id=d.get('proxy_cluster_id'),
24304            region=d.get('region'),
24305            role_assumption_arn=d.get('role_assumption_arn'),
24306            secret_store_id=d.get('secret_store_id'),
24307            subdomain=d.get('subdomain'),
24308            tags=d.get('tags'),
24309            workgroup=d.get('workgroup'),
24310        )
class Relay:
24313class Relay:
24314    '''
24315         Relay represents a StrongDM CLI installation running in relay mode.
24316    '''
24317    __slots__ = [
24318        'device',
24319        'gateway_filter',
24320        'id',
24321        'location',
24322        'maintenance_windows',
24323        'name',
24324        'state',
24325        'tags',
24326        'version',
24327    ]
24328
24329    def __init__(
24330        self,
24331        device=None,
24332        gateway_filter=None,
24333        id=None,
24334        location=None,
24335        maintenance_windows=None,
24336        name=None,
24337        state=None,
24338        tags=None,
24339        version=None,
24340    ):
24341        self.device = device if device is not None else ''
24342        '''
24343         Device is a read only device name uploaded by the gateway process when
24344         it comes online.
24345        '''
24346        self.gateway_filter = gateway_filter if gateway_filter is not None else ''
24347        '''
24348         GatewayFilter can be used to restrict the peering between relays and
24349         gateways. Deprecated.
24350        '''
24351        self.id = id if id is not None else ''
24352        '''
24353         Unique identifier of the Relay.
24354        '''
24355        self.location = location if location is not None else ''
24356        '''
24357         Location is a read only network location uploaded by the gateway process
24358         when it comes online.
24359        '''
24360        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
24361        '''
24362         Maintenance Windows define when this node is allowed to restart. If a node
24363         is requested to restart, it will check each window to determine if any of
24364         them permit it to restart, and if any do, it will. This check is repeated
24365         per window until the restart is successfully completed.
24366         
24367         If not set here, may be set on the command line or via an environment variable
24368         on the process itself; any server setting will take precedence over local
24369         settings. This setting is ineffective for nodes below version 38.44.0.
24370         
24371         If this setting is not applied via this remote configuration or via local
24372         configuration, the default setting is used: always allow restarts if serving
24373         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
24374        '''
24375        self.name = name if name is not None else ''
24376        '''
24377         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.
24378        '''
24379        self.state = state if state is not None else ''
24380        '''
24381         The current state of the relay, one of the NodeState constants.
24382        '''
24383        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24384        '''
24385         Tags is a map of key, value pairs.
24386        '''
24387        self.version = version if version is not None else ''
24388        '''
24389         Version is a read only sdm binary version uploaded by the gateway process
24390         when it comes online.
24391        '''
24392
24393    def __repr__(self):
24394        return '<sdm.Relay ' + \
24395            'device: ' + repr(self.device) + ' ' +\
24396            'gateway_filter: ' + repr(self.gateway_filter) + ' ' +\
24397            'id: ' + repr(self.id) + ' ' +\
24398            'location: ' + repr(self.location) + ' ' +\
24399            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
24400            'name: ' + repr(self.name) + ' ' +\
24401            'state: ' + repr(self.state) + ' ' +\
24402            'tags: ' + repr(self.tags) + ' ' +\
24403            'version: ' + repr(self.version) + ' ' +\
24404            '>'
24405
24406    def to_dict(self):
24407        return {
24408            'device': self.device,
24409            'gateway_filter': self.gateway_filter,
24410            'id': self.id,
24411            'location': self.location,
24412            'maintenance_windows': self.maintenance_windows,
24413            'name': self.name,
24414            'state': self.state,
24415            'tags': self.tags,
24416            'version': self.version,
24417        }
24418
24419    @classmethod
24420    def from_dict(cls, d):
24421        return cls(
24422            device=d.get('device'),
24423            gateway_filter=d.get('gateway_filter'),
24424            id=d.get('id'),
24425            location=d.get('location'),
24426            maintenance_windows=d.get('maintenance_windows'),
24427            name=d.get('name'),
24428            state=d.get('state'),
24429            tags=d.get('tags'),
24430            version=d.get('version'),
24431        )

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)
24329    def __init__(
24330        self,
24331        device=None,
24332        gateway_filter=None,
24333        id=None,
24334        location=None,
24335        maintenance_windows=None,
24336        name=None,
24337        state=None,
24338        tags=None,
24339        version=None,
24340    ):
24341        self.device = device if device is not None else ''
24342        '''
24343         Device is a read only device name uploaded by the gateway process when
24344         it comes online.
24345        '''
24346        self.gateway_filter = gateway_filter if gateway_filter is not None else ''
24347        '''
24348         GatewayFilter can be used to restrict the peering between relays and
24349         gateways. Deprecated.
24350        '''
24351        self.id = id if id is not None else ''
24352        '''
24353         Unique identifier of the Relay.
24354        '''
24355        self.location = location if location is not None else ''
24356        '''
24357         Location is a read only network location uploaded by the gateway process
24358         when it comes online.
24359        '''
24360        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
24361        '''
24362         Maintenance Windows define when this node is allowed to restart. If a node
24363         is requested to restart, it will check each window to determine if any of
24364         them permit it to restart, and if any do, it will. This check is repeated
24365         per window until the restart is successfully completed.
24366         
24367         If not set here, may be set on the command line or via an environment variable
24368         on the process itself; any server setting will take precedence over local
24369         settings. This setting is ineffective for nodes below version 38.44.0.
24370         
24371         If this setting is not applied via this remote configuration or via local
24372         configuration, the default setting is used: always allow restarts if serving
24373         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
24374        '''
24375        self.name = name if name is not None else ''
24376        '''
24377         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.
24378        '''
24379        self.state = state if state is not None else ''
24380        '''
24381         The current state of the relay, one of the NodeState constants.
24382        '''
24383        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24384        '''
24385         Tags is a map of key, value pairs.
24386        '''
24387        self.version = version if version is not None else ''
24388        '''
24389         Version is a read only sdm binary version uploaded by the gateway process
24390         when it comes online.
24391        '''
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)
24406    def to_dict(self):
24407        return {
24408            'device': self.device,
24409            'gateway_filter': self.gateway_filter,
24410            'id': self.id,
24411            'location': self.location,
24412            'maintenance_windows': self.maintenance_windows,
24413            'name': self.name,
24414            'state': self.state,
24415            'tags': self.tags,
24416            'version': self.version,
24417        }
@classmethod
def from_dict(cls, d)
24419    @classmethod
24420    def from_dict(cls, d):
24421        return cls(
24422            device=d.get('device'),
24423            gateway_filter=d.get('gateway_filter'),
24424            id=d.get('id'),
24425            location=d.get('location'),
24426            maintenance_windows=d.get('maintenance_windows'),
24427            name=d.get('name'),
24428            state=d.get('state'),
24429            tags=d.get('tags'),
24430            version=d.get('version'),
24431        )
class RemoteIdentity:
24434class RemoteIdentity:
24435    '''
24436         RemoteIdentities define the username to be used for a specific account
24437     when connecting to a remote resource using that group.
24438    '''
24439    __slots__ = [
24440        'account_id',
24441        'id',
24442        'remote_identity_group_id',
24443        'username',
24444    ]
24445
24446    def __init__(
24447        self,
24448        account_id=None,
24449        id=None,
24450        remote_identity_group_id=None,
24451        username=None,
24452    ):
24453        self.account_id = account_id if account_id is not None else ''
24454        '''
24455         The account for this remote identity.
24456        '''
24457        self.id = id if id is not None else ''
24458        '''
24459         Unique identifier of the RemoteIdentity.
24460        '''
24461        self.remote_identity_group_id = remote_identity_group_id if remote_identity_group_id is not None else ''
24462        '''
24463         The remote identity group.
24464        '''
24465        self.username = username if username is not None else ''
24466        '''
24467         The username to be used as the remote identity for this account.
24468        '''
24469
24470    def __repr__(self):
24471        return '<sdm.RemoteIdentity ' + \
24472            'account_id: ' + repr(self.account_id) + ' ' +\
24473            'id: ' + repr(self.id) + ' ' +\
24474            'remote_identity_group_id: ' + repr(self.remote_identity_group_id) + ' ' +\
24475            'username: ' + repr(self.username) + ' ' +\
24476            '>'
24477
24478    def to_dict(self):
24479        return {
24480            'account_id': self.account_id,
24481            'id': self.id,
24482            'remote_identity_group_id': self.remote_identity_group_id,
24483            'username': self.username,
24484        }
24485
24486    @classmethod
24487    def from_dict(cls, d):
24488        return cls(
24489            account_id=d.get('account_id'),
24490            id=d.get('id'),
24491            remote_identity_group_id=d.get('remote_identity_group_id'),
24492            username=d.get('username'),
24493        )

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)
24446    def __init__(
24447        self,
24448        account_id=None,
24449        id=None,
24450        remote_identity_group_id=None,
24451        username=None,
24452    ):
24453        self.account_id = account_id if account_id is not None else ''
24454        '''
24455         The account for this remote identity.
24456        '''
24457        self.id = id if id is not None else ''
24458        '''
24459         Unique identifier of the RemoteIdentity.
24460        '''
24461        self.remote_identity_group_id = remote_identity_group_id if remote_identity_group_id is not None else ''
24462        '''
24463         The remote identity group.
24464        '''
24465        self.username = username if username is not None else ''
24466        '''
24467         The username to be used as the remote identity for this account.
24468        '''
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)
24478    def to_dict(self):
24479        return {
24480            'account_id': self.account_id,
24481            'id': self.id,
24482            'remote_identity_group_id': self.remote_identity_group_id,
24483            'username': self.username,
24484        }
@classmethod
def from_dict(cls, d)
24486    @classmethod
24487    def from_dict(cls, d):
24488        return cls(
24489            account_id=d.get('account_id'),
24490            id=d.get('id'),
24491            remote_identity_group_id=d.get('remote_identity_group_id'),
24492            username=d.get('username'),
24493        )
class RemoteIdentityCreateResponse:
24496class RemoteIdentityCreateResponse:
24497    '''
24498         RemoteIdentityCreateResponse reports how the RemoteIdentities were created in the system.
24499    '''
24500    __slots__ = [
24501        'meta',
24502        'rate_limit',
24503        'remote_identity',
24504    ]
24505
24506    def __init__(
24507        self,
24508        meta=None,
24509        rate_limit=None,
24510        remote_identity=None,
24511    ):
24512        self.meta = meta if meta is not None else None
24513        '''
24514         Reserved for future use.
24515        '''
24516        self.rate_limit = rate_limit if rate_limit is not None else None
24517        '''
24518         Rate limit information.
24519        '''
24520        self.remote_identity = remote_identity if remote_identity is not None else None
24521        '''
24522         The created RemoteIdentity.
24523        '''
24524
24525    def __repr__(self):
24526        return '<sdm.RemoteIdentityCreateResponse ' + \
24527            'meta: ' + repr(self.meta) + ' ' +\
24528            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24529            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
24530            '>'
24531
24532    def to_dict(self):
24533        return {
24534            'meta': self.meta,
24535            'rate_limit': self.rate_limit,
24536            'remote_identity': self.remote_identity,
24537        }
24538
24539    @classmethod
24540    def from_dict(cls, d):
24541        return cls(
24542            meta=d.get('meta'),
24543            rate_limit=d.get('rate_limit'),
24544            remote_identity=d.get('remote_identity'),
24545        )

RemoteIdentityCreateResponse reports how the RemoteIdentities were created in the system.

RemoteIdentityCreateResponse(meta=None, rate_limit=None, remote_identity=None)
24506    def __init__(
24507        self,
24508        meta=None,
24509        rate_limit=None,
24510        remote_identity=None,
24511    ):
24512        self.meta = meta if meta is not None else None
24513        '''
24514         Reserved for future use.
24515        '''
24516        self.rate_limit = rate_limit if rate_limit is not None else None
24517        '''
24518         Rate limit information.
24519        '''
24520        self.remote_identity = remote_identity if remote_identity is not None else None
24521        '''
24522         The created RemoteIdentity.
24523        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

remote_identity

The created RemoteIdentity.

def to_dict(self)
24532    def to_dict(self):
24533        return {
24534            'meta': self.meta,
24535            'rate_limit': self.rate_limit,
24536            'remote_identity': self.remote_identity,
24537        }
@classmethod
def from_dict(cls, d)
24539    @classmethod
24540    def from_dict(cls, d):
24541        return cls(
24542            meta=d.get('meta'),
24543            rate_limit=d.get('rate_limit'),
24544            remote_identity=d.get('remote_identity'),
24545        )
class RemoteIdentityDeleteResponse:
24548class RemoteIdentityDeleteResponse:
24549    '''
24550         RemoteIdentityDeleteResponse returns information about a RemoteIdentity that was deleted.
24551    '''
24552    __slots__ = [
24553        'meta',
24554        'rate_limit',
24555    ]
24556
24557    def __init__(
24558        self,
24559        meta=None,
24560        rate_limit=None,
24561    ):
24562        self.meta = meta if meta is not None else None
24563        '''
24564         Reserved for future use.
24565        '''
24566        self.rate_limit = rate_limit if rate_limit is not None else None
24567        '''
24568         Rate limit information.
24569        '''
24570
24571    def __repr__(self):
24572        return '<sdm.RemoteIdentityDeleteResponse ' + \
24573            'meta: ' + repr(self.meta) + ' ' +\
24574            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24575            '>'
24576
24577    def to_dict(self):
24578        return {
24579            'meta': self.meta,
24580            'rate_limit': self.rate_limit,
24581        }
24582
24583    @classmethod
24584    def from_dict(cls, d):
24585        return cls(
24586            meta=d.get('meta'),
24587            rate_limit=d.get('rate_limit'),
24588        )

RemoteIdentityDeleteResponse returns information about a RemoteIdentity that was deleted.

RemoteIdentityDeleteResponse(meta=None, rate_limit=None)
24557    def __init__(
24558        self,
24559        meta=None,
24560        rate_limit=None,
24561    ):
24562        self.meta = meta if meta is not None else None
24563        '''
24564         Reserved for future use.
24565        '''
24566        self.rate_limit = rate_limit if rate_limit is not None else None
24567        '''
24568         Rate limit information.
24569        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

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

RemoteIdentityGetResponse returns a requested RemoteIdentity.

RemoteIdentityGetResponse(meta=None, rate_limit=None, remote_identity=None)
24601    def __init__(
24602        self,
24603        meta=None,
24604        rate_limit=None,
24605        remote_identity=None,
24606    ):
24607        self.meta = meta if meta is not None else None
24608        '''
24609         Reserved for future use.
24610        '''
24611        self.rate_limit = rate_limit if rate_limit is not None else None
24612        '''
24613         Rate limit information.
24614        '''
24615        self.remote_identity = remote_identity if remote_identity is not None else None
24616        '''
24617         The requested RemoteIdentity.
24618        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

remote_identity

The requested RemoteIdentity.

def to_dict(self)
24627    def to_dict(self):
24628        return {
24629            'meta': self.meta,
24630            'rate_limit': self.rate_limit,
24631            'remote_identity': self.remote_identity,
24632        }
@classmethod
def from_dict(cls, d)
24634    @classmethod
24635    def from_dict(cls, d):
24636        return cls(
24637            meta=d.get('meta'),
24638            rate_limit=d.get('rate_limit'),
24639            remote_identity=d.get('remote_identity'),
24640        )
class RemoteIdentityGroup:
24643class RemoteIdentityGroup:
24644    '''
24645         A RemoteIdentityGroup defines a group of remote identities.
24646    '''
24647    __slots__ = [
24648        'id',
24649        'name',
24650    ]
24651
24652    def __init__(
24653        self,
24654        id=None,
24655        name=None,
24656    ):
24657        self.id = id if id is not None else ''
24658        '''
24659         Unique identifier of the RemoteIdentityGroup.
24660        '''
24661        self.name = name if name is not None else ''
24662        '''
24663         Unique human-readable name of the RemoteIdentityGroup.
24664        '''
24665
24666    def __repr__(self):
24667        return '<sdm.RemoteIdentityGroup ' + \
24668            'id: ' + repr(self.id) + ' ' +\
24669            'name: ' + repr(self.name) + ' ' +\
24670            '>'
24671
24672    def to_dict(self):
24673        return {
24674            'id': self.id,
24675            'name': self.name,
24676        }
24677
24678    @classmethod
24679    def from_dict(cls, d):
24680        return cls(
24681            id=d.get('id'),
24682            name=d.get('name'),
24683        )

A RemoteIdentityGroup defines a group of remote identities.

RemoteIdentityGroup(id=None, name=None)
24652    def __init__(
24653        self,
24654        id=None,
24655        name=None,
24656    ):
24657        self.id = id if id is not None else ''
24658        '''
24659         Unique identifier of the RemoteIdentityGroup.
24660        '''
24661        self.name = name if name is not None else ''
24662        '''
24663         Unique human-readable name of the RemoteIdentityGroup.
24664        '''
id

Unique identifier of the RemoteIdentityGroup.

name

Unique human-readable name of the RemoteIdentityGroup.

def to_dict(self)
24672    def to_dict(self):
24673        return {
24674            'id': self.id,
24675            'name': self.name,
24676        }
@classmethod
def from_dict(cls, d)
24678    @classmethod
24679    def from_dict(cls, d):
24680        return cls(
24681            id=d.get('id'),
24682            name=d.get('name'),
24683        )
class RemoteIdentityGroupGetResponse:
24686class RemoteIdentityGroupGetResponse:
24687    '''
24688         RemoteIdentityGroupGetResponse returns a requested RemoteIdentityGroup.
24689    '''
24690    __slots__ = [
24691        'meta',
24692        'rate_limit',
24693        'remote_identity_group',
24694    ]
24695
24696    def __init__(
24697        self,
24698        meta=None,
24699        rate_limit=None,
24700        remote_identity_group=None,
24701    ):
24702        self.meta = meta if meta is not None else None
24703        '''
24704         Reserved for future use.
24705        '''
24706        self.rate_limit = rate_limit if rate_limit is not None else None
24707        '''
24708         Rate limit information.
24709        '''
24710        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
24711        '''
24712         The requested RemoteIdentityGroup.
24713        '''
24714
24715    def __repr__(self):
24716        return '<sdm.RemoteIdentityGroupGetResponse ' + \
24717            'meta: ' + repr(self.meta) + ' ' +\
24718            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24719            'remote_identity_group: ' + repr(self.remote_identity_group) + ' ' +\
24720            '>'
24721
24722    def to_dict(self):
24723        return {
24724            'meta': self.meta,
24725            'rate_limit': self.rate_limit,
24726            'remote_identity_group': self.remote_identity_group,
24727        }
24728
24729    @classmethod
24730    def from_dict(cls, d):
24731        return cls(
24732            meta=d.get('meta'),
24733            rate_limit=d.get('rate_limit'),
24734            remote_identity_group=d.get('remote_identity_group'),
24735        )

RemoteIdentityGroupGetResponse returns a requested RemoteIdentityGroup.

RemoteIdentityGroupGetResponse(meta=None, rate_limit=None, remote_identity_group=None)
24696    def __init__(
24697        self,
24698        meta=None,
24699        rate_limit=None,
24700        remote_identity_group=None,
24701    ):
24702        self.meta = meta if meta is not None else None
24703        '''
24704         Reserved for future use.
24705        '''
24706        self.rate_limit = rate_limit if rate_limit is not None else None
24707        '''
24708         Rate limit information.
24709        '''
24710        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
24711        '''
24712         The requested RemoteIdentityGroup.
24713        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

remote_identity_group

The requested RemoteIdentityGroup.

def to_dict(self)
24722    def to_dict(self):
24723        return {
24724            'meta': self.meta,
24725            'rate_limit': self.rate_limit,
24726            'remote_identity_group': self.remote_identity_group,
24727        }
@classmethod
def from_dict(cls, d)
24729    @classmethod
24730    def from_dict(cls, d):
24731        return cls(
24732            meta=d.get('meta'),
24733            rate_limit=d.get('rate_limit'),
24734            remote_identity_group=d.get('remote_identity_group'),
24735        )
class RemoteIdentityGroupHistory:
24738class RemoteIdentityGroupHistory:
24739    '''
24740         RemoteIdentityGroupHistory records the state of a RemoteIdentityGroup at a given point in time,
24741     where every change (create, update and delete) to a RemoteIdentityGroup produces an
24742     RemoteIdentityGroupHistory record.
24743    '''
24744    __slots__ = [
24745        'activity_id',
24746        'deleted_at',
24747        'remote_identity_group',
24748        'timestamp',
24749    ]
24750
24751    def __init__(
24752        self,
24753        activity_id=None,
24754        deleted_at=None,
24755        remote_identity_group=None,
24756        timestamp=None,
24757    ):
24758        self.activity_id = activity_id if activity_id is not None else ''
24759        '''
24760         The unique identifier of the Activity that produced this change to the RemoteIdentityGroup.
24761         May be empty for some system-initiated updates.
24762        '''
24763        self.deleted_at = deleted_at if deleted_at is not None else None
24764        '''
24765         If this RemoteIdentityGroup was deleted, the time it was deleted.
24766        '''
24767        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
24768        '''
24769         The complete RemoteIdentityGroup state at this time.
24770        '''
24771        self.timestamp = timestamp if timestamp is not None else None
24772        '''
24773         The time at which the RemoteIdentityGroup state was recorded.
24774        '''
24775
24776    def __repr__(self):
24777        return '<sdm.RemoteIdentityGroupHistory ' + \
24778            'activity_id: ' + repr(self.activity_id) + ' ' +\
24779            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
24780            'remote_identity_group: ' + repr(self.remote_identity_group) + ' ' +\
24781            'timestamp: ' + repr(self.timestamp) + ' ' +\
24782            '>'
24783
24784    def to_dict(self):
24785        return {
24786            'activity_id': self.activity_id,
24787            'deleted_at': self.deleted_at,
24788            'remote_identity_group': self.remote_identity_group,
24789            'timestamp': self.timestamp,
24790        }
24791
24792    @classmethod
24793    def from_dict(cls, d):
24794        return cls(
24795            activity_id=d.get('activity_id'),
24796            deleted_at=d.get('deleted_at'),
24797            remote_identity_group=d.get('remote_identity_group'),
24798            timestamp=d.get('timestamp'),
24799        )

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)
24751    def __init__(
24752        self,
24753        activity_id=None,
24754        deleted_at=None,
24755        remote_identity_group=None,
24756        timestamp=None,
24757    ):
24758        self.activity_id = activity_id if activity_id is not None else ''
24759        '''
24760         The unique identifier of the Activity that produced this change to the RemoteIdentityGroup.
24761         May be empty for some system-initiated updates.
24762        '''
24763        self.deleted_at = deleted_at if deleted_at is not None else None
24764        '''
24765         If this RemoteIdentityGroup was deleted, the time it was deleted.
24766        '''
24767        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
24768        '''
24769         The complete RemoteIdentityGroup state at this time.
24770        '''
24771        self.timestamp = timestamp if timestamp is not None else None
24772        '''
24773         The time at which the RemoteIdentityGroup state was recorded.
24774        '''
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)
24784    def to_dict(self):
24785        return {
24786            'activity_id': self.activity_id,
24787            'deleted_at': self.deleted_at,
24788            'remote_identity_group': self.remote_identity_group,
24789            'timestamp': self.timestamp,
24790        }
@classmethod
def from_dict(cls, d)
24792    @classmethod
24793    def from_dict(cls, d):
24794        return cls(
24795            activity_id=d.get('activity_id'),
24796            deleted_at=d.get('deleted_at'),
24797            remote_identity_group=d.get('remote_identity_group'),
24798            timestamp=d.get('timestamp'),
24799        )
class RemoteIdentityHistory:
24802class RemoteIdentityHistory:
24803    '''
24804         RemoteIdentityHistory records the state of a RemoteIdentity at a given point in time,
24805     where every change (create, update and delete) to a RemoteIdentity produces an
24806     RemoteIdentityHistory record.
24807    '''
24808    __slots__ = [
24809        'activity_id',
24810        'deleted_at',
24811        'remote_identity',
24812        'timestamp',
24813    ]
24814
24815    def __init__(
24816        self,
24817        activity_id=None,
24818        deleted_at=None,
24819        remote_identity=None,
24820        timestamp=None,
24821    ):
24822        self.activity_id = activity_id if activity_id is not None else ''
24823        '''
24824         The unique identifier of the Activity that produced this change to the RemoteIdentity.
24825         May be empty for some system-initiated updates.
24826        '''
24827        self.deleted_at = deleted_at if deleted_at is not None else None
24828        '''
24829         If this RemoteIdentity was deleted, the time it was deleted.
24830        '''
24831        self.remote_identity = remote_identity if remote_identity is not None else None
24832        '''
24833         The complete RemoteIdentity state at this time.
24834        '''
24835        self.timestamp = timestamp if timestamp is not None else None
24836        '''
24837         The time at which the RemoteIdentity state was recorded.
24838        '''
24839
24840    def __repr__(self):
24841        return '<sdm.RemoteIdentityHistory ' + \
24842            'activity_id: ' + repr(self.activity_id) + ' ' +\
24843            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
24844            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
24845            'timestamp: ' + repr(self.timestamp) + ' ' +\
24846            '>'
24847
24848    def to_dict(self):
24849        return {
24850            'activity_id': self.activity_id,
24851            'deleted_at': self.deleted_at,
24852            'remote_identity': self.remote_identity,
24853            'timestamp': self.timestamp,
24854        }
24855
24856    @classmethod
24857    def from_dict(cls, d):
24858        return cls(
24859            activity_id=d.get('activity_id'),
24860            deleted_at=d.get('deleted_at'),
24861            remote_identity=d.get('remote_identity'),
24862            timestamp=d.get('timestamp'),
24863        )

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)
24815    def __init__(
24816        self,
24817        activity_id=None,
24818        deleted_at=None,
24819        remote_identity=None,
24820        timestamp=None,
24821    ):
24822        self.activity_id = activity_id if activity_id is not None else ''
24823        '''
24824         The unique identifier of the Activity that produced this change to the RemoteIdentity.
24825         May be empty for some system-initiated updates.
24826        '''
24827        self.deleted_at = deleted_at if deleted_at is not None else None
24828        '''
24829         If this RemoteIdentity was deleted, the time it was deleted.
24830        '''
24831        self.remote_identity = remote_identity if remote_identity is not None else None
24832        '''
24833         The complete RemoteIdentity state at this time.
24834        '''
24835        self.timestamp = timestamp if timestamp is not None else None
24836        '''
24837         The time at which the RemoteIdentity state was recorded.
24838        '''
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)
24848    def to_dict(self):
24849        return {
24850            'activity_id': self.activity_id,
24851            'deleted_at': self.deleted_at,
24852            'remote_identity': self.remote_identity,
24853            'timestamp': self.timestamp,
24854        }
@classmethod
def from_dict(cls, d)
24856    @classmethod
24857    def from_dict(cls, d):
24858        return cls(
24859            activity_id=d.get('activity_id'),
24860            deleted_at=d.get('deleted_at'),
24861            remote_identity=d.get('remote_identity'),
24862            timestamp=d.get('timestamp'),
24863        )
class RemoteIdentityUpdateResponse:
24866class RemoteIdentityUpdateResponse:
24867    '''
24868         RemoteIdentityUpdateResponse returns the fields of a RemoteIdentity after it has been updated by
24869     a RemoteIdentityUpdateRequest.
24870    '''
24871    __slots__ = [
24872        'meta',
24873        'rate_limit',
24874        'remote_identity',
24875    ]
24876
24877    def __init__(
24878        self,
24879        meta=None,
24880        rate_limit=None,
24881        remote_identity=None,
24882    ):
24883        self.meta = meta if meta is not None else None
24884        '''
24885         Reserved for future use.
24886        '''
24887        self.rate_limit = rate_limit if rate_limit is not None else None
24888        '''
24889         Rate limit information.
24890        '''
24891        self.remote_identity = remote_identity if remote_identity is not None else None
24892        '''
24893         The updated RemoteIdentity.
24894        '''
24895
24896    def __repr__(self):
24897        return '<sdm.RemoteIdentityUpdateResponse ' + \
24898            'meta: ' + repr(self.meta) + ' ' +\
24899            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24900            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
24901            '>'
24902
24903    def to_dict(self):
24904        return {
24905            'meta': self.meta,
24906            'rate_limit': self.rate_limit,
24907            'remote_identity': self.remote_identity,
24908        }
24909
24910    @classmethod
24911    def from_dict(cls, d):
24912        return cls(
24913            meta=d.get('meta'),
24914            rate_limit=d.get('rate_limit'),
24915            remote_identity=d.get('remote_identity'),
24916        )

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

RemoteIdentityUpdateResponse(meta=None, rate_limit=None, remote_identity=None)
24877    def __init__(
24878        self,
24879        meta=None,
24880        rate_limit=None,
24881        remote_identity=None,
24882    ):
24883        self.meta = meta if meta is not None else None
24884        '''
24885         Reserved for future use.
24886        '''
24887        self.rate_limit = rate_limit if rate_limit is not None else None
24888        '''
24889         Rate limit information.
24890        '''
24891        self.remote_identity = remote_identity if remote_identity is not None else None
24892        '''
24893         The updated RemoteIdentity.
24894        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

remote_identity

The updated RemoteIdentity.

def to_dict(self)
24903    def to_dict(self):
24904        return {
24905            'meta': self.meta,
24906            'rate_limit': self.rate_limit,
24907            'remote_identity': self.remote_identity,
24908        }
@classmethod
def from_dict(cls, d)
24910    @classmethod
24911    def from_dict(cls, d):
24912        return cls(
24913            meta=d.get('meta'),
24914            rate_limit=d.get('rate_limit'),
24915            remote_identity=d.get('remote_identity'),
24916        )
class ReplayChunk:
24919class ReplayChunk:
24920    '''
24921         A ReplayChunk represents a single "chunk" of data from the query replay.
24922    '''
24923    __slots__ = [
24924        'data',
24925        'events',
24926        'symmetric_key',
24927    ]
24928
24929    def __init__(
24930        self,
24931        data=None,
24932        events=None,
24933        symmetric_key=None,
24934    ):
24935        self.data = data if data is not None else b''
24936        '''
24937         The raw data of the ReplayChunk. The data is encrypted if the associated Query is encrypted.
24938        '''
24939        self.events = events if events is not None else []
24940        '''
24941         The list of events of the ReplayChunk. If the Query is encrypted, this field is always empty
24942         and the events can be obtained by decrypting the data using the QueryKey returned with the Query.
24943        '''
24944        self.symmetric_key = symmetric_key if symmetric_key is not None else ''
24945        '''
24946         If the data is encrypted, this contains the encrypted symmetric key
24947        '''
24948
24949    def __repr__(self):
24950        return '<sdm.ReplayChunk ' + \
24951            'data: ' + repr(self.data) + ' ' +\
24952            'events: ' + repr(self.events) + ' ' +\
24953            'symmetric_key: ' + repr(self.symmetric_key) + ' ' +\
24954            '>'
24955
24956    def to_dict(self):
24957        return {
24958            'data': self.data,
24959            'events': self.events,
24960            'symmetric_key': self.symmetric_key,
24961        }
24962
24963    @classmethod
24964    def from_dict(cls, d):
24965        return cls(
24966            data=d.get('data'),
24967            events=d.get('events'),
24968            symmetric_key=d.get('symmetric_key'),
24969        )

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

ReplayChunk(data=None, events=None, symmetric_key=None)
24929    def __init__(
24930        self,
24931        data=None,
24932        events=None,
24933        symmetric_key=None,
24934    ):
24935        self.data = data if data is not None else b''
24936        '''
24937         The raw data of the ReplayChunk. The data is encrypted if the associated Query is encrypted.
24938        '''
24939        self.events = events if events is not None else []
24940        '''
24941         The list of events of the ReplayChunk. If the Query is encrypted, this field is always empty
24942         and the events can be obtained by decrypting the data using the QueryKey returned with the Query.
24943        '''
24944        self.symmetric_key = symmetric_key if symmetric_key is not None else ''
24945        '''
24946         If the data is encrypted, this contains the encrypted symmetric key
24947        '''
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)
24956    def to_dict(self):
24957        return {
24958            'data': self.data,
24959            'events': self.events,
24960            'symmetric_key': self.symmetric_key,
24961        }
@classmethod
def from_dict(cls, d)
24963    @classmethod
24964    def from_dict(cls, d):
24965        return cls(
24966            data=d.get('data'),
24967            events=d.get('events'),
24968            symmetric_key=d.get('symmetric_key'),
24969        )
class ReplayChunkEvent:
24972class ReplayChunkEvent:
24973    '''
24974         A ReplayChunkEvent represents a single event within a query replay.
24975     The timing information included in each ReplayChunkEvent may be used to replay a session in real time.
24976    '''
24977    __slots__ = [
24978        'data',
24979        'duration',
24980    ]
24981
24982    def __init__(
24983        self,
24984        data=None,
24985        duration=None,
24986    ):
24987        self.data = data if data is not None else b''
24988        '''
24989         The raw data of the ReplayChunkEvent.
24990        '''
24991        self.duration = duration if duration is not None else None
24992        '''
24993         The time duration over which the data in this ReplayChunkEvent was transferred.
24994        '''
24995
24996    def __repr__(self):
24997        return '<sdm.ReplayChunkEvent ' + \
24998            'data: ' + repr(self.data) + ' ' +\
24999            'duration: ' + repr(self.duration) + ' ' +\
25000            '>'
25001
25002    def to_dict(self):
25003        return {
25004            'data': self.data,
25005            'duration': self.duration,
25006        }
25007
25008    @classmethod
25009    def from_dict(cls, d):
25010        return cls(
25011            data=d.get('data'),
25012            duration=d.get('duration'),
25013        )

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)
24982    def __init__(
24983        self,
24984        data=None,
24985        duration=None,
24986    ):
24987        self.data = data if data is not None else b''
24988        '''
24989         The raw data of the ReplayChunkEvent.
24990        '''
24991        self.duration = duration if duration is not None else None
24992        '''
24993         The time duration over which the data in this ReplayChunkEvent was transferred.
24994        '''
data

The raw data of the ReplayChunkEvent.

duration

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

def to_dict(self)
25002    def to_dict(self):
25003        return {
25004            'data': self.data,
25005            'duration': self.duration,
25006        }
@classmethod
def from_dict(cls, d)
25008    @classmethod
25009    def from_dict(cls, d):
25010        return cls(
25011            data=d.get('data'),
25012            duration=d.get('duration'),
25013        )
class RequestableResource:
25016class RequestableResource:
25017    '''
25018         RequestableResource is a resource that can be requested via an AccessRequestConfig
25019    '''
25020    __slots__ = [
25021        'access',
25022        'authentication',
25023        'healthy',
25024        'id',
25025        'name',
25026        'tags',
25027        'type',
25028    ]
25029
25030    def __init__(
25031        self,
25032        access=None,
25033        authentication=None,
25034        healthy=None,
25035        id=None,
25036        name=None,
25037        tags=None,
25038        type=None,
25039    ):
25040        self.access = access if access is not None else ''
25041        '''
25042         The current state of the user's access to the resources
25043        '''
25044        self.authentication = authentication if authentication is not None else ''
25045        '''
25046         The type of authentication for the resource
25047        '''
25048        self.healthy = healthy if healthy is not None else False
25049        '''
25050         The health check status of the reasource
25051        '''
25052        self.id = id if id is not None else ''
25053        '''
25054         The resource id.
25055        '''
25056        self.name = name if name is not None else ''
25057        '''
25058         The resource name.
25059        '''
25060        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25061        '''
25062         Any tags attached to this resource
25063        '''
25064        self.type = type if type is not None else ''
25065        '''
25066         The resource type
25067        '''
25068
25069    def __repr__(self):
25070        return '<sdm.RequestableResource ' + \
25071            'access: ' + repr(self.access) + ' ' +\
25072            'authentication: ' + repr(self.authentication) + ' ' +\
25073            'healthy: ' + repr(self.healthy) + ' ' +\
25074            'id: ' + repr(self.id) + ' ' +\
25075            'name: ' + repr(self.name) + ' ' +\
25076            'tags: ' + repr(self.tags) + ' ' +\
25077            'type: ' + repr(self.type) + ' ' +\
25078            '>'
25079
25080    def to_dict(self):
25081        return {
25082            'access': self.access,
25083            'authentication': self.authentication,
25084            'healthy': self.healthy,
25085            'id': self.id,
25086            'name': self.name,
25087            'tags': self.tags,
25088            'type': self.type,
25089        }
25090
25091    @classmethod
25092    def from_dict(cls, d):
25093        return cls(
25094            access=d.get('access'),
25095            authentication=d.get('authentication'),
25096            healthy=d.get('healthy'),
25097            id=d.get('id'),
25098            name=d.get('name'),
25099            tags=d.get('tags'),
25100            type=d.get('type'),
25101        )

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)
25030    def __init__(
25031        self,
25032        access=None,
25033        authentication=None,
25034        healthy=None,
25035        id=None,
25036        name=None,
25037        tags=None,
25038        type=None,
25039    ):
25040        self.access = access if access is not None else ''
25041        '''
25042         The current state of the user's access to the resources
25043        '''
25044        self.authentication = authentication if authentication is not None else ''
25045        '''
25046         The type of authentication for the resource
25047        '''
25048        self.healthy = healthy if healthy is not None else False
25049        '''
25050         The health check status of the reasource
25051        '''
25052        self.id = id if id is not None else ''
25053        '''
25054         The resource id.
25055        '''
25056        self.name = name if name is not None else ''
25057        '''
25058         The resource name.
25059        '''
25060        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25061        '''
25062         Any tags attached to this resource
25063        '''
25064        self.type = type if type is not None else ''
25065        '''
25066         The resource type
25067        '''
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)
25080    def to_dict(self):
25081        return {
25082            'access': self.access,
25083            'authentication': self.authentication,
25084            'healthy': self.healthy,
25085            'id': self.id,
25086            'name': self.name,
25087            'tags': self.tags,
25088            'type': self.type,
25089        }
@classmethod
def from_dict(cls, d)
25091    @classmethod
25092    def from_dict(cls, d):
25093        return cls(
25094            access=d.get('access'),
25095            authentication=d.get('authentication'),
25096            healthy=d.get('healthy'),
25097            id=d.get('id'),
25098            name=d.get('name'),
25099            tags=d.get('tags'),
25100            type=d.get('type'),
25101        )
class ResourceCreateResponse:
25104class ResourceCreateResponse:
25105    '''
25106         ResourceCreateResponse reports how the Resources were created in the system.
25107    '''
25108    __slots__ = [
25109        'meta',
25110        'rate_limit',
25111        'resource',
25112    ]
25113
25114    def __init__(
25115        self,
25116        meta=None,
25117        rate_limit=None,
25118        resource=None,
25119    ):
25120        self.meta = meta if meta is not None else None
25121        '''
25122         Reserved for future use.
25123        '''
25124        self.rate_limit = rate_limit if rate_limit is not None else None
25125        '''
25126         Rate limit information.
25127        '''
25128        self.resource = resource if resource is not None else None
25129        '''
25130         The created Resource.
25131        '''
25132
25133    def __repr__(self):
25134        return '<sdm.ResourceCreateResponse ' + \
25135            'meta: ' + repr(self.meta) + ' ' +\
25136            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25137            'resource: ' + repr(self.resource) + ' ' +\
25138            '>'
25139
25140    def to_dict(self):
25141        return {
25142            'meta': self.meta,
25143            'rate_limit': self.rate_limit,
25144            'resource': self.resource,
25145        }
25146
25147    @classmethod
25148    def from_dict(cls, d):
25149        return cls(
25150            meta=d.get('meta'),
25151            rate_limit=d.get('rate_limit'),
25152            resource=d.get('resource'),
25153        )

ResourceCreateResponse reports how the Resources were created in the system.

ResourceCreateResponse(meta=None, rate_limit=None, resource=None)
25114    def __init__(
25115        self,
25116        meta=None,
25117        rate_limit=None,
25118        resource=None,
25119    ):
25120        self.meta = meta if meta is not None else None
25121        '''
25122         Reserved for future use.
25123        '''
25124        self.rate_limit = rate_limit if rate_limit is not None else None
25125        '''
25126         Rate limit information.
25127        '''
25128        self.resource = resource if resource is not None else None
25129        '''
25130         The created Resource.
25131        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

resource

The created Resource.

def to_dict(self)
25140    def to_dict(self):
25141        return {
25142            'meta': self.meta,
25143            'rate_limit': self.rate_limit,
25144            'resource': self.resource,
25145        }
@classmethod
def from_dict(cls, d)
25147    @classmethod
25148    def from_dict(cls, d):
25149        return cls(
25150            meta=d.get('meta'),
25151            rate_limit=d.get('rate_limit'),
25152            resource=d.get('resource'),
25153        )
class ResourceDeleteResponse:
25156class ResourceDeleteResponse:
25157    '''
25158         ResourceDeleteResponse returns information about a Resource that was deleted.
25159    '''
25160    __slots__ = [
25161        'meta',
25162        'rate_limit',
25163    ]
25164
25165    def __init__(
25166        self,
25167        meta=None,
25168        rate_limit=None,
25169    ):
25170        self.meta = meta if meta is not None else None
25171        '''
25172         Reserved for future use.
25173        '''
25174        self.rate_limit = rate_limit if rate_limit is not None else None
25175        '''
25176         Rate limit information.
25177        '''
25178
25179    def __repr__(self):
25180        return '<sdm.ResourceDeleteResponse ' + \
25181            'meta: ' + repr(self.meta) + ' ' +\
25182            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25183            '>'
25184
25185    def to_dict(self):
25186        return {
25187            'meta': self.meta,
25188            'rate_limit': self.rate_limit,
25189        }
25190
25191    @classmethod
25192    def from_dict(cls, d):
25193        return cls(
25194            meta=d.get('meta'),
25195            rate_limit=d.get('rate_limit'),
25196        )

ResourceDeleteResponse returns information about a Resource that was deleted.

ResourceDeleteResponse(meta=None, rate_limit=None)
25165    def __init__(
25166        self,
25167        meta=None,
25168        rate_limit=None,
25169    ):
25170        self.meta = meta if meta is not None else None
25171        '''
25172         Reserved for future use.
25173        '''
25174        self.rate_limit = rate_limit if rate_limit is not None else None
25175        '''
25176         Rate limit information.
25177        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

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

ResourceGetResponse returns a requested Resource.

ResourceGetResponse(meta=None, rate_limit=None, resource=None)
25209    def __init__(
25210        self,
25211        meta=None,
25212        rate_limit=None,
25213        resource=None,
25214    ):
25215        self.meta = meta if meta is not None else None
25216        '''
25217         Reserved for future use.
25218        '''
25219        self.rate_limit = rate_limit if rate_limit is not None else None
25220        '''
25221         Rate limit information.
25222        '''
25223        self.resource = resource if resource is not None else None
25224        '''
25225         The requested Resource.
25226        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

resource

The requested Resource.

def to_dict(self)
25235    def to_dict(self):
25236        return {
25237            'meta': self.meta,
25238            'rate_limit': self.rate_limit,
25239            'resource': self.resource,
25240        }
@classmethod
def from_dict(cls, d)
25242    @classmethod
25243    def from_dict(cls, d):
25244        return cls(
25245            meta=d.get('meta'),
25246            rate_limit=d.get('rate_limit'),
25247            resource=d.get('resource'),
25248        )
class ResourceHealthcheckRequest:
25251class ResourceHealthcheckRequest:
25252    '''
25253         ResourceHealthcheckRequest specifies requesting a healthcheck for a given resource by ID.
25254    '''
25255    __slots__ = [
25256        'id',
25257    ]
25258
25259    def __init__(
25260        self,
25261        id=None,
25262    ):
25263        self.id = id if id is not None else ''
25264        '''
25265         The unique identifier of the Resource to healthcheck.
25266        '''
25267
25268    def __repr__(self):
25269        return '<sdm.ResourceHealthcheckRequest ' + \
25270            'id: ' + repr(self.id) + ' ' +\
25271            '>'
25272
25273    def to_dict(self):
25274        return {
25275            'id': self.id,
25276        }
25277
25278    @classmethod
25279    def from_dict(cls, d):
25280        return cls(id=d.get('id'), )

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

ResourceHealthcheckRequest(id=None)
25259    def __init__(
25260        self,
25261        id=None,
25262    ):
25263        self.id = id if id is not None else ''
25264        '''
25265         The unique identifier of the Resource to healthcheck.
25266        '''
id

The unique identifier of the Resource to healthcheck.

def to_dict(self)
25273    def to_dict(self):
25274        return {
25275            'id': self.id,
25276        }
@classmethod
def from_dict(cls, d)
25278    @classmethod
25279    def from_dict(cls, d):
25280        return cls(id=d.get('id'), )
class ResourceHealthcheckResponse:
25283class ResourceHealthcheckResponse:
25284    '''
25285         ResourceHealthcheckResponse reports any metadata concerning a healthcheck response.
25286     Healthchecks are non blocking, and this contains no non-metadata.
25287    '''
25288    __slots__ = [
25289        'meta',
25290        'rate_limit',
25291    ]
25292
25293    def __init__(
25294        self,
25295        meta=None,
25296        rate_limit=None,
25297    ):
25298        self.meta = meta if meta is not None else None
25299        '''
25300         Reserved for future use.
25301        '''
25302        self.rate_limit = rate_limit if rate_limit is not None else None
25303        '''
25304         Rate limit information.
25305        '''
25306
25307    def __repr__(self):
25308        return '<sdm.ResourceHealthcheckResponse ' + \
25309            'meta: ' + repr(self.meta) + ' ' +\
25310            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25311            '>'
25312
25313    def to_dict(self):
25314        return {
25315            'meta': self.meta,
25316            'rate_limit': self.rate_limit,
25317        }
25318
25319    @classmethod
25320    def from_dict(cls, d):
25321        return cls(
25322            meta=d.get('meta'),
25323            rate_limit=d.get('rate_limit'),
25324        )

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

ResourceHealthcheckResponse(meta=None, rate_limit=None)
25293    def __init__(
25294        self,
25295        meta=None,
25296        rate_limit=None,
25297    ):
25298        self.meta = meta if meta is not None else None
25299        '''
25300         Reserved for future use.
25301        '''
25302        self.rate_limit = rate_limit if rate_limit is not None else None
25303        '''
25304         Rate limit information.
25305        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
25313    def to_dict(self):
25314        return {
25315            'meta': self.meta,
25316            'rate_limit': self.rate_limit,
25317        }
@classmethod
def from_dict(cls, d)
25319    @classmethod
25320    def from_dict(cls, d):
25321        return cls(
25322            meta=d.get('meta'),
25323            rate_limit=d.get('rate_limit'),
25324        )
class ResourceHistory:
25327class ResourceHistory:
25328    '''
25329         ResourceHistory records the state of a Resource at a given point in time,
25330     where every change (create, update and delete) to a Resource produces an
25331     ResourceHistory record.
25332    '''
25333    __slots__ = [
25334        'activity_id',
25335        'deleted_at',
25336        'resource',
25337        'timestamp',
25338    ]
25339
25340    def __init__(
25341        self,
25342        activity_id=None,
25343        deleted_at=None,
25344        resource=None,
25345        timestamp=None,
25346    ):
25347        self.activity_id = activity_id if activity_id is not None else ''
25348        '''
25349         The unique identifier of the Activity that produced this change to the Resource.
25350         May be empty for some system-initiated updates.
25351        '''
25352        self.deleted_at = deleted_at if deleted_at is not None else None
25353        '''
25354         If this Resource was deleted, the time it was deleted.
25355        '''
25356        self.resource = resource if resource is not None else None
25357        '''
25358         The complete Resource state at this time.
25359        '''
25360        self.timestamp = timestamp if timestamp is not None else None
25361        '''
25362         The time at which the Resource state was recorded.
25363        '''
25364
25365    def __repr__(self):
25366        return '<sdm.ResourceHistory ' + \
25367            'activity_id: ' + repr(self.activity_id) + ' ' +\
25368            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
25369            'resource: ' + repr(self.resource) + ' ' +\
25370            'timestamp: ' + repr(self.timestamp) + ' ' +\
25371            '>'
25372
25373    def to_dict(self):
25374        return {
25375            'activity_id': self.activity_id,
25376            'deleted_at': self.deleted_at,
25377            'resource': self.resource,
25378            'timestamp': self.timestamp,
25379        }
25380
25381    @classmethod
25382    def from_dict(cls, d):
25383        return cls(
25384            activity_id=d.get('activity_id'),
25385            deleted_at=d.get('deleted_at'),
25386            resource=d.get('resource'),
25387            timestamp=d.get('timestamp'),
25388        )

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)
25340    def __init__(
25341        self,
25342        activity_id=None,
25343        deleted_at=None,
25344        resource=None,
25345        timestamp=None,
25346    ):
25347        self.activity_id = activity_id if activity_id is not None else ''
25348        '''
25349         The unique identifier of the Activity that produced this change to the Resource.
25350         May be empty for some system-initiated updates.
25351        '''
25352        self.deleted_at = deleted_at if deleted_at is not None else None
25353        '''
25354         If this Resource was deleted, the time it was deleted.
25355        '''
25356        self.resource = resource if resource is not None else None
25357        '''
25358         The complete Resource state at this time.
25359        '''
25360        self.timestamp = timestamp if timestamp is not None else None
25361        '''
25362         The time at which the Resource state was recorded.
25363        '''
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)
25373    def to_dict(self):
25374        return {
25375            'activity_id': self.activity_id,
25376            'deleted_at': self.deleted_at,
25377            'resource': self.resource,
25378            'timestamp': self.timestamp,
25379        }
@classmethod
def from_dict(cls, d)
25381    @classmethod
25382    def from_dict(cls, d):
25383        return cls(
25384            activity_id=d.get('activity_id'),
25385            deleted_at=d.get('deleted_at'),
25386            resource=d.get('resource'),
25387            timestamp=d.get('timestamp'),
25388        )
class ResourceUpdateResponse:
25391class ResourceUpdateResponse:
25392    '''
25393         ResourceUpdateResponse returns the fields of a Resource after it has been updated by
25394     a ResourceUpdateRequest.
25395    '''
25396    __slots__ = [
25397        'meta',
25398        'rate_limit',
25399        'resource',
25400    ]
25401
25402    def __init__(
25403        self,
25404        meta=None,
25405        rate_limit=None,
25406        resource=None,
25407    ):
25408        self.meta = meta if meta is not None else None
25409        '''
25410         Reserved for future use.
25411        '''
25412        self.rate_limit = rate_limit if rate_limit is not None else None
25413        '''
25414         Rate limit information.
25415        '''
25416        self.resource = resource if resource is not None else None
25417        '''
25418         The updated Resource.
25419        '''
25420
25421    def __repr__(self):
25422        return '<sdm.ResourceUpdateResponse ' + \
25423            'meta: ' + repr(self.meta) + ' ' +\
25424            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25425            'resource: ' + repr(self.resource) + ' ' +\
25426            '>'
25427
25428    def to_dict(self):
25429        return {
25430            'meta': self.meta,
25431            'rate_limit': self.rate_limit,
25432            'resource': self.resource,
25433        }
25434
25435    @classmethod
25436    def from_dict(cls, d):
25437        return cls(
25438            meta=d.get('meta'),
25439            rate_limit=d.get('rate_limit'),
25440            resource=d.get('resource'),
25441        )

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

ResourceUpdateResponse(meta=None, rate_limit=None, resource=None)
25402    def __init__(
25403        self,
25404        meta=None,
25405        rate_limit=None,
25406        resource=None,
25407    ):
25408        self.meta = meta if meta is not None else None
25409        '''
25410         Reserved for future use.
25411        '''
25412        self.rate_limit = rate_limit if rate_limit is not None else None
25413        '''
25414         Rate limit information.
25415        '''
25416        self.resource = resource if resource is not None else None
25417        '''
25418         The updated Resource.
25419        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

resource

The updated Resource.

def to_dict(self)
25428    def to_dict(self):
25429        return {
25430            'meta': self.meta,
25431            'rate_limit': self.rate_limit,
25432            'resource': self.resource,
25433        }
@classmethod
def from_dict(cls, d)
25435    @classmethod
25436    def from_dict(cls, d):
25437        return cls(
25438            meta=d.get('meta'),
25439            rate_limit=d.get('rate_limit'),
25440            resource=d.get('resource'),
25441        )
class Role:
25444class Role:
25445    '''
25446         A Role has a list of access rules which determine which Resources the members
25447     of the Role have access to. An Account can be a member of multiple Roles via
25448     AccountAttachments.
25449    '''
25450    __slots__ = [
25451        'access_rules',
25452        'id',
25453        'managed_by',
25454        'name',
25455        'tags',
25456    ]
25457
25458    def __init__(
25459        self,
25460        access_rules=None,
25461        id=None,
25462        managed_by=None,
25463        name=None,
25464        tags=None,
25465    ):
25466        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
25467        )
25468        '''
25469         AccessRules is a list of access rules defining the resources this Role has access to.
25470        '''
25471        self.id = id if id is not None else ''
25472        '''
25473         Unique identifier of the Role.
25474        '''
25475        self.managed_by = managed_by if managed_by is not None else ''
25476        '''
25477         Managed By is a read only field for what service manages this role, e.g. StrongDM, Okta, Azure.
25478        '''
25479        self.name = name if name is not None else ''
25480        '''
25481         Unique human-readable name of the Role.
25482        '''
25483        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25484        '''
25485         Tags is a map of key, value pairs.
25486        '''
25487
25488    def __repr__(self):
25489        return '<sdm.Role ' + \
25490            'access_rules: ' + repr(self.access_rules) + ' ' +\
25491            'id: ' + repr(self.id) + ' ' +\
25492            'managed_by: ' + repr(self.managed_by) + ' ' +\
25493            'name: ' + repr(self.name) + ' ' +\
25494            'tags: ' + repr(self.tags) + ' ' +\
25495            '>'
25496
25497    def to_dict(self):
25498        return {
25499            'access_rules': self.access_rules,
25500            'id': self.id,
25501            'managed_by': self.managed_by,
25502            'name': self.name,
25503            'tags': self.tags,
25504        }
25505
25506    @classmethod
25507    def from_dict(cls, d):
25508        return cls(
25509            access_rules=d.get('access_rules'),
25510            id=d.get('id'),
25511            managed_by=d.get('managed_by'),
25512            name=d.get('name'),
25513            tags=d.get('tags'),
25514        )

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)
25458    def __init__(
25459        self,
25460        access_rules=None,
25461        id=None,
25462        managed_by=None,
25463        name=None,
25464        tags=None,
25465    ):
25466        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
25467        )
25468        '''
25469         AccessRules is a list of access rules defining the resources this Role has access to.
25470        '''
25471        self.id = id if id is not None else ''
25472        '''
25473         Unique identifier of the Role.
25474        '''
25475        self.managed_by = managed_by if managed_by is not None else ''
25476        '''
25477         Managed By is a read only field for what service manages this role, e.g. StrongDM, Okta, Azure.
25478        '''
25479        self.name = name if name is not None else ''
25480        '''
25481         Unique human-readable name of the Role.
25482        '''
25483        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25484        '''
25485         Tags is a map of key, value pairs.
25486        '''
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)
25497    def to_dict(self):
25498        return {
25499            'access_rules': self.access_rules,
25500            'id': self.id,
25501            'managed_by': self.managed_by,
25502            'name': self.name,
25503            'tags': self.tags,
25504        }
@classmethod
def from_dict(cls, d)
25506    @classmethod
25507    def from_dict(cls, d):
25508        return cls(
25509            access_rules=d.get('access_rules'),
25510            id=d.get('id'),
25511            managed_by=d.get('managed_by'),
25512            name=d.get('name'),
25513            tags=d.get('tags'),
25514        )
class RoleCreateResponse:
25517class RoleCreateResponse:
25518    '''
25519         RoleCreateResponse reports how the Roles were created in the system. It can
25520     communicate partial successes or failures.
25521    '''
25522    __slots__ = [
25523        'meta',
25524        'rate_limit',
25525        'role',
25526    ]
25527
25528    def __init__(
25529        self,
25530        meta=None,
25531        rate_limit=None,
25532        role=None,
25533    ):
25534        self.meta = meta if meta is not None else None
25535        '''
25536         Reserved for future use.
25537        '''
25538        self.rate_limit = rate_limit if rate_limit is not None else None
25539        '''
25540         Rate limit information.
25541        '''
25542        self.role = role if role is not None else None
25543        '''
25544         The created Role.
25545        '''
25546
25547    def __repr__(self):
25548        return '<sdm.RoleCreateResponse ' + \
25549            'meta: ' + repr(self.meta) + ' ' +\
25550            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25551            'role: ' + repr(self.role) + ' ' +\
25552            '>'
25553
25554    def to_dict(self):
25555        return {
25556            'meta': self.meta,
25557            'rate_limit': self.rate_limit,
25558            'role': self.role,
25559        }
25560
25561    @classmethod
25562    def from_dict(cls, d):
25563        return cls(
25564            meta=d.get('meta'),
25565            rate_limit=d.get('rate_limit'),
25566            role=d.get('role'),
25567        )

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)
25528    def __init__(
25529        self,
25530        meta=None,
25531        rate_limit=None,
25532        role=None,
25533    ):
25534        self.meta = meta if meta is not None else None
25535        '''
25536         Reserved for future use.
25537        '''
25538        self.rate_limit = rate_limit if rate_limit is not None else None
25539        '''
25540         Rate limit information.
25541        '''
25542        self.role = role if role is not None else None
25543        '''
25544         The created Role.
25545        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

role

The created Role.

def to_dict(self)
25554    def to_dict(self):
25555        return {
25556            'meta': self.meta,
25557            'rate_limit': self.rate_limit,
25558            'role': self.role,
25559        }
@classmethod
def from_dict(cls, d)
25561    @classmethod
25562    def from_dict(cls, d):
25563        return cls(
25564            meta=d.get('meta'),
25565            rate_limit=d.get('rate_limit'),
25566            role=d.get('role'),
25567        )
class RoleDeleteResponse:
25570class RoleDeleteResponse:
25571    '''
25572         RoleDeleteResponse returns information about a Role that was deleted.
25573    '''
25574    __slots__ = [
25575        'meta',
25576        'rate_limit',
25577    ]
25578
25579    def __init__(
25580        self,
25581        meta=None,
25582        rate_limit=None,
25583    ):
25584        self.meta = meta if meta is not None else None
25585        '''
25586         Reserved for future use.
25587        '''
25588        self.rate_limit = rate_limit if rate_limit is not None else None
25589        '''
25590         Rate limit information.
25591        '''
25592
25593    def __repr__(self):
25594        return '<sdm.RoleDeleteResponse ' + \
25595            'meta: ' + repr(self.meta) + ' ' +\
25596            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25597            '>'
25598
25599    def to_dict(self):
25600        return {
25601            'meta': self.meta,
25602            'rate_limit': self.rate_limit,
25603        }
25604
25605    @classmethod
25606    def from_dict(cls, d):
25607        return cls(
25608            meta=d.get('meta'),
25609            rate_limit=d.get('rate_limit'),
25610        )

RoleDeleteResponse returns information about a Role that was deleted.

RoleDeleteResponse(meta=None, rate_limit=None)
25579    def __init__(
25580        self,
25581        meta=None,
25582        rate_limit=None,
25583    ):
25584        self.meta = meta if meta is not None else None
25585        '''
25586         Reserved for future use.
25587        '''
25588        self.rate_limit = rate_limit if rate_limit is not None else None
25589        '''
25590         Rate limit information.
25591        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

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

RoleGetResponse returns a requested Role.

RoleGetResponse(meta=None, rate_limit=None, role=None)
25623    def __init__(
25624        self,
25625        meta=None,
25626        rate_limit=None,
25627        role=None,
25628    ):
25629        self.meta = meta if meta is not None else None
25630        '''
25631         Reserved for future use.
25632        '''
25633        self.rate_limit = rate_limit if rate_limit is not None else None
25634        '''
25635         Rate limit information.
25636        '''
25637        self.role = role if role is not None else None
25638        '''
25639         The requested Role.
25640        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

role

The requested Role.

def to_dict(self)
25649    def to_dict(self):
25650        return {
25651            'meta': self.meta,
25652            'rate_limit': self.rate_limit,
25653            'role': self.role,
25654        }
@classmethod
def from_dict(cls, d)
25656    @classmethod
25657    def from_dict(cls, d):
25658        return cls(
25659            meta=d.get('meta'),
25660            rate_limit=d.get('rate_limit'),
25661            role=d.get('role'),
25662        )
class RoleHistory:
25665class RoleHistory:
25666    '''
25667         RoleHistory records the state of a Role at a given point in time,
25668     where every change (create, update and delete) to a Role produces an
25669     RoleHistory record.
25670    '''
25671    __slots__ = [
25672        'activity_id',
25673        'deleted_at',
25674        'role',
25675        'timestamp',
25676    ]
25677
25678    def __init__(
25679        self,
25680        activity_id=None,
25681        deleted_at=None,
25682        role=None,
25683        timestamp=None,
25684    ):
25685        self.activity_id = activity_id if activity_id is not None else ''
25686        '''
25687         The unique identifier of the Activity that produced this change to the Role.
25688         May be empty for some system-initiated updates.
25689        '''
25690        self.deleted_at = deleted_at if deleted_at is not None else None
25691        '''
25692         If this Role was deleted, the time it was deleted.
25693        '''
25694        self.role = role if role is not None else None
25695        '''
25696         The complete Role state at this time.
25697        '''
25698        self.timestamp = timestamp if timestamp is not None else None
25699        '''
25700         The time at which the Role state was recorded.
25701        '''
25702
25703    def __repr__(self):
25704        return '<sdm.RoleHistory ' + \
25705            'activity_id: ' + repr(self.activity_id) + ' ' +\
25706            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
25707            'role: ' + repr(self.role) + ' ' +\
25708            'timestamp: ' + repr(self.timestamp) + ' ' +\
25709            '>'
25710
25711    def to_dict(self):
25712        return {
25713            'activity_id': self.activity_id,
25714            'deleted_at': self.deleted_at,
25715            'role': self.role,
25716            'timestamp': self.timestamp,
25717        }
25718
25719    @classmethod
25720    def from_dict(cls, d):
25721        return cls(
25722            activity_id=d.get('activity_id'),
25723            deleted_at=d.get('deleted_at'),
25724            role=d.get('role'),
25725            timestamp=d.get('timestamp'),
25726        )

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)
25678    def __init__(
25679        self,
25680        activity_id=None,
25681        deleted_at=None,
25682        role=None,
25683        timestamp=None,
25684    ):
25685        self.activity_id = activity_id if activity_id is not None else ''
25686        '''
25687         The unique identifier of the Activity that produced this change to the Role.
25688         May be empty for some system-initiated updates.
25689        '''
25690        self.deleted_at = deleted_at if deleted_at is not None else None
25691        '''
25692         If this Role was deleted, the time it was deleted.
25693        '''
25694        self.role = role if role is not None else None
25695        '''
25696         The complete Role state at this time.
25697        '''
25698        self.timestamp = timestamp if timestamp is not None else None
25699        '''
25700         The time at which the Role state was recorded.
25701        '''
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)
25711    def to_dict(self):
25712        return {
25713            'activity_id': self.activity_id,
25714            'deleted_at': self.deleted_at,
25715            'role': self.role,
25716            'timestamp': self.timestamp,
25717        }
@classmethod
def from_dict(cls, d)
25719    @classmethod
25720    def from_dict(cls, d):
25721        return cls(
25722            activity_id=d.get('activity_id'),
25723            deleted_at=d.get('deleted_at'),
25724            role=d.get('role'),
25725            timestamp=d.get('timestamp'),
25726        )
class RoleResource:
25729class RoleResource:
25730    '''
25731         RoleResource represents an individual access grant of a Role to a Resource.
25732    '''
25733    __slots__ = [
25734        'granted_at',
25735        'resource_id',
25736        'role_id',
25737    ]
25738
25739    def __init__(
25740        self,
25741        granted_at=None,
25742        resource_id=None,
25743        role_id=None,
25744    ):
25745        self.granted_at = granted_at if granted_at is not None else None
25746        '''
25747         The most recent time at which access was granted. If access was granted,
25748         revoked, and granted again, this will reflect the later time.
25749        '''
25750        self.resource_id = resource_id if resource_id is not None else ''
25751        '''
25752         The unique identifier of the Resource to which access is granted.
25753        '''
25754        self.role_id = role_id if role_id is not None else ''
25755        '''
25756         The unique identifier of the Role to which access is granted.
25757        '''
25758
25759    def __repr__(self):
25760        return '<sdm.RoleResource ' + \
25761            'granted_at: ' + repr(self.granted_at) + ' ' +\
25762            'resource_id: ' + repr(self.resource_id) + ' ' +\
25763            'role_id: ' + repr(self.role_id) + ' ' +\
25764            '>'
25765
25766    def to_dict(self):
25767        return {
25768            'granted_at': self.granted_at,
25769            'resource_id': self.resource_id,
25770            'role_id': self.role_id,
25771        }
25772
25773    @classmethod
25774    def from_dict(cls, d):
25775        return cls(
25776            granted_at=d.get('granted_at'),
25777            resource_id=d.get('resource_id'),
25778            role_id=d.get('role_id'),
25779        )

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

RoleResource(granted_at=None, resource_id=None, role_id=None)
25739    def __init__(
25740        self,
25741        granted_at=None,
25742        resource_id=None,
25743        role_id=None,
25744    ):
25745        self.granted_at = granted_at if granted_at is not None else None
25746        '''
25747         The most recent time at which access was granted. If access was granted,
25748         revoked, and granted again, this will reflect the later time.
25749        '''
25750        self.resource_id = resource_id if resource_id is not None else ''
25751        '''
25752         The unique identifier of the Resource to which access is granted.
25753        '''
25754        self.role_id = role_id if role_id is not None else ''
25755        '''
25756         The unique identifier of the Role to which access is granted.
25757        '''
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)
25766    def to_dict(self):
25767        return {
25768            'granted_at': self.granted_at,
25769            'resource_id': self.resource_id,
25770            'role_id': self.role_id,
25771        }
@classmethod
def from_dict(cls, d)
25773    @classmethod
25774    def from_dict(cls, d):
25775        return cls(
25776            granted_at=d.get('granted_at'),
25777            resource_id=d.get('resource_id'),
25778            role_id=d.get('role_id'),
25779        )
class RoleResourceHistory:
25782class RoleResourceHistory:
25783    '''
25784         RoleResourceHistory records the state of a RoleResource at a given point in time,
25785     where every change (create or delete) to a RoleResource produces an
25786     RoleResourceHistory record.
25787    '''
25788    __slots__ = [
25789        'activity_id',
25790        'deleted_at',
25791        'role_resource',
25792        'timestamp',
25793    ]
25794
25795    def __init__(
25796        self,
25797        activity_id=None,
25798        deleted_at=None,
25799        role_resource=None,
25800        timestamp=None,
25801    ):
25802        self.activity_id = activity_id if activity_id is not None else ''
25803        '''
25804         The unique identifier of the Activity that produced this change to the RoleResource.
25805         May be empty for some system-initiated updates.
25806        '''
25807        self.deleted_at = deleted_at if deleted_at is not None else None
25808        '''
25809         If this RoleResource was deleted, the time it was deleted.
25810        '''
25811        self.role_resource = role_resource if role_resource is not None else None
25812        '''
25813         The complete RoleResource state at this time.
25814        '''
25815        self.timestamp = timestamp if timestamp is not None else None
25816        '''
25817         The time at which the RoleResource state was recorded.
25818        '''
25819
25820    def __repr__(self):
25821        return '<sdm.RoleResourceHistory ' + \
25822            'activity_id: ' + repr(self.activity_id) + ' ' +\
25823            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
25824            'role_resource: ' + repr(self.role_resource) + ' ' +\
25825            'timestamp: ' + repr(self.timestamp) + ' ' +\
25826            '>'
25827
25828    def to_dict(self):
25829        return {
25830            'activity_id': self.activity_id,
25831            'deleted_at': self.deleted_at,
25832            'role_resource': self.role_resource,
25833            'timestamp': self.timestamp,
25834        }
25835
25836    @classmethod
25837    def from_dict(cls, d):
25838        return cls(
25839            activity_id=d.get('activity_id'),
25840            deleted_at=d.get('deleted_at'),
25841            role_resource=d.get('role_resource'),
25842            timestamp=d.get('timestamp'),
25843        )

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)
25795    def __init__(
25796        self,
25797        activity_id=None,
25798        deleted_at=None,
25799        role_resource=None,
25800        timestamp=None,
25801    ):
25802        self.activity_id = activity_id if activity_id is not None else ''
25803        '''
25804         The unique identifier of the Activity that produced this change to the RoleResource.
25805         May be empty for some system-initiated updates.
25806        '''
25807        self.deleted_at = deleted_at if deleted_at is not None else None
25808        '''
25809         If this RoleResource was deleted, the time it was deleted.
25810        '''
25811        self.role_resource = role_resource if role_resource is not None else None
25812        '''
25813         The complete RoleResource state at this time.
25814        '''
25815        self.timestamp = timestamp if timestamp is not None else None
25816        '''
25817         The time at which the RoleResource state was recorded.
25818        '''
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)
25828    def to_dict(self):
25829        return {
25830            'activity_id': self.activity_id,
25831            'deleted_at': self.deleted_at,
25832            'role_resource': self.role_resource,
25833            'timestamp': self.timestamp,
25834        }
@classmethod
def from_dict(cls, d)
25836    @classmethod
25837    def from_dict(cls, d):
25838        return cls(
25839            activity_id=d.get('activity_id'),
25840            deleted_at=d.get('deleted_at'),
25841            role_resource=d.get('role_resource'),
25842            timestamp=d.get('timestamp'),
25843        )
class RoleUpdateResponse:
25846class RoleUpdateResponse:
25847    '''
25848         RoleUpdateResponse returns the fields of a Role after it has been updated by
25849     a RoleUpdateRequest.
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 updated Role.
25874        '''
25875
25876    def __repr__(self):
25877        return '<sdm.RoleUpdateResponse ' + \
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        )

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

RoleUpdateResponse(meta=None, rate_limit=None, role=None)
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 updated Role.
25874        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

role

The updated Role.

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

SecretEngineCreateRequest specifies a Secret Engine to create.

SecretEngineCreateRequest(secret_engine=None)
27219    def __init__(
27220        self,
27221        secret_engine=None,
27222    ):
27223        self.secret_engine = secret_engine if secret_engine is not None else None
27224        '''
27225         Parameters to define the new Secret Engine.
27226        '''
secret_engine

Parameters to define the new Secret Engine.

def to_dict(self)
27233    def to_dict(self):
27234        return {
27235            'secret_engine': self.secret_engine,
27236        }
@classmethod
def from_dict(cls, d)
27238    @classmethod
27239    def from_dict(cls, d):
27240        return cls(secret_engine=d.get('secret_engine'), )
class SecretEngineCreateResponse:
27243class SecretEngineCreateResponse:
27244    '''
27245         SecretEngineCreateResponse contains information about a Secret Engine after successful creation.
27246    '''
27247    __slots__ = [
27248        'meta',
27249        'rate_limit',
27250        'secret_engine',
27251    ]
27252
27253    def __init__(
27254        self,
27255        meta=None,
27256        rate_limit=None,
27257        secret_engine=None,
27258    ):
27259        self.meta = meta if meta is not None else None
27260        '''
27261         Reserved for future use.
27262        '''
27263        self.rate_limit = rate_limit if rate_limit is not None else None
27264        '''
27265         Rate limit information.
27266        '''
27267        self.secret_engine = secret_engine if secret_engine is not None else None
27268        '''
27269         The requested Secret Engine.
27270        '''
27271
27272    def __repr__(self):
27273        return '<sdm.SecretEngineCreateResponse ' + \
27274            'meta: ' + repr(self.meta) + ' ' +\
27275            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27276            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
27277            '>'
27278
27279    def to_dict(self):
27280        return {
27281            'meta': self.meta,
27282            'rate_limit': self.rate_limit,
27283            'secret_engine': self.secret_engine,
27284        }
27285
27286    @classmethod
27287    def from_dict(cls, d):
27288        return cls(
27289            meta=d.get('meta'),
27290            rate_limit=d.get('rate_limit'),
27291            secret_engine=d.get('secret_engine'),
27292        )

SecretEngineCreateResponse contains information about a Secret Engine after successful creation.

SecretEngineCreateResponse(meta=None, rate_limit=None, secret_engine=None)
27253    def __init__(
27254        self,
27255        meta=None,
27256        rate_limit=None,
27257        secret_engine=None,
27258    ):
27259        self.meta = meta if meta is not None else None
27260        '''
27261         Reserved for future use.
27262        '''
27263        self.rate_limit = rate_limit if rate_limit is not None else None
27264        '''
27265         Rate limit information.
27266        '''
27267        self.secret_engine = secret_engine if secret_engine is not None else None
27268        '''
27269         The requested Secret Engine.
27270        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

secret_engine

The requested Secret Engine.

def to_dict(self)
27279    def to_dict(self):
27280        return {
27281            'meta': self.meta,
27282            'rate_limit': self.rate_limit,
27283            'secret_engine': self.secret_engine,
27284        }
@classmethod
def from_dict(cls, d)
27286    @classmethod
27287    def from_dict(cls, d):
27288        return cls(
27289            meta=d.get('meta'),
27290            rate_limit=d.get('rate_limit'),
27291            secret_engine=d.get('secret_engine'),
27292        )
class SecretEngineDeleteRequest:
27295class SecretEngineDeleteRequest:
27296    '''
27297         SecretEngineDeleteRequest specified the ID of a Secret Engine to be deleted.
27298    '''
27299    __slots__ = [
27300        'id',
27301    ]
27302
27303    def __init__(
27304        self,
27305        id=None,
27306    ):
27307        self.id = id if id is not None else ''
27308        '''
27309         The unique identifier of the Secret Engine to delete.
27310        '''
27311
27312    def __repr__(self):
27313        return '<sdm.SecretEngineDeleteRequest ' + \
27314            'id: ' + repr(self.id) + ' ' +\
27315            '>'
27316
27317    def to_dict(self):
27318        return {
27319            'id': self.id,
27320        }
27321
27322    @classmethod
27323    def from_dict(cls, d):
27324        return cls(id=d.get('id'), )

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

SecretEngineDeleteRequest(id=None)
27303    def __init__(
27304        self,
27305        id=None,
27306    ):
27307        self.id = id if id is not None else ''
27308        '''
27309         The unique identifier of the Secret Engine to delete.
27310        '''
id

The unique identifier of the Secret Engine to delete.

def to_dict(self)
27317    def to_dict(self):
27318        return {
27319            'id': self.id,
27320        }
@classmethod
def from_dict(cls, d)
27322    @classmethod
27323    def from_dict(cls, d):
27324        return cls(id=d.get('id'), )
class SecretEngineDeleteResponse:
27327class SecretEngineDeleteResponse:
27328    '''
27329         SecretEngineDeleteResponse contains information about a Secret Engine after it was deleted.
27330    '''
27331    __slots__ = [
27332        'rate_limit',
27333    ]
27334
27335    def __init__(
27336        self,
27337        rate_limit=None,
27338    ):
27339        self.rate_limit = rate_limit if rate_limit is not None else None
27340        '''
27341         Rate limit information.
27342        '''
27343
27344    def __repr__(self):
27345        return '<sdm.SecretEngineDeleteResponse ' + \
27346            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27347            '>'
27348
27349    def to_dict(self):
27350        return {
27351            'rate_limit': self.rate_limit,
27352        }
27353
27354    @classmethod
27355    def from_dict(cls, d):
27356        return cls(rate_limit=d.get('rate_limit'), )

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

SecretEngineDeleteResponse(rate_limit=None)
27335    def __init__(
27336        self,
27337        rate_limit=None,
27338    ):
27339        self.rate_limit = rate_limit if rate_limit is not None else None
27340        '''
27341         Rate limit information.
27342        '''
rate_limit

Rate limit information.

def to_dict(self)
27349    def to_dict(self):
27350        return {
27351            'rate_limit': self.rate_limit,
27352        }
@classmethod
def from_dict(cls, d)
27354    @classmethod
27355    def from_dict(cls, d):
27356        return cls(rate_limit=d.get('rate_limit'), )
class SecretEngineGetRequest:
27359class SecretEngineGetRequest:
27360    '''
27361         SecretEngineGetRequest specifies which Secret Engine to retrieve
27362    '''
27363    __slots__ = [
27364        'id',
27365    ]
27366
27367    def __init__(
27368        self,
27369        id=None,
27370    ):
27371        self.id = id if id is not None else ''
27372        '''
27373         The unique identifier of the Secret Engine to retrieve.
27374        '''
27375
27376    def __repr__(self):
27377        return '<sdm.SecretEngineGetRequest ' + \
27378            'id: ' + repr(self.id) + ' ' +\
27379            '>'
27380
27381    def to_dict(self):
27382        return {
27383            'id': self.id,
27384        }
27385
27386    @classmethod
27387    def from_dict(cls, d):
27388        return cls(id=d.get('id'), )

SecretEngineGetRequest specifies which Secret Engine to retrieve

SecretEngineGetRequest(id=None)
27367    def __init__(
27368        self,
27369        id=None,
27370    ):
27371        self.id = id if id is not None else ''
27372        '''
27373         The unique identifier of the Secret Engine to retrieve.
27374        '''
id

The unique identifier of the Secret Engine to retrieve.

def to_dict(self)
27381    def to_dict(self):
27382        return {
27383            'id': self.id,
27384        }
@classmethod
def from_dict(cls, d)
27386    @classmethod
27387    def from_dict(cls, d):
27388        return cls(id=d.get('id'), )
class SecretEngineGetResponse:
27391class SecretEngineGetResponse:
27392    '''
27393         SecretEngineGetResponse contains information about requested Secret Engine
27394    '''
27395    __slots__ = [
27396        'meta',
27397        'rate_limit',
27398        'secret_engine',
27399    ]
27400
27401    def __init__(
27402        self,
27403        meta=None,
27404        rate_limit=None,
27405        secret_engine=None,
27406    ):
27407        self.meta = meta if meta is not None else None
27408        '''
27409         Reserved for future use.
27410        '''
27411        self.rate_limit = rate_limit if rate_limit is not None else None
27412        '''
27413         Rate limit information.
27414        '''
27415        self.secret_engine = secret_engine if secret_engine is not None else None
27416        '''
27417         The requested Secret Engine.
27418        '''
27419
27420    def __repr__(self):
27421        return '<sdm.SecretEngineGetResponse ' + \
27422            'meta: ' + repr(self.meta) + ' ' +\
27423            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27424            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
27425            '>'
27426
27427    def to_dict(self):
27428        return {
27429            'meta': self.meta,
27430            'rate_limit': self.rate_limit,
27431            'secret_engine': self.secret_engine,
27432        }
27433
27434    @classmethod
27435    def from_dict(cls, d):
27436        return cls(
27437            meta=d.get('meta'),
27438            rate_limit=d.get('rate_limit'),
27439            secret_engine=d.get('secret_engine'),
27440        )

SecretEngineGetResponse contains information about requested Secret Engine

SecretEngineGetResponse(meta=None, rate_limit=None, secret_engine=None)
27401    def __init__(
27402        self,
27403        meta=None,
27404        rate_limit=None,
27405        secret_engine=None,
27406    ):
27407        self.meta = meta if meta is not None else None
27408        '''
27409         Reserved for future use.
27410        '''
27411        self.rate_limit = rate_limit if rate_limit is not None else None
27412        '''
27413         Rate limit information.
27414        '''
27415        self.secret_engine = secret_engine if secret_engine is not None else None
27416        '''
27417         The requested Secret Engine.
27418        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

secret_engine

The requested Secret Engine.

def to_dict(self)
27427    def to_dict(self):
27428        return {
27429            'meta': self.meta,
27430            'rate_limit': self.rate_limit,
27431            'secret_engine': self.secret_engine,
27432        }
@classmethod
def from_dict(cls, d)
27434    @classmethod
27435    def from_dict(cls, d):
27436        return cls(
27437            meta=d.get('meta'),
27438            rate_limit=d.get('rate_limit'),
27439            secret_engine=d.get('secret_engine'),
27440        )
class SecretEngineListRequest:
27443class SecretEngineListRequest:
27444    '''
27445         SecretEngineListRequest specifies criteria for retrieving a list of Secret Engines
27446    '''
27447    __slots__ = [
27448        'filter',
27449    ]
27450
27451    def __init__(
27452        self,
27453        filter=None,
27454    ):
27455        self.filter = filter if filter is not None else ''
27456        '''
27457         A human-readable filter query string.
27458        '''
27459
27460    def __repr__(self):
27461        return '<sdm.SecretEngineListRequest ' + \
27462            'filter: ' + repr(self.filter) + ' ' +\
27463            '>'
27464
27465    def to_dict(self):
27466        return {
27467            'filter': self.filter,
27468        }
27469
27470    @classmethod
27471    def from_dict(cls, d):
27472        return cls(filter=d.get('filter'), )

SecretEngineListRequest specifies criteria for retrieving a list of Secret Engines

SecretEngineListRequest(filter=None)
27451    def __init__(
27452        self,
27453        filter=None,
27454    ):
27455        self.filter = filter if filter is not None else ''
27456        '''
27457         A human-readable filter query string.
27458        '''
filter

A human-readable filter query string.

def to_dict(self)
27465    def to_dict(self):
27466        return {
27467            'filter': self.filter,
27468        }
@classmethod
def from_dict(cls, d)
27470    @classmethod
27471    def from_dict(cls, d):
27472        return cls(filter=d.get('filter'), )
class SecretEngineListResponse:
27475class SecretEngineListResponse:
27476    '''
27477         SecretEngineListResponse contains a list of requested Secret Engine
27478    '''
27479    __slots__ = [
27480        'rate_limit',
27481    ]
27482
27483    def __init__(
27484        self,
27485        rate_limit=None,
27486    ):
27487        self.rate_limit = rate_limit if rate_limit is not None else None
27488        '''
27489         Rate limit information.
27490        '''
27491
27492    def __repr__(self):
27493        return '<sdm.SecretEngineListResponse ' + \
27494            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27495            '>'
27496
27497    def to_dict(self):
27498        return {
27499            'rate_limit': self.rate_limit,
27500        }
27501
27502    @classmethod
27503    def from_dict(cls, d):
27504        return cls(rate_limit=d.get('rate_limit'), )

SecretEngineListResponse contains a list of requested Secret Engine

SecretEngineListResponse(rate_limit=None)
27483    def __init__(
27484        self,
27485        rate_limit=None,
27486    ):
27487        self.rate_limit = rate_limit if rate_limit is not None else None
27488        '''
27489         Rate limit information.
27490        '''
rate_limit

Rate limit information.

def to_dict(self)
27497    def to_dict(self):
27498        return {
27499            'rate_limit': self.rate_limit,
27500        }
@classmethod
def from_dict(cls, d)
27502    @classmethod
27503    def from_dict(cls, d):
27504        return cls(rate_limit=d.get('rate_limit'), )
class SecretEnginePasswordPolicy:
27507class SecretEnginePasswordPolicy:
27508    __slots__ = [
27509        'allow_repeat',
27510        'exclude_characters',
27511        'exclude_upper_case',
27512        'length',
27513        'num_digits',
27514        'num_symbols',
27515    ]
27516
27517    def __init__(
27518        self,
27519        allow_repeat=None,
27520        exclude_characters=None,
27521        exclude_upper_case=None,
27522        length=None,
27523        num_digits=None,
27524        num_symbols=None,
27525    ):
27526        self.allow_repeat = allow_repeat if allow_repeat is not None else False
27527        '''
27528         If set to true allows for consecutive characters to repeat itself
27529        '''
27530        self.exclude_characters = exclude_characters if exclude_characters is not None else ''
27531        '''
27532         Characters to exclude when generating password
27533        '''
27534        self.exclude_upper_case = exclude_upper_case if exclude_upper_case is not None else False
27535        '''
27536         If set to true do not include upper case letters when generating password
27537        '''
27538        self.length = length if length is not None else 0
27539        '''
27540         Password length.
27541        '''
27542        self.num_digits = num_digits if num_digits is not None else 0
27543        '''
27544         Numbers of digits to use when generating password
27545        '''
27546        self.num_symbols = num_symbols if num_symbols is not None else 0
27547        '''
27548         Number of symbols to use when generating password
27549        '''
27550
27551    def __repr__(self):
27552        return '<sdm.SecretEnginePasswordPolicy ' + \
27553            'allow_repeat: ' + repr(self.allow_repeat) + ' ' +\
27554            'exclude_characters: ' + repr(self.exclude_characters) + ' ' +\
27555            'exclude_upper_case: ' + repr(self.exclude_upper_case) + ' ' +\
27556            'length: ' + repr(self.length) + ' ' +\
27557            'num_digits: ' + repr(self.num_digits) + ' ' +\
27558            'num_symbols: ' + repr(self.num_symbols) + ' ' +\
27559            '>'
27560
27561    def to_dict(self):
27562        return {
27563            'allow_repeat': self.allow_repeat,
27564            'exclude_characters': self.exclude_characters,
27565            'exclude_upper_case': self.exclude_upper_case,
27566            'length': self.length,
27567            'num_digits': self.num_digits,
27568            'num_symbols': self.num_symbols,
27569        }
27570
27571    @classmethod
27572    def from_dict(cls, d):
27573        return cls(
27574            allow_repeat=d.get('allow_repeat'),
27575            exclude_characters=d.get('exclude_characters'),
27576            exclude_upper_case=d.get('exclude_upper_case'),
27577            length=d.get('length'),
27578            num_digits=d.get('num_digits'),
27579            num_symbols=d.get('num_symbols'),
27580        )
SecretEnginePasswordPolicy( allow_repeat=None, exclude_characters=None, exclude_upper_case=None, length=None, num_digits=None, num_symbols=None)
27517    def __init__(
27518        self,
27519        allow_repeat=None,
27520        exclude_characters=None,
27521        exclude_upper_case=None,
27522        length=None,
27523        num_digits=None,
27524        num_symbols=None,
27525    ):
27526        self.allow_repeat = allow_repeat if allow_repeat is not None else False
27527        '''
27528         If set to true allows for consecutive characters to repeat itself
27529        '''
27530        self.exclude_characters = exclude_characters if exclude_characters is not None else ''
27531        '''
27532         Characters to exclude when generating password
27533        '''
27534        self.exclude_upper_case = exclude_upper_case if exclude_upper_case is not None else False
27535        '''
27536         If set to true do not include upper case letters when generating password
27537        '''
27538        self.length = length if length is not None else 0
27539        '''
27540         Password length.
27541        '''
27542        self.num_digits = num_digits if num_digits is not None else 0
27543        '''
27544         Numbers of digits to use when generating password
27545        '''
27546        self.num_symbols = num_symbols if num_symbols is not None else 0
27547        '''
27548         Number of symbols to use when generating password
27549        '''
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)
27561    def to_dict(self):
27562        return {
27563            'allow_repeat': self.allow_repeat,
27564            'exclude_characters': self.exclude_characters,
27565            'exclude_upper_case': self.exclude_upper_case,
27566            'length': self.length,
27567            'num_digits': self.num_digits,
27568            'num_symbols': self.num_symbols,
27569        }
@classmethod
def from_dict(cls, d)
27571    @classmethod
27572    def from_dict(cls, d):
27573        return cls(
27574            allow_repeat=d.get('allow_repeat'),
27575            exclude_characters=d.get('exclude_characters'),
27576            exclude_upper_case=d.get('exclude_upper_case'),
27577            length=d.get('length'),
27578            num_digits=d.get('num_digits'),
27579            num_symbols=d.get('num_symbols'),
27580        )
class SecretEnginePolicy:
27583class SecretEnginePolicy:
27584    __slots__ = [
27585        'password_policy',
27586    ]
27587
27588    def __init__(
27589        self,
27590        password_policy=None,
27591    ):
27592        self.password_policy = password_policy if password_policy is not None else None
27593        '''
27594         Policy for password
27595        '''
27596
27597    def __repr__(self):
27598        return '<sdm.SecretEnginePolicy ' + \
27599            'password_policy: ' + repr(self.password_policy) + ' ' +\
27600            '>'
27601
27602    def to_dict(self):
27603        return {
27604            'password_policy': self.password_policy,
27605        }
27606
27607    @classmethod
27608    def from_dict(cls, d):
27609        return cls(password_policy=d.get('password_policy'), )
SecretEnginePolicy(password_policy=None)
27588    def __init__(
27589        self,
27590        password_policy=None,
27591    ):
27592        self.password_policy = password_policy if password_policy is not None else None
27593        '''
27594         Policy for password
27595        '''
password_policy

Policy for password

def to_dict(self)
27602    def to_dict(self):
27603        return {
27604            'password_policy': self.password_policy,
27605        }
@classmethod
def from_dict(cls, d)
27607    @classmethod
27608    def from_dict(cls, d):
27609        return cls(password_policy=d.get('password_policy'), )
class SecretEngineRotateRequest:
27612class SecretEngineRotateRequest:
27613    __slots__ = [
27614        'id',
27615        'password_policy',
27616    ]
27617
27618    def __init__(
27619        self,
27620        id=None,
27621        password_policy=None,
27622    ):
27623        self.id = id if id is not None else ''
27624        '''
27625         The unique identifier of the Secret Engine to rotate credentials for.
27626        '''
27627        self.password_policy = password_policy if password_policy is not None else None
27628        '''
27629         Optional password policy to use when generating a password
27630         If not provided it will use secret engine's password_policy
27631        '''
27632
27633    def __repr__(self):
27634        return '<sdm.SecretEngineRotateRequest ' + \
27635            'id: ' + repr(self.id) + ' ' +\
27636            'password_policy: ' + repr(self.password_policy) + ' ' +\
27637            '>'
27638
27639    def to_dict(self):
27640        return {
27641            'id': self.id,
27642            'password_policy': self.password_policy,
27643        }
27644
27645    @classmethod
27646    def from_dict(cls, d):
27647        return cls(
27648            id=d.get('id'),
27649            password_policy=d.get('password_policy'),
27650        )
SecretEngineRotateRequest(id=None, password_policy=None)
27618    def __init__(
27619        self,
27620        id=None,
27621        password_policy=None,
27622    ):
27623        self.id = id if id is not None else ''
27624        '''
27625         The unique identifier of the Secret Engine to rotate credentials for.
27626        '''
27627        self.password_policy = password_policy if password_policy is not None else None
27628        '''
27629         Optional password policy to use when generating a password
27630         If not provided it will use secret engine's password_policy
27631        '''
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)
27639    def to_dict(self):
27640        return {
27641            'id': self.id,
27642            'password_policy': self.password_policy,
27643        }
@classmethod
def from_dict(cls, d)
27645    @classmethod
27646    def from_dict(cls, d):
27647        return cls(
27648            id=d.get('id'),
27649            password_policy=d.get('password_policy'),
27650        )
class SecretEngineRotateResponse:
27653class SecretEngineRotateResponse:
27654    __slots__ = [
27655        'rate_limit',
27656    ]
27657
27658    def __init__(
27659        self,
27660        rate_limit=None,
27661    ):
27662        self.rate_limit = rate_limit if rate_limit is not None else None
27663        '''
27664         Rate limit information.
27665        '''
27666
27667    def __repr__(self):
27668        return '<sdm.SecretEngineRotateResponse ' + \
27669            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27670            '>'
27671
27672    def to_dict(self):
27673        return {
27674            'rate_limit': self.rate_limit,
27675        }
27676
27677    @classmethod
27678    def from_dict(cls, d):
27679        return cls(rate_limit=d.get('rate_limit'), )
SecretEngineRotateResponse(rate_limit=None)
27658    def __init__(
27659        self,
27660        rate_limit=None,
27661    ):
27662        self.rate_limit = rate_limit if rate_limit is not None else None
27663        '''
27664         Rate limit information.
27665        '''
rate_limit

Rate limit information.

def to_dict(self)
27672    def to_dict(self):
27673        return {
27674            'rate_limit': self.rate_limit,
27675        }
@classmethod
def from_dict(cls, d)
27677    @classmethod
27678    def from_dict(cls, d):
27679        return cls(rate_limit=d.get('rate_limit'), )
class SecretEngineUpdateRequest:
27682class SecretEngineUpdateRequest:
27683    '''
27684         SecretEngineUpdateRequest specifies secret engine to update
27685    '''
27686    __slots__ = [
27687        'secret_engine',
27688    ]
27689
27690    def __init__(
27691        self,
27692        secret_engine=None,
27693    ):
27694        self.secret_engine = secret_engine if secret_engine is not None else None
27695        '''
27696         Secret engine to update
27697        '''
27698
27699    def __repr__(self):
27700        return '<sdm.SecretEngineUpdateRequest ' + \
27701            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
27702            '>'
27703
27704    def to_dict(self):
27705        return {
27706            'secret_engine': self.secret_engine,
27707        }
27708
27709    @classmethod
27710    def from_dict(cls, d):
27711        return cls(secret_engine=d.get('secret_engine'), )

SecretEngineUpdateRequest specifies secret engine to update

SecretEngineUpdateRequest(secret_engine=None)
27690    def __init__(
27691        self,
27692        secret_engine=None,
27693    ):
27694        self.secret_engine = secret_engine if secret_engine is not None else None
27695        '''
27696         Secret engine to update
27697        '''
secret_engine

Secret engine to update

def to_dict(self)
27704    def to_dict(self):
27705        return {
27706            'secret_engine': self.secret_engine,
27707        }
@classmethod
def from_dict(cls, d)
27709    @classmethod
27710    def from_dict(cls, d):
27711        return cls(secret_engine=d.get('secret_engine'), )
class SecretEngineUpdateResponse:
27714class SecretEngineUpdateResponse:
27715    '''
27716         SecretEngineUpdateResponse contains information about Secret Engine after successful update.
27717    '''
27718    __slots__ = [
27719        'meta',
27720        'rate_limit',
27721        'secret_engine',
27722    ]
27723
27724    def __init__(
27725        self,
27726        meta=None,
27727        rate_limit=None,
27728        secret_engine=None,
27729    ):
27730        self.meta = meta if meta is not None else None
27731        '''
27732         Reserved for future use.
27733        '''
27734        self.rate_limit = rate_limit if rate_limit is not None else None
27735        '''
27736         Rate limit information.
27737        '''
27738        self.secret_engine = secret_engine if secret_engine is not None else None
27739        '''
27740         The requested Secret Engine.
27741        '''
27742
27743    def __repr__(self):
27744        return '<sdm.SecretEngineUpdateResponse ' + \
27745            'meta: ' + repr(self.meta) + ' ' +\
27746            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27747            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
27748            '>'
27749
27750    def to_dict(self):
27751        return {
27752            'meta': self.meta,
27753            'rate_limit': self.rate_limit,
27754            'secret_engine': self.secret_engine,
27755        }
27756
27757    @classmethod
27758    def from_dict(cls, d):
27759        return cls(
27760            meta=d.get('meta'),
27761            rate_limit=d.get('rate_limit'),
27762            secret_engine=d.get('secret_engine'),
27763        )

SecretEngineUpdateResponse contains information about Secret Engine after successful update.

SecretEngineUpdateResponse(meta=None, rate_limit=None, secret_engine=None)
27724    def __init__(
27725        self,
27726        meta=None,
27727        rate_limit=None,
27728        secret_engine=None,
27729    ):
27730        self.meta = meta if meta is not None else None
27731        '''
27732         Reserved for future use.
27733        '''
27734        self.rate_limit = rate_limit if rate_limit is not None else None
27735        '''
27736         Rate limit information.
27737        '''
27738        self.secret_engine = secret_engine if secret_engine is not None else None
27739        '''
27740         The requested Secret Engine.
27741        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

secret_engine

The requested Secret Engine.

def to_dict(self)
27750    def to_dict(self):
27751        return {
27752            'meta': self.meta,
27753            'rate_limit': self.rate_limit,
27754            'secret_engine': self.secret_engine,
27755        }
@classmethod
def from_dict(cls, d)
27757    @classmethod
27758    def from_dict(cls, d):
27759        return cls(
27760            meta=d.get('meta'),
27761            rate_limit=d.get('rate_limit'),
27762            secret_engine=d.get('secret_engine'),
27763        )
class SecretStoreCreateResponse:
27766class SecretStoreCreateResponse:
27767    '''
27768         SecretStoreCreateResponse reports how the SecretStores were created in the system.
27769    '''
27770    __slots__ = [
27771        'meta',
27772        'rate_limit',
27773        'secret_store',
27774    ]
27775
27776    def __init__(
27777        self,
27778        meta=None,
27779        rate_limit=None,
27780        secret_store=None,
27781    ):
27782        self.meta = meta if meta is not None else None
27783        '''
27784         Reserved for future use.
27785        '''
27786        self.rate_limit = rate_limit if rate_limit is not None else None
27787        '''
27788         Rate limit information.
27789        '''
27790        self.secret_store = secret_store if secret_store is not None else None
27791        '''
27792         The created SecretStore.
27793        '''
27794
27795    def __repr__(self):
27796        return '<sdm.SecretStoreCreateResponse ' + \
27797            'meta: ' + repr(self.meta) + ' ' +\
27798            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27799            'secret_store: ' + repr(self.secret_store) + ' ' +\
27800            '>'
27801
27802    def to_dict(self):
27803        return {
27804            'meta': self.meta,
27805            'rate_limit': self.rate_limit,
27806            'secret_store': self.secret_store,
27807        }
27808
27809    @classmethod
27810    def from_dict(cls, d):
27811        return cls(
27812            meta=d.get('meta'),
27813            rate_limit=d.get('rate_limit'),
27814            secret_store=d.get('secret_store'),
27815        )

SecretStoreCreateResponse reports how the SecretStores were created in the system.

SecretStoreCreateResponse(meta=None, rate_limit=None, secret_store=None)
27776    def __init__(
27777        self,
27778        meta=None,
27779        rate_limit=None,
27780        secret_store=None,
27781    ):
27782        self.meta = meta if meta is not None else None
27783        '''
27784         Reserved for future use.
27785        '''
27786        self.rate_limit = rate_limit if rate_limit is not None else None
27787        '''
27788         Rate limit information.
27789        '''
27790        self.secret_store = secret_store if secret_store is not None else None
27791        '''
27792         The created SecretStore.
27793        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

secret_store

The created SecretStore.

def to_dict(self)
27802    def to_dict(self):
27803        return {
27804            'meta': self.meta,
27805            'rate_limit': self.rate_limit,
27806            'secret_store': self.secret_store,
27807        }
@classmethod
def from_dict(cls, d)
27809    @classmethod
27810    def from_dict(cls, d):
27811        return cls(
27812            meta=d.get('meta'),
27813            rate_limit=d.get('rate_limit'),
27814            secret_store=d.get('secret_store'),
27815        )
class SecretStoreDeleteResponse:
27818class SecretStoreDeleteResponse:
27819    '''
27820         SecretStoreDeleteResponse returns information about a SecretStore that was deleted.
27821    '''
27822    __slots__ = [
27823        'meta',
27824        'rate_limit',
27825    ]
27826
27827    def __init__(
27828        self,
27829        meta=None,
27830        rate_limit=None,
27831    ):
27832        self.meta = meta if meta is not None else None
27833        '''
27834         Reserved for future use.
27835        '''
27836        self.rate_limit = rate_limit if rate_limit is not None else None
27837        '''
27838         Rate limit information.
27839        '''
27840
27841    def __repr__(self):
27842        return '<sdm.SecretStoreDeleteResponse ' + \
27843            'meta: ' + repr(self.meta) + ' ' +\
27844            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27845            '>'
27846
27847    def to_dict(self):
27848        return {
27849            'meta': self.meta,
27850            'rate_limit': self.rate_limit,
27851        }
27852
27853    @classmethod
27854    def from_dict(cls, d):
27855        return cls(
27856            meta=d.get('meta'),
27857            rate_limit=d.get('rate_limit'),
27858        )

SecretStoreDeleteResponse returns information about a SecretStore that was deleted.

SecretStoreDeleteResponse(meta=None, rate_limit=None)
27827    def __init__(
27828        self,
27829        meta=None,
27830        rate_limit=None,
27831    ):
27832        self.meta = meta if meta is not None else None
27833        '''
27834         Reserved for future use.
27835        '''
27836        self.rate_limit = rate_limit if rate_limit is not None else None
27837        '''
27838         Rate limit information.
27839        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
27847    def to_dict(self):
27848        return {
27849            'meta': self.meta,
27850            'rate_limit': self.rate_limit,
27851        }
@classmethod
def from_dict(cls, d)
27853    @classmethod
27854    def from_dict(cls, d):
27855        return cls(
27856            meta=d.get('meta'),
27857            rate_limit=d.get('rate_limit'),
27858        )
class SecretStoreGetResponse:
27861class SecretStoreGetResponse:
27862    '''
27863         SecretStoreGetResponse returns a requested SecretStore.
27864    '''
27865    __slots__ = [
27866        'meta',
27867        'rate_limit',
27868        'secret_store',
27869    ]
27870
27871    def __init__(
27872        self,
27873        meta=None,
27874        rate_limit=None,
27875        secret_store=None,
27876    ):
27877        self.meta = meta if meta is not None else None
27878        '''
27879         Reserved for future use.
27880        '''
27881        self.rate_limit = rate_limit if rate_limit is not None else None
27882        '''
27883         Rate limit information.
27884        '''
27885        self.secret_store = secret_store if secret_store is not None else None
27886        '''
27887         The requested SecretStore.
27888        '''
27889
27890    def __repr__(self):
27891        return '<sdm.SecretStoreGetResponse ' + \
27892            'meta: ' + repr(self.meta) + ' ' +\
27893            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27894            'secret_store: ' + repr(self.secret_store) + ' ' +\
27895            '>'
27896
27897    def to_dict(self):
27898        return {
27899            'meta': self.meta,
27900            'rate_limit': self.rate_limit,
27901            'secret_store': self.secret_store,
27902        }
27903
27904    @classmethod
27905    def from_dict(cls, d):
27906        return cls(
27907            meta=d.get('meta'),
27908            rate_limit=d.get('rate_limit'),
27909            secret_store=d.get('secret_store'),
27910        )

SecretStoreGetResponse returns a requested SecretStore.

SecretStoreGetResponse(meta=None, rate_limit=None, secret_store=None)
27871    def __init__(
27872        self,
27873        meta=None,
27874        rate_limit=None,
27875        secret_store=None,
27876    ):
27877        self.meta = meta if meta is not None else None
27878        '''
27879         Reserved for future use.
27880        '''
27881        self.rate_limit = rate_limit if rate_limit is not None else None
27882        '''
27883         Rate limit information.
27884        '''
27885        self.secret_store = secret_store if secret_store is not None else None
27886        '''
27887         The requested SecretStore.
27888        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

secret_store

The requested SecretStore.

def to_dict(self)
27897    def to_dict(self):
27898        return {
27899            'meta': self.meta,
27900            'rate_limit': self.rate_limit,
27901            'secret_store': self.secret_store,
27902        }
@classmethod
def from_dict(cls, d)
27904    @classmethod
27905    def from_dict(cls, d):
27906        return cls(
27907            meta=d.get('meta'),
27908            rate_limit=d.get('rate_limit'),
27909            secret_store=d.get('secret_store'),
27910        )
class SecretStoreHealth:
27913class SecretStoreHealth:
27914    '''
27915         SecretStoreHealth denotes a secret store's health status. Note a secret store is not
27916     healthy in terms of a simple boolean, but rather healthy with respect to a particular node
27917     or set of nodes.
27918    '''
27919    __slots__ = [
27920        'changed_at',
27921        'checked_at',
27922        'error',
27923        'flags',
27924        'node_id',
27925        'reachability',
27926        'secret_store_id',
27927        'status',
27928    ]
27929
27930    def __init__(
27931        self,
27932        changed_at=None,
27933        checked_at=None,
27934        error=None,
27935        flags=None,
27936        node_id=None,
27937        reachability=None,
27938        secret_store_id=None,
27939        status=None,
27940    ):
27941        self.changed_at = changed_at if changed_at is not None else None
27942        '''
27943         The time when the status last changed
27944        '''
27945        self.checked_at = checked_at if checked_at is not None else None
27946        '''
27947         The time when the status was last checked by the node
27948        '''
27949        self.error = error if error is not None else ''
27950        '''
27951         The error associated with this health check, if it occurred after reachability checks succeeded.
27952        '''
27953        self.flags = flags if flags is not None else []
27954        '''
27955         Any specific status or error flags associated with this health check.
27956        '''
27957        self.node_id = node_id if node_id is not None else ''
27958        '''
27959         Associated node id for this health
27960        '''
27961        self.reachability = reachability if reachability is not None else ''
27962        '''
27963         The error associated with this health check, if it occurred during reachability checks.
27964        '''
27965        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
27966        '''
27967         Associated secret store for this health
27968        '''
27969        self.status = status if status is not None else ''
27970        '''
27971         The status of the link between the node and secret store
27972        '''
27973
27974    def __repr__(self):
27975        return '<sdm.SecretStoreHealth ' + \
27976            'changed_at: ' + repr(self.changed_at) + ' ' +\
27977            'checked_at: ' + repr(self.checked_at) + ' ' +\
27978            'error: ' + repr(self.error) + ' ' +\
27979            'flags: ' + repr(self.flags) + ' ' +\
27980            'node_id: ' + repr(self.node_id) + ' ' +\
27981            'reachability: ' + repr(self.reachability) + ' ' +\
27982            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
27983            'status: ' + repr(self.status) + ' ' +\
27984            '>'
27985
27986    def to_dict(self):
27987        return {
27988            'changed_at': self.changed_at,
27989            'checked_at': self.checked_at,
27990            'error': self.error,
27991            'flags': self.flags,
27992            'node_id': self.node_id,
27993            'reachability': self.reachability,
27994            'secret_store_id': self.secret_store_id,
27995            'status': self.status,
27996        }
27997
27998    @classmethod
27999    def from_dict(cls, d):
28000        return cls(
28001            changed_at=d.get('changed_at'),
28002            checked_at=d.get('checked_at'),
28003            error=d.get('error'),
28004            flags=d.get('flags'),
28005            node_id=d.get('node_id'),
28006            reachability=d.get('reachability'),
28007            secret_store_id=d.get('secret_store_id'),
28008            status=d.get('status'),
28009        )

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)
27930    def __init__(
27931        self,
27932        changed_at=None,
27933        checked_at=None,
27934        error=None,
27935        flags=None,
27936        node_id=None,
27937        reachability=None,
27938        secret_store_id=None,
27939        status=None,
27940    ):
27941        self.changed_at = changed_at if changed_at is not None else None
27942        '''
27943         The time when the status last changed
27944        '''
27945        self.checked_at = checked_at if checked_at is not None else None
27946        '''
27947         The time when the status was last checked by the node
27948        '''
27949        self.error = error if error is not None else ''
27950        '''
27951         The error associated with this health check, if it occurred after reachability checks succeeded.
27952        '''
27953        self.flags = flags if flags is not None else []
27954        '''
27955         Any specific status or error flags associated with this health check.
27956        '''
27957        self.node_id = node_id if node_id is not None else ''
27958        '''
27959         Associated node id for this health
27960        '''
27961        self.reachability = reachability if reachability is not None else ''
27962        '''
27963         The error associated with this health check, if it occurred during reachability checks.
27964        '''
27965        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
27966        '''
27967         Associated secret store for this health
27968        '''
27969        self.status = status if status is not None else ''
27970        '''
27971         The status of the link between the node and secret store
27972        '''
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)
27986    def to_dict(self):
27987        return {
27988            'changed_at': self.changed_at,
27989            'checked_at': self.checked_at,
27990            'error': self.error,
27991            'flags': self.flags,
27992            'node_id': self.node_id,
27993            'reachability': self.reachability,
27994            'secret_store_id': self.secret_store_id,
27995            'status': self.status,
27996        }
@classmethod
def from_dict(cls, d)
27998    @classmethod
27999    def from_dict(cls, d):
28000        return cls(
28001            changed_at=d.get('changed_at'),
28002            checked_at=d.get('checked_at'),
28003            error=d.get('error'),
28004            flags=d.get('flags'),
28005            node_id=d.get('node_id'),
28006            reachability=d.get('reachability'),
28007            secret_store_id=d.get('secret_store_id'),
28008            status=d.get('status'),
28009        )
class SecretStoreHealthListResponse:
28012class SecretStoreHealthListResponse:
28013    __slots__ = [
28014        'rate_limit',
28015    ]
28016
28017    def __init__(
28018        self,
28019        rate_limit=None,
28020    ):
28021        self.rate_limit = rate_limit if rate_limit is not None else None
28022        '''
28023         Rate limit information.
28024        '''
28025
28026    def __repr__(self):
28027        return '<sdm.SecretStoreHealthListResponse ' + \
28028            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28029            '>'
28030
28031    def to_dict(self):
28032        return {
28033            'rate_limit': self.rate_limit,
28034        }
28035
28036    @classmethod
28037    def from_dict(cls, d):
28038        return cls(rate_limit=d.get('rate_limit'), )
SecretStoreHealthListResponse(rate_limit=None)
28017    def __init__(
28018        self,
28019        rate_limit=None,
28020    ):
28021        self.rate_limit = rate_limit if rate_limit is not None else None
28022        '''
28023         Rate limit information.
28024        '''
rate_limit

Rate limit information.

def to_dict(self)
28031    def to_dict(self):
28032        return {
28033            'rate_limit': self.rate_limit,
28034        }
@classmethod
def from_dict(cls, d)
28036    @classmethod
28037    def from_dict(cls, d):
28038        return cls(rate_limit=d.get('rate_limit'), )
class SecretStoreHealthcheckResponse:
28041class SecretStoreHealthcheckResponse:
28042    __slots__ = [
28043        'rate_limit',
28044    ]
28045
28046    def __init__(
28047        self,
28048        rate_limit=None,
28049    ):
28050        self.rate_limit = rate_limit if rate_limit is not None else None
28051        '''
28052         Rate limit information.
28053        '''
28054
28055    def __repr__(self):
28056        return '<sdm.SecretStoreHealthcheckResponse ' + \
28057            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28058            '>'
28059
28060    def to_dict(self):
28061        return {
28062            'rate_limit': self.rate_limit,
28063        }
28064
28065    @classmethod
28066    def from_dict(cls, d):
28067        return cls(rate_limit=d.get('rate_limit'), )
SecretStoreHealthcheckResponse(rate_limit=None)
28046    def __init__(
28047        self,
28048        rate_limit=None,
28049    ):
28050        self.rate_limit = rate_limit if rate_limit is not None else None
28051        '''
28052         Rate limit information.
28053        '''
rate_limit

Rate limit information.

def to_dict(self)
28060    def to_dict(self):
28061        return {
28062            'rate_limit': self.rate_limit,
28063        }
@classmethod
def from_dict(cls, d)
28065    @classmethod
28066    def from_dict(cls, d):
28067        return cls(rate_limit=d.get('rate_limit'), )
class SecretStoreHistory:
28070class SecretStoreHistory:
28071    '''
28072         SecretStoreHistory records the state of a SecretStore at a given point in time,
28073     where every change (create, update and delete) to a SecretStore produces an
28074     SecretStoreHistory record.
28075    '''
28076    __slots__ = [
28077        'activity_id',
28078        'deleted_at',
28079        'secret_store',
28080        'timestamp',
28081    ]
28082
28083    def __init__(
28084        self,
28085        activity_id=None,
28086        deleted_at=None,
28087        secret_store=None,
28088        timestamp=None,
28089    ):
28090        self.activity_id = activity_id if activity_id is not None else ''
28091        '''
28092         The unique identifier of the Activity that produced this change to the SecretStore.
28093         May be empty for some system-initiated updates.
28094        '''
28095        self.deleted_at = deleted_at if deleted_at is not None else None
28096        '''
28097         If this SecretStore was deleted, the time it was deleted.
28098        '''
28099        self.secret_store = secret_store if secret_store is not None else None
28100        '''
28101         The complete SecretStore state at this time.
28102        '''
28103        self.timestamp = timestamp if timestamp is not None else None
28104        '''
28105         The time at which the SecretStore state was recorded.
28106        '''
28107
28108    def __repr__(self):
28109        return '<sdm.SecretStoreHistory ' + \
28110            'activity_id: ' + repr(self.activity_id) + ' ' +\
28111            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
28112            'secret_store: ' + repr(self.secret_store) + ' ' +\
28113            'timestamp: ' + repr(self.timestamp) + ' ' +\
28114            '>'
28115
28116    def to_dict(self):
28117        return {
28118            'activity_id': self.activity_id,
28119            'deleted_at': self.deleted_at,
28120            'secret_store': self.secret_store,
28121            'timestamp': self.timestamp,
28122        }
28123
28124    @classmethod
28125    def from_dict(cls, d):
28126        return cls(
28127            activity_id=d.get('activity_id'),
28128            deleted_at=d.get('deleted_at'),
28129            secret_store=d.get('secret_store'),
28130            timestamp=d.get('timestamp'),
28131        )

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)
28083    def __init__(
28084        self,
28085        activity_id=None,
28086        deleted_at=None,
28087        secret_store=None,
28088        timestamp=None,
28089    ):
28090        self.activity_id = activity_id if activity_id is not None else ''
28091        '''
28092         The unique identifier of the Activity that produced this change to the SecretStore.
28093         May be empty for some system-initiated updates.
28094        '''
28095        self.deleted_at = deleted_at if deleted_at is not None else None
28096        '''
28097         If this SecretStore was deleted, the time it was deleted.
28098        '''
28099        self.secret_store = secret_store if secret_store is not None else None
28100        '''
28101         The complete SecretStore state at this time.
28102        '''
28103        self.timestamp = timestamp if timestamp is not None else None
28104        '''
28105         The time at which the SecretStore state was recorded.
28106        '''
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)
28116    def to_dict(self):
28117        return {
28118            'activity_id': self.activity_id,
28119            'deleted_at': self.deleted_at,
28120            'secret_store': self.secret_store,
28121            'timestamp': self.timestamp,
28122        }
@classmethod
def from_dict(cls, d)
28124    @classmethod
28125    def from_dict(cls, d):
28126        return cls(
28127            activity_id=d.get('activity_id'),
28128            deleted_at=d.get('deleted_at'),
28129            secret_store=d.get('secret_store'),
28130            timestamp=d.get('timestamp'),
28131        )
class SecretStoreUpdateResponse:
28134class SecretStoreUpdateResponse:
28135    '''
28136         SecretStoreUpdateResponse returns the fields of a SecretStore after it has been updated by
28137     a SecretStoreUpdateRequest.
28138    '''
28139    __slots__ = [
28140        'meta',
28141        'rate_limit',
28142        'secret_store',
28143    ]
28144
28145    def __init__(
28146        self,
28147        meta=None,
28148        rate_limit=None,
28149        secret_store=None,
28150    ):
28151        self.meta = meta if meta is not None else None
28152        '''
28153         Reserved for future use.
28154        '''
28155        self.rate_limit = rate_limit if rate_limit is not None else None
28156        '''
28157         Rate limit information.
28158        '''
28159        self.secret_store = secret_store if secret_store is not None else None
28160        '''
28161         The updated SecretStore.
28162        '''
28163
28164    def __repr__(self):
28165        return '<sdm.SecretStoreUpdateResponse ' + \
28166            'meta: ' + repr(self.meta) + ' ' +\
28167            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28168            'secret_store: ' + repr(self.secret_store) + ' ' +\
28169            '>'
28170
28171    def to_dict(self):
28172        return {
28173            'meta': self.meta,
28174            'rate_limit': self.rate_limit,
28175            'secret_store': self.secret_store,
28176        }
28177
28178    @classmethod
28179    def from_dict(cls, d):
28180        return cls(
28181            meta=d.get('meta'),
28182            rate_limit=d.get('rate_limit'),
28183            secret_store=d.get('secret_store'),
28184        )

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

SecretStoreUpdateResponse(meta=None, rate_limit=None, secret_store=None)
28145    def __init__(
28146        self,
28147        meta=None,
28148        rate_limit=None,
28149        secret_store=None,
28150    ):
28151        self.meta = meta if meta is not None else None
28152        '''
28153         Reserved for future use.
28154        '''
28155        self.rate_limit = rate_limit if rate_limit is not None else None
28156        '''
28157         Rate limit information.
28158        '''
28159        self.secret_store = secret_store if secret_store is not None else None
28160        '''
28161         The updated SecretStore.
28162        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

secret_store

The updated SecretStore.

def to_dict(self)
28171    def to_dict(self):
28172        return {
28173            'meta': self.meta,
28174            'rate_limit': self.rate_limit,
28175            'secret_store': self.secret_store,
28176        }
@classmethod
def from_dict(cls, d)
28178    @classmethod
28179    def from_dict(cls, d):
28180        return cls(
28181            meta=d.get('meta'),
28182            rate_limit=d.get('rate_limit'),
28183            secret_store=d.get('secret_store'),
28184        )
class Service:
28187class Service:
28188    '''
28189         A Service is a service account that can connect to resources they are granted
28190     directly, or granted via roles. Services are typically automated jobs.
28191    '''
28192    __slots__ = [
28193        'id',
28194        'name',
28195        'suspended',
28196        'tags',
28197    ]
28198
28199    def __init__(
28200        self,
28201        id=None,
28202        name=None,
28203        suspended=None,
28204        tags=None,
28205    ):
28206        self.id = id if id is not None else ''
28207        '''
28208         Unique identifier of the Service.
28209        '''
28210        self.name = name if name is not None else ''
28211        '''
28212         Unique human-readable name of the Service.
28213        '''
28214        self.suspended = suspended if suspended is not None else False
28215        '''
28216         The Service's suspended state.
28217        '''
28218        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28219        '''
28220         Tags is a map of key, value pairs.
28221        '''
28222
28223    def __repr__(self):
28224        return '<sdm.Service ' + \
28225            'id: ' + repr(self.id) + ' ' +\
28226            'name: ' + repr(self.name) + ' ' +\
28227            'suspended: ' + repr(self.suspended) + ' ' +\
28228            'tags: ' + repr(self.tags) + ' ' +\
28229            '>'
28230
28231    def to_dict(self):
28232        return {
28233            'id': self.id,
28234            'name': self.name,
28235            'suspended': self.suspended,
28236            'tags': self.tags,
28237        }
28238
28239    @classmethod
28240    def from_dict(cls, d):
28241        return cls(
28242            id=d.get('id'),
28243            name=d.get('name'),
28244            suspended=d.get('suspended'),
28245            tags=d.get('tags'),
28246        )

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)
28199    def __init__(
28200        self,
28201        id=None,
28202        name=None,
28203        suspended=None,
28204        tags=None,
28205    ):
28206        self.id = id if id is not None else ''
28207        '''
28208         Unique identifier of the Service.
28209        '''
28210        self.name = name if name is not None else ''
28211        '''
28212         Unique human-readable name of the Service.
28213        '''
28214        self.suspended = suspended if suspended is not None else False
28215        '''
28216         The Service's suspended state.
28217        '''
28218        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28219        '''
28220         Tags is a map of key, value pairs.
28221        '''
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)
28231    def to_dict(self):
28232        return {
28233            'id': self.id,
28234            'name': self.name,
28235            'suspended': self.suspended,
28236            'tags': self.tags,
28237        }
@classmethod
def from_dict(cls, d)
28239    @classmethod
28240    def from_dict(cls, d):
28241        return cls(
28242            id=d.get('id'),
28243            name=d.get('name'),
28244            suspended=d.get('suspended'),
28245            tags=d.get('tags'),
28246        )
class SingleStore:
28249class SingleStore:
28250    __slots__ = [
28251        'bind_interface',
28252        'database',
28253        'egress_filter',
28254        'healthy',
28255        'hostname',
28256        'id',
28257        'name',
28258        'password',
28259        'port',
28260        'port_override',
28261        'proxy_cluster_id',
28262        'require_native_auth',
28263        'secret_store_id',
28264        'subdomain',
28265        'tags',
28266        'use_azure_single_server_usernames',
28267        'username',
28268    ]
28269
28270    def __init__(
28271        self,
28272        bind_interface=None,
28273        database=None,
28274        egress_filter=None,
28275        healthy=None,
28276        hostname=None,
28277        id=None,
28278        name=None,
28279        password=None,
28280        port=None,
28281        port_override=None,
28282        proxy_cluster_id=None,
28283        require_native_auth=None,
28284        secret_store_id=None,
28285        subdomain=None,
28286        tags=None,
28287        use_azure_single_server_usernames=None,
28288        username=None,
28289    ):
28290        self.bind_interface = bind_interface if bind_interface is not None else ''
28291        '''
28292         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28293        '''
28294        self.database = database if database is not None else ''
28295        '''
28296         The database for healthchecks. Does not affect client requests.
28297        '''
28298        self.egress_filter = egress_filter if egress_filter is not None else ''
28299        '''
28300         A filter applied to the routing logic to pin datasource to nodes.
28301        '''
28302        self.healthy = healthy if healthy is not None else False
28303        '''
28304         True if the datasource is reachable and the credentials are valid.
28305        '''
28306        self.hostname = hostname if hostname is not None else ''
28307        '''
28308         The host to dial to initiate a connection from the egress node to this resource.
28309        '''
28310        self.id = id if id is not None else ''
28311        '''
28312         Unique identifier of the Resource.
28313        '''
28314        self.name = name if name is not None else ''
28315        '''
28316         Unique human-readable name of the Resource.
28317        '''
28318        self.password = password if password is not None else ''
28319        '''
28320         The password to authenticate with.
28321        '''
28322        self.port = port if port is not None else 0
28323        '''
28324         The port to dial to initiate a connection from the egress node to this resource.
28325        '''
28326        self.port_override = port_override if port_override is not None else 0
28327        '''
28328         The local port used by clients to connect to this resource.
28329        '''
28330        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28331        '''
28332         ID of the proxy cluster for this resource, if any.
28333        '''
28334        self.require_native_auth = require_native_auth if require_native_auth is not None else False
28335        '''
28336         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
28337        '''
28338        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28339        '''
28340         ID of the secret store containing credentials for this resource, if any.
28341        '''
28342        self.subdomain = subdomain if subdomain is not None else ''
28343        '''
28344         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
28345        '''
28346        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28347        '''
28348         Tags is a map of key, value pairs.
28349        '''
28350        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
28351        '''
28352         If true, appends the hostname to the username when hitting a database.azure.com address
28353        '''
28354        self.username = username if username is not None else ''
28355        '''
28356         The username to authenticate with.
28357        '''
28358
28359    def __repr__(self):
28360        return '<sdm.SingleStore ' + \
28361            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
28362            'database: ' + repr(self.database) + ' ' +\
28363            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
28364            'healthy: ' + repr(self.healthy) + ' ' +\
28365            'hostname: ' + repr(self.hostname) + ' ' +\
28366            'id: ' + repr(self.id) + ' ' +\
28367            'name: ' + repr(self.name) + ' ' +\
28368            'password: ' + repr(self.password) + ' ' +\
28369            'port: ' + repr(self.port) + ' ' +\
28370            'port_override: ' + repr(self.port_override) + ' ' +\
28371            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
28372            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
28373            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
28374            'subdomain: ' + repr(self.subdomain) + ' ' +\
28375            'tags: ' + repr(self.tags) + ' ' +\
28376            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
28377            'username: ' + repr(self.username) + ' ' +\
28378            '>'
28379
28380    def to_dict(self):
28381        return {
28382            'bind_interface': self.bind_interface,
28383            'database': self.database,
28384            'egress_filter': self.egress_filter,
28385            'healthy': self.healthy,
28386            'hostname': self.hostname,
28387            'id': self.id,
28388            'name': self.name,
28389            'password': self.password,
28390            'port': self.port,
28391            'port_override': self.port_override,
28392            'proxy_cluster_id': self.proxy_cluster_id,
28393            'require_native_auth': self.require_native_auth,
28394            'secret_store_id': self.secret_store_id,
28395            'subdomain': self.subdomain,
28396            'tags': self.tags,
28397            'use_azure_single_server_usernames':
28398            self.use_azure_single_server_usernames,
28399            'username': self.username,
28400        }
28401
28402    @classmethod
28403    def from_dict(cls, d):
28404        return cls(
28405            bind_interface=d.get('bind_interface'),
28406            database=d.get('database'),
28407            egress_filter=d.get('egress_filter'),
28408            healthy=d.get('healthy'),
28409            hostname=d.get('hostname'),
28410            id=d.get('id'),
28411            name=d.get('name'),
28412            password=d.get('password'),
28413            port=d.get('port'),
28414            port_override=d.get('port_override'),
28415            proxy_cluster_id=d.get('proxy_cluster_id'),
28416            require_native_auth=d.get('require_native_auth'),
28417            secret_store_id=d.get('secret_store_id'),
28418            subdomain=d.get('subdomain'),
28419            tags=d.get('tags'),
28420            use_azure_single_server_usernames=d.get(
28421                'use_azure_single_server_usernames'),
28422            username=d.get('username'),
28423        )
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)
28270    def __init__(
28271        self,
28272        bind_interface=None,
28273        database=None,
28274        egress_filter=None,
28275        healthy=None,
28276        hostname=None,
28277        id=None,
28278        name=None,
28279        password=None,
28280        port=None,
28281        port_override=None,
28282        proxy_cluster_id=None,
28283        require_native_auth=None,
28284        secret_store_id=None,
28285        subdomain=None,
28286        tags=None,
28287        use_azure_single_server_usernames=None,
28288        username=None,
28289    ):
28290        self.bind_interface = bind_interface if bind_interface is not None else ''
28291        '''
28292         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28293        '''
28294        self.database = database if database is not None else ''
28295        '''
28296         The database for healthchecks. Does not affect client requests.
28297        '''
28298        self.egress_filter = egress_filter if egress_filter is not None else ''
28299        '''
28300         A filter applied to the routing logic to pin datasource to nodes.
28301        '''
28302        self.healthy = healthy if healthy is not None else False
28303        '''
28304         True if the datasource is reachable and the credentials are valid.
28305        '''
28306        self.hostname = hostname if hostname is not None else ''
28307        '''
28308         The host to dial to initiate a connection from the egress node to this resource.
28309        '''
28310        self.id = id if id is not None else ''
28311        '''
28312         Unique identifier of the Resource.
28313        '''
28314        self.name = name if name is not None else ''
28315        '''
28316         Unique human-readable name of the Resource.
28317        '''
28318        self.password = password if password is not None else ''
28319        '''
28320         The password to authenticate with.
28321        '''
28322        self.port = port if port is not None else 0
28323        '''
28324         The port to dial to initiate a connection from the egress node to this resource.
28325        '''
28326        self.port_override = port_override if port_override is not None else 0
28327        '''
28328         The local port used by clients to connect to this resource.
28329        '''
28330        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28331        '''
28332         ID of the proxy cluster for this resource, if any.
28333        '''
28334        self.require_native_auth = require_native_auth if require_native_auth is not None else False
28335        '''
28336         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
28337        '''
28338        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28339        '''
28340         ID of the secret store containing credentials for this resource, if any.
28341        '''
28342        self.subdomain = subdomain if subdomain is not None else ''
28343        '''
28344         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
28345        '''
28346        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28347        '''
28348         Tags is a map of key, value pairs.
28349        '''
28350        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
28351        '''
28352         If true, appends the hostname to the username when hitting a database.azure.com address
28353        '''
28354        self.username = username if username is not None else ''
28355        '''
28356         The username to authenticate with.
28357        '''
bind_interface

The bind interface is the IP 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)
28380    def to_dict(self):
28381        return {
28382            'bind_interface': self.bind_interface,
28383            'database': self.database,
28384            'egress_filter': self.egress_filter,
28385            'healthy': self.healthy,
28386            'hostname': self.hostname,
28387            'id': self.id,
28388            'name': self.name,
28389            'password': self.password,
28390            'port': self.port,
28391            'port_override': self.port_override,
28392            'proxy_cluster_id': self.proxy_cluster_id,
28393            'require_native_auth': self.require_native_auth,
28394            'secret_store_id': self.secret_store_id,
28395            'subdomain': self.subdomain,
28396            'tags': self.tags,
28397            'use_azure_single_server_usernames':
28398            self.use_azure_single_server_usernames,
28399            'username': self.username,
28400        }
@classmethod
def from_dict(cls, d)
28402    @classmethod
28403    def from_dict(cls, d):
28404        return cls(
28405            bind_interface=d.get('bind_interface'),
28406            database=d.get('database'),
28407            egress_filter=d.get('egress_filter'),
28408            healthy=d.get('healthy'),
28409            hostname=d.get('hostname'),
28410            id=d.get('id'),
28411            name=d.get('name'),
28412            password=d.get('password'),
28413            port=d.get('port'),
28414            port_override=d.get('port_override'),
28415            proxy_cluster_id=d.get('proxy_cluster_id'),
28416            require_native_auth=d.get('require_native_auth'),
28417            secret_store_id=d.get('secret_store_id'),
28418            subdomain=d.get('subdomain'),
28419            tags=d.get('tags'),
28420            use_azure_single_server_usernames=d.get(
28421                'use_azure_single_server_usernames'),
28422            username=d.get('username'),
28423        )
class Snowflake:
28426class Snowflake:
28427    __slots__ = [
28428        'bind_interface',
28429        'database',
28430        'egress_filter',
28431        'healthy',
28432        'hostname',
28433        'id',
28434        'name',
28435        'password',
28436        'port_override',
28437        'proxy_cluster_id',
28438        'schema',
28439        'secret_store_id',
28440        'subdomain',
28441        'tags',
28442        'username',
28443    ]
28444
28445    def __init__(
28446        self,
28447        bind_interface=None,
28448        database=None,
28449        egress_filter=None,
28450        healthy=None,
28451        hostname=None,
28452        id=None,
28453        name=None,
28454        password=None,
28455        port_override=None,
28456        proxy_cluster_id=None,
28457        schema=None,
28458        secret_store_id=None,
28459        subdomain=None,
28460        tags=None,
28461        username=None,
28462    ):
28463        self.bind_interface = bind_interface if bind_interface is not None else ''
28464        '''
28465         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28466        '''
28467        self.database = database if database is not None else ''
28468        '''
28469         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
28470        '''
28471        self.egress_filter = egress_filter if egress_filter is not None else ''
28472        '''
28473         A filter applied to the routing logic to pin datasource to nodes.
28474        '''
28475        self.healthy = healthy if healthy is not None else False
28476        '''
28477         True if the datasource is reachable and the credentials are valid.
28478        '''
28479        self.hostname = hostname if hostname is not None else ''
28480        '''
28481         The host to dial to initiate a connection from the egress node to this resource.
28482        '''
28483        self.id = id if id is not None else ''
28484        '''
28485         Unique identifier of the Resource.
28486        '''
28487        self.name = name if name is not None else ''
28488        '''
28489         Unique human-readable name of the Resource.
28490        '''
28491        self.password = password if password is not None else ''
28492        '''
28493         The password to authenticate with.
28494        '''
28495        self.port_override = port_override if port_override is not None else 0
28496        '''
28497         The local port used by clients to connect to this resource.
28498        '''
28499        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28500        '''
28501         ID of the proxy cluster for this resource, if any.
28502        '''
28503        self.schema = schema if schema is not None else ''
28504        '''
28505         The schema to provide on authentication.
28506        '''
28507        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28508        '''
28509         ID of the secret store containing credentials for this resource, if any.
28510        '''
28511        self.subdomain = subdomain if subdomain is not None else ''
28512        '''
28513         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
28514        '''
28515        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28516        '''
28517         Tags is a map of key, value pairs.
28518        '''
28519        self.username = username if username is not None else ''
28520        '''
28521         The username to authenticate with.
28522        '''
28523
28524    def __repr__(self):
28525        return '<sdm.Snowflake ' + \
28526            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
28527            'database: ' + repr(self.database) + ' ' +\
28528            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
28529            'healthy: ' + repr(self.healthy) + ' ' +\
28530            'hostname: ' + repr(self.hostname) + ' ' +\
28531            'id: ' + repr(self.id) + ' ' +\
28532            'name: ' + repr(self.name) + ' ' +\
28533            'password: ' + repr(self.password) + ' ' +\
28534            'port_override: ' + repr(self.port_override) + ' ' +\
28535            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
28536            'schema: ' + repr(self.schema) + ' ' +\
28537            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
28538            'subdomain: ' + repr(self.subdomain) + ' ' +\
28539            'tags: ' + repr(self.tags) + ' ' +\
28540            'username: ' + repr(self.username) + ' ' +\
28541            '>'
28542
28543    def to_dict(self):
28544        return {
28545            'bind_interface': self.bind_interface,
28546            'database': self.database,
28547            'egress_filter': self.egress_filter,
28548            'healthy': self.healthy,
28549            'hostname': self.hostname,
28550            'id': self.id,
28551            'name': self.name,
28552            'password': self.password,
28553            'port_override': self.port_override,
28554            'proxy_cluster_id': self.proxy_cluster_id,
28555            'schema': self.schema,
28556            'secret_store_id': self.secret_store_id,
28557            'subdomain': self.subdomain,
28558            'tags': self.tags,
28559            'username': self.username,
28560        }
28561
28562    @classmethod
28563    def from_dict(cls, d):
28564        return cls(
28565            bind_interface=d.get('bind_interface'),
28566            database=d.get('database'),
28567            egress_filter=d.get('egress_filter'),
28568            healthy=d.get('healthy'),
28569            hostname=d.get('hostname'),
28570            id=d.get('id'),
28571            name=d.get('name'),
28572            password=d.get('password'),
28573            port_override=d.get('port_override'),
28574            proxy_cluster_id=d.get('proxy_cluster_id'),
28575            schema=d.get('schema'),
28576            secret_store_id=d.get('secret_store_id'),
28577            subdomain=d.get('subdomain'),
28578            tags=d.get('tags'),
28579            username=d.get('username'),
28580        )
Snowflake( bind_interface=None, database=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port_override=None, proxy_cluster_id=None, schema=None, secret_store_id=None, subdomain=None, tags=None, username=None)
28445    def __init__(
28446        self,
28447        bind_interface=None,
28448        database=None,
28449        egress_filter=None,
28450        healthy=None,
28451        hostname=None,
28452        id=None,
28453        name=None,
28454        password=None,
28455        port_override=None,
28456        proxy_cluster_id=None,
28457        schema=None,
28458        secret_store_id=None,
28459        subdomain=None,
28460        tags=None,
28461        username=None,
28462    ):
28463        self.bind_interface = bind_interface if bind_interface is not None else ''
28464        '''
28465         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28466        '''
28467        self.database = database if database is not None else ''
28468        '''
28469         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
28470        '''
28471        self.egress_filter = egress_filter if egress_filter is not None else ''
28472        '''
28473         A filter applied to the routing logic to pin datasource to nodes.
28474        '''
28475        self.healthy = healthy if healthy is not None else False
28476        '''
28477         True if the datasource is reachable and the credentials are valid.
28478        '''
28479        self.hostname = hostname if hostname is not None else ''
28480        '''
28481         The host to dial to initiate a connection from the egress node to this resource.
28482        '''
28483        self.id = id if id is not None else ''
28484        '''
28485         Unique identifier of the Resource.
28486        '''
28487        self.name = name if name is not None else ''
28488        '''
28489         Unique human-readable name of the Resource.
28490        '''
28491        self.password = password if password is not None else ''
28492        '''
28493         The password to authenticate with.
28494        '''
28495        self.port_override = port_override if port_override is not None else 0
28496        '''
28497         The local port used by clients to connect to this resource.
28498        '''
28499        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28500        '''
28501         ID of the proxy cluster for this resource, if any.
28502        '''
28503        self.schema = schema if schema is not None else ''
28504        '''
28505         The schema to provide on authentication.
28506        '''
28507        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28508        '''
28509         ID of the secret store containing credentials for this resource, if any.
28510        '''
28511        self.subdomain = subdomain if subdomain is not None else ''
28512        '''
28513         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
28514        '''
28515        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28516        '''
28517         Tags is a map of key, value pairs.
28518        '''
28519        self.username = username if username is not None else ''
28520        '''
28521         The username to authenticate with.
28522        '''
bind_interface

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

database

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

egress_filter

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port_override

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

proxy_cluster_id

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

schema

The schema to provide on authentication.

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
28543    def to_dict(self):
28544        return {
28545            'bind_interface': self.bind_interface,
28546            'database': self.database,
28547            'egress_filter': self.egress_filter,
28548            'healthy': self.healthy,
28549            'hostname': self.hostname,
28550            'id': self.id,
28551            'name': self.name,
28552            'password': self.password,
28553            'port_override': self.port_override,
28554            'proxy_cluster_id': self.proxy_cluster_id,
28555            'schema': self.schema,
28556            'secret_store_id': self.secret_store_id,
28557            'subdomain': self.subdomain,
28558            'tags': self.tags,
28559            'username': self.username,
28560        }
@classmethod
def from_dict(cls, d)
28562    @classmethod
28563    def from_dict(cls, d):
28564        return cls(
28565            bind_interface=d.get('bind_interface'),
28566            database=d.get('database'),
28567            egress_filter=d.get('egress_filter'),
28568            healthy=d.get('healthy'),
28569            hostname=d.get('hostname'),
28570            id=d.get('id'),
28571            name=d.get('name'),
28572            password=d.get('password'),
28573            port_override=d.get('port_override'),
28574            proxy_cluster_id=d.get('proxy_cluster_id'),
28575            schema=d.get('schema'),
28576            secret_store_id=d.get('secret_store_id'),
28577            subdomain=d.get('subdomain'),
28578            tags=d.get('tags'),
28579            username=d.get('username'),
28580        )
class Snowsight:
28583class Snowsight:
28584    __slots__ = [
28585        'bind_interface',
28586        'egress_filter',
28587        'healthcheck_username',
28588        'healthy',
28589        'id',
28590        'name',
28591        'port_override',
28592        'proxy_cluster_id',
28593        'samlmetadata',
28594        'secret_store_id',
28595        'subdomain',
28596        'tags',
28597    ]
28598
28599    def __init__(
28600        self,
28601        bind_interface=None,
28602        egress_filter=None,
28603        healthcheck_username=None,
28604        healthy=None,
28605        id=None,
28606        name=None,
28607        port_override=None,
28608        proxy_cluster_id=None,
28609        samlmetadata=None,
28610        secret_store_id=None,
28611        subdomain=None,
28612        tags=None,
28613    ):
28614        self.bind_interface = bind_interface if bind_interface is not None else ''
28615        '''
28616         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28617        '''
28618        self.egress_filter = egress_filter if egress_filter is not None else ''
28619        '''
28620         A filter applied to the routing logic to pin datasource to nodes.
28621        '''
28622        self.healthcheck_username = healthcheck_username if healthcheck_username is not None else ''
28623        '''
28624         The StrongDM user email to use for healthchecks.
28625        '''
28626        self.healthy = healthy if healthy is not None else False
28627        '''
28628         True if the datasource is reachable and the credentials are valid.
28629        '''
28630        self.id = id if id is not None else ''
28631        '''
28632         Unique identifier of the Resource.
28633        '''
28634        self.name = name if name is not None else ''
28635        '''
28636         Unique human-readable name of the Resource.
28637        '''
28638        self.port_override = port_override if port_override is not None else 0
28639        '''
28640         The local port used by clients to connect to this resource.
28641        '''
28642        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28643        '''
28644         ID of the proxy cluster for this resource, if any.
28645        '''
28646        self.samlmetadata = samlmetadata if samlmetadata is not None else ''
28647        '''
28648         The Metadata for your snowflake IDP integration
28649        '''
28650        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28651        '''
28652         ID of the secret store containing credentials for this resource, if any.
28653        '''
28654        self.subdomain = subdomain if subdomain is not None else ''
28655        '''
28656         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
28657        '''
28658        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28659        '''
28660         Tags is a map of key, value pairs.
28661        '''
28662
28663    def __repr__(self):
28664        return '<sdm.Snowsight ' + \
28665            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
28666            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
28667            'healthcheck_username: ' + repr(self.healthcheck_username) + ' ' +\
28668            'healthy: ' + repr(self.healthy) + ' ' +\
28669            'id: ' + repr(self.id) + ' ' +\
28670            'name: ' + repr(self.name) + ' ' +\
28671            'port_override: ' + repr(self.port_override) + ' ' +\
28672            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
28673            'samlmetadata: ' + repr(self.samlmetadata) + ' ' +\
28674            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
28675            'subdomain: ' + repr(self.subdomain) + ' ' +\
28676            'tags: ' + repr(self.tags) + ' ' +\
28677            '>'
28678
28679    def to_dict(self):
28680        return {
28681            'bind_interface': self.bind_interface,
28682            'egress_filter': self.egress_filter,
28683            'healthcheck_username': self.healthcheck_username,
28684            'healthy': self.healthy,
28685            'id': self.id,
28686            'name': self.name,
28687            'port_override': self.port_override,
28688            'proxy_cluster_id': self.proxy_cluster_id,
28689            'samlmetadata': self.samlmetadata,
28690            'secret_store_id': self.secret_store_id,
28691            'subdomain': self.subdomain,
28692            'tags': self.tags,
28693        }
28694
28695    @classmethod
28696    def from_dict(cls, d):
28697        return cls(
28698            bind_interface=d.get('bind_interface'),
28699            egress_filter=d.get('egress_filter'),
28700            healthcheck_username=d.get('healthcheck_username'),
28701            healthy=d.get('healthy'),
28702            id=d.get('id'),
28703            name=d.get('name'),
28704            port_override=d.get('port_override'),
28705            proxy_cluster_id=d.get('proxy_cluster_id'),
28706            samlmetadata=d.get('samlmetadata'),
28707            secret_store_id=d.get('secret_store_id'),
28708            subdomain=d.get('subdomain'),
28709            tags=d.get('tags'),
28710        )
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)
28599    def __init__(
28600        self,
28601        bind_interface=None,
28602        egress_filter=None,
28603        healthcheck_username=None,
28604        healthy=None,
28605        id=None,
28606        name=None,
28607        port_override=None,
28608        proxy_cluster_id=None,
28609        samlmetadata=None,
28610        secret_store_id=None,
28611        subdomain=None,
28612        tags=None,
28613    ):
28614        self.bind_interface = bind_interface if bind_interface is not None else ''
28615        '''
28616         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28617        '''
28618        self.egress_filter = egress_filter if egress_filter is not None else ''
28619        '''
28620         A filter applied to the routing logic to pin datasource to nodes.
28621        '''
28622        self.healthcheck_username = healthcheck_username if healthcheck_username is not None else ''
28623        '''
28624         The StrongDM user email to use for healthchecks.
28625        '''
28626        self.healthy = healthy if healthy is not None else False
28627        '''
28628         True if the datasource is reachable and the credentials are valid.
28629        '''
28630        self.id = id if id is not None else ''
28631        '''
28632         Unique identifier of the Resource.
28633        '''
28634        self.name = name if name is not None else ''
28635        '''
28636         Unique human-readable name of the Resource.
28637        '''
28638        self.port_override = port_override if port_override is not None else 0
28639        '''
28640         The local port used by clients to connect to this resource.
28641        '''
28642        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28643        '''
28644         ID of the proxy cluster for this resource, if any.
28645        '''
28646        self.samlmetadata = samlmetadata if samlmetadata is not None else ''
28647        '''
28648         The Metadata for your snowflake IDP integration
28649        '''
28650        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28651        '''
28652         ID of the secret store containing credentials for this resource, if any.
28653        '''
28654        self.subdomain = subdomain if subdomain is not None else ''
28655        '''
28656         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
28657        '''
28658        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28659        '''
28660         Tags is a map of key, value pairs.
28661        '''
bind_interface

The bind interface is the IP 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)
28679    def to_dict(self):
28680        return {
28681            'bind_interface': self.bind_interface,
28682            'egress_filter': self.egress_filter,
28683            'healthcheck_username': self.healthcheck_username,
28684            'healthy': self.healthy,
28685            'id': self.id,
28686            'name': self.name,
28687            'port_override': self.port_override,
28688            'proxy_cluster_id': self.proxy_cluster_id,
28689            'samlmetadata': self.samlmetadata,
28690            'secret_store_id': self.secret_store_id,
28691            'subdomain': self.subdomain,
28692            'tags': self.tags,
28693        }
@classmethod
def from_dict(cls, d)
28695    @classmethod
28696    def from_dict(cls, d):
28697        return cls(
28698            bind_interface=d.get('bind_interface'),
28699            egress_filter=d.get('egress_filter'),
28700            healthcheck_username=d.get('healthcheck_username'),
28701            healthy=d.get('healthy'),
28702            id=d.get('id'),
28703            name=d.get('name'),
28704            port_override=d.get('port_override'),
28705            proxy_cluster_id=d.get('proxy_cluster_id'),
28706            samlmetadata=d.get('samlmetadata'),
28707            secret_store_id=d.get('secret_store_id'),
28708            subdomain=d.get('subdomain'),
28709            tags=d.get('tags'),
28710        )
class Sybase:
28713class Sybase:
28714    __slots__ = [
28715        'bind_interface',
28716        'egress_filter',
28717        'healthy',
28718        'hostname',
28719        'id',
28720        'name',
28721        'password',
28722        'port',
28723        'port_override',
28724        'proxy_cluster_id',
28725        'secret_store_id',
28726        'subdomain',
28727        'tags',
28728        'username',
28729    ]
28730
28731    def __init__(
28732        self,
28733        bind_interface=None,
28734        egress_filter=None,
28735        healthy=None,
28736        hostname=None,
28737        id=None,
28738        name=None,
28739        password=None,
28740        port=None,
28741        port_override=None,
28742        proxy_cluster_id=None,
28743        secret_store_id=None,
28744        subdomain=None,
28745        tags=None,
28746        username=None,
28747    ):
28748        self.bind_interface = bind_interface if bind_interface is not None else ''
28749        '''
28750         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28751        '''
28752        self.egress_filter = egress_filter if egress_filter is not None else ''
28753        '''
28754         A filter applied to the routing logic to pin datasource to nodes.
28755        '''
28756        self.healthy = healthy if healthy is not None else False
28757        '''
28758         True if the datasource is reachable and the credentials are valid.
28759        '''
28760        self.hostname = hostname if hostname is not None else ''
28761        '''
28762         The host to dial to initiate a connection from the egress node to this resource.
28763        '''
28764        self.id = id if id is not None else ''
28765        '''
28766         Unique identifier of the Resource.
28767        '''
28768        self.name = name if name is not None else ''
28769        '''
28770         Unique human-readable name of the Resource.
28771        '''
28772        self.password = password if password is not None else ''
28773        '''
28774         The password to authenticate with.
28775        '''
28776        self.port = port if port is not None else 0
28777        '''
28778         The port to dial to initiate a connection from the egress node to this resource.
28779        '''
28780        self.port_override = port_override if port_override is not None else 0
28781        '''
28782         The local port used by clients to connect to this resource.
28783        '''
28784        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28785        '''
28786         ID of the proxy cluster for this resource, if any.
28787        '''
28788        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28789        '''
28790         ID of the secret store containing credentials for this resource, if any.
28791        '''
28792        self.subdomain = subdomain if subdomain is not None else ''
28793        '''
28794         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
28795        '''
28796        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28797        '''
28798         Tags is a map of key, value pairs.
28799        '''
28800        self.username = username if username is not None else ''
28801        '''
28802         The username to authenticate with.
28803        '''
28804
28805    def __repr__(self):
28806        return '<sdm.Sybase ' + \
28807            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
28808            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
28809            'healthy: ' + repr(self.healthy) + ' ' +\
28810            'hostname: ' + repr(self.hostname) + ' ' +\
28811            'id: ' + repr(self.id) + ' ' +\
28812            'name: ' + repr(self.name) + ' ' +\
28813            'password: ' + repr(self.password) + ' ' +\
28814            'port: ' + repr(self.port) + ' ' +\
28815            'port_override: ' + repr(self.port_override) + ' ' +\
28816            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
28817            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
28818            'subdomain: ' + repr(self.subdomain) + ' ' +\
28819            'tags: ' + repr(self.tags) + ' ' +\
28820            'username: ' + repr(self.username) + ' ' +\
28821            '>'
28822
28823    def to_dict(self):
28824        return {
28825            'bind_interface': self.bind_interface,
28826            'egress_filter': self.egress_filter,
28827            'healthy': self.healthy,
28828            'hostname': self.hostname,
28829            'id': self.id,
28830            'name': self.name,
28831            'password': self.password,
28832            'port': self.port,
28833            'port_override': self.port_override,
28834            'proxy_cluster_id': self.proxy_cluster_id,
28835            'secret_store_id': self.secret_store_id,
28836            'subdomain': self.subdomain,
28837            'tags': self.tags,
28838            'username': self.username,
28839        }
28840
28841    @classmethod
28842    def from_dict(cls, d):
28843        return cls(
28844            bind_interface=d.get('bind_interface'),
28845            egress_filter=d.get('egress_filter'),
28846            healthy=d.get('healthy'),
28847            hostname=d.get('hostname'),
28848            id=d.get('id'),
28849            name=d.get('name'),
28850            password=d.get('password'),
28851            port=d.get('port'),
28852            port_override=d.get('port_override'),
28853            proxy_cluster_id=d.get('proxy_cluster_id'),
28854            secret_store_id=d.get('secret_store_id'),
28855            subdomain=d.get('subdomain'),
28856            tags=d.get('tags'),
28857            username=d.get('username'),
28858        )
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)
28731    def __init__(
28732        self,
28733        bind_interface=None,
28734        egress_filter=None,
28735        healthy=None,
28736        hostname=None,
28737        id=None,
28738        name=None,
28739        password=None,
28740        port=None,
28741        port_override=None,
28742        proxy_cluster_id=None,
28743        secret_store_id=None,
28744        subdomain=None,
28745        tags=None,
28746        username=None,
28747    ):
28748        self.bind_interface = bind_interface if bind_interface is not None else ''
28749        '''
28750         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28751        '''
28752        self.egress_filter = egress_filter if egress_filter is not None else ''
28753        '''
28754         A filter applied to the routing logic to pin datasource to nodes.
28755        '''
28756        self.healthy = healthy if healthy is not None else False
28757        '''
28758         True if the datasource is reachable and the credentials are valid.
28759        '''
28760        self.hostname = hostname if hostname is not None else ''
28761        '''
28762         The host to dial to initiate a connection from the egress node to this resource.
28763        '''
28764        self.id = id if id is not None else ''
28765        '''
28766         Unique identifier of the Resource.
28767        '''
28768        self.name = name if name is not None else ''
28769        '''
28770         Unique human-readable name of the Resource.
28771        '''
28772        self.password = password if password is not None else ''
28773        '''
28774         The password to authenticate with.
28775        '''
28776        self.port = port if port is not None else 0
28777        '''
28778         The port to dial to initiate a connection from the egress node to this resource.
28779        '''
28780        self.port_override = port_override if port_override is not None else 0
28781        '''
28782         The local port used by clients to connect to this resource.
28783        '''
28784        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28785        '''
28786         ID of the proxy cluster for this resource, if any.
28787        '''
28788        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28789        '''
28790         ID of the secret store containing credentials for this resource, if any.
28791        '''
28792        self.subdomain = subdomain if subdomain is not None else ''
28793        '''
28794         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
28795        '''
28796        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28797        '''
28798         Tags is a map of key, value pairs.
28799        '''
28800        self.username = username if username is not None else ''
28801        '''
28802         The username to authenticate with.
28803        '''
bind_interface

The bind interface is the IP 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)
28823    def to_dict(self):
28824        return {
28825            'bind_interface': self.bind_interface,
28826            'egress_filter': self.egress_filter,
28827            'healthy': self.healthy,
28828            'hostname': self.hostname,
28829            'id': self.id,
28830            'name': self.name,
28831            'password': self.password,
28832            'port': self.port,
28833            'port_override': self.port_override,
28834            'proxy_cluster_id': self.proxy_cluster_id,
28835            'secret_store_id': self.secret_store_id,
28836            'subdomain': self.subdomain,
28837            'tags': self.tags,
28838            'username': self.username,
28839        }
@classmethod
def from_dict(cls, d)
28841    @classmethod
28842    def from_dict(cls, d):
28843        return cls(
28844            bind_interface=d.get('bind_interface'),
28845            egress_filter=d.get('egress_filter'),
28846            healthy=d.get('healthy'),
28847            hostname=d.get('hostname'),
28848            id=d.get('id'),
28849            name=d.get('name'),
28850            password=d.get('password'),
28851            port=d.get('port'),
28852            port_override=d.get('port_override'),
28853            proxy_cluster_id=d.get('proxy_cluster_id'),
28854            secret_store_id=d.get('secret_store_id'),
28855            subdomain=d.get('subdomain'),
28856            tags=d.get('tags'),
28857            username=d.get('username'),
28858        )
class SybaseIQ:
28861class SybaseIQ:
28862    __slots__ = [
28863        'bind_interface',
28864        'egress_filter',
28865        'healthy',
28866        'hostname',
28867        'id',
28868        'name',
28869        'password',
28870        'port',
28871        'port_override',
28872        'proxy_cluster_id',
28873        'secret_store_id',
28874        'subdomain',
28875        'tags',
28876        'username',
28877    ]
28878
28879    def __init__(
28880        self,
28881        bind_interface=None,
28882        egress_filter=None,
28883        healthy=None,
28884        hostname=None,
28885        id=None,
28886        name=None,
28887        password=None,
28888        port=None,
28889        port_override=None,
28890        proxy_cluster_id=None,
28891        secret_store_id=None,
28892        subdomain=None,
28893        tags=None,
28894        username=None,
28895    ):
28896        self.bind_interface = bind_interface if bind_interface is not None else ''
28897        '''
28898         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28899        '''
28900        self.egress_filter = egress_filter if egress_filter is not None else ''
28901        '''
28902         A filter applied to the routing logic to pin datasource to nodes.
28903        '''
28904        self.healthy = healthy if healthy is not None else False
28905        '''
28906         True if the datasource is reachable and the credentials are valid.
28907        '''
28908        self.hostname = hostname if hostname is not None else ''
28909        '''
28910         The host to dial to initiate a connection from the egress node to this resource.
28911        '''
28912        self.id = id if id is not None else ''
28913        '''
28914         Unique identifier of the Resource.
28915        '''
28916        self.name = name if name is not None else ''
28917        '''
28918         Unique human-readable name of the Resource.
28919        '''
28920        self.password = password if password is not None else ''
28921        '''
28922         The password to authenticate with.
28923        '''
28924        self.port = port if port is not None else 0
28925        '''
28926         The port to dial to initiate a connection from the egress node to this resource.
28927        '''
28928        self.port_override = port_override if port_override is not None else 0
28929        '''
28930         The local port used by clients to connect to this resource.
28931        '''
28932        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28933        '''
28934         ID of the proxy cluster for this resource, if any.
28935        '''
28936        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28937        '''
28938         ID of the secret store containing credentials for this resource, if any.
28939        '''
28940        self.subdomain = subdomain if subdomain is not None else ''
28941        '''
28942         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
28943        '''
28944        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28945        '''
28946         Tags is a map of key, value pairs.
28947        '''
28948        self.username = username if username is not None else ''
28949        '''
28950         The username to authenticate with.
28951        '''
28952
28953    def __repr__(self):
28954        return '<sdm.SybaseIQ ' + \
28955            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
28956            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
28957            'healthy: ' + repr(self.healthy) + ' ' +\
28958            'hostname: ' + repr(self.hostname) + ' ' +\
28959            'id: ' + repr(self.id) + ' ' +\
28960            'name: ' + repr(self.name) + ' ' +\
28961            'password: ' + repr(self.password) + ' ' +\
28962            'port: ' + repr(self.port) + ' ' +\
28963            'port_override: ' + repr(self.port_override) + ' ' +\
28964            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
28965            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
28966            'subdomain: ' + repr(self.subdomain) + ' ' +\
28967            'tags: ' + repr(self.tags) + ' ' +\
28968            'username: ' + repr(self.username) + ' ' +\
28969            '>'
28970
28971    def to_dict(self):
28972        return {
28973            'bind_interface': self.bind_interface,
28974            'egress_filter': self.egress_filter,
28975            'healthy': self.healthy,
28976            'hostname': self.hostname,
28977            'id': self.id,
28978            'name': self.name,
28979            'password': self.password,
28980            'port': self.port,
28981            'port_override': self.port_override,
28982            'proxy_cluster_id': self.proxy_cluster_id,
28983            'secret_store_id': self.secret_store_id,
28984            'subdomain': self.subdomain,
28985            'tags': self.tags,
28986            'username': self.username,
28987        }
28988
28989    @classmethod
28990    def from_dict(cls, d):
28991        return cls(
28992            bind_interface=d.get('bind_interface'),
28993            egress_filter=d.get('egress_filter'),
28994            healthy=d.get('healthy'),
28995            hostname=d.get('hostname'),
28996            id=d.get('id'),
28997            name=d.get('name'),
28998            password=d.get('password'),
28999            port=d.get('port'),
29000            port_override=d.get('port_override'),
29001            proxy_cluster_id=d.get('proxy_cluster_id'),
29002            secret_store_id=d.get('secret_store_id'),
29003            subdomain=d.get('subdomain'),
29004            tags=d.get('tags'),
29005            username=d.get('username'),
29006        )
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)
28879    def __init__(
28880        self,
28881        bind_interface=None,
28882        egress_filter=None,
28883        healthy=None,
28884        hostname=None,
28885        id=None,
28886        name=None,
28887        password=None,
28888        port=None,
28889        port_override=None,
28890        proxy_cluster_id=None,
28891        secret_store_id=None,
28892        subdomain=None,
28893        tags=None,
28894        username=None,
28895    ):
28896        self.bind_interface = bind_interface if bind_interface is not None else ''
28897        '''
28898         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28899        '''
28900        self.egress_filter = egress_filter if egress_filter is not None else ''
28901        '''
28902         A filter applied to the routing logic to pin datasource to nodes.
28903        '''
28904        self.healthy = healthy if healthy is not None else False
28905        '''
28906         True if the datasource is reachable and the credentials are valid.
28907        '''
28908        self.hostname = hostname if hostname is not None else ''
28909        '''
28910         The host to dial to initiate a connection from the egress node to this resource.
28911        '''
28912        self.id = id if id is not None else ''
28913        '''
28914         Unique identifier of the Resource.
28915        '''
28916        self.name = name if name is not None else ''
28917        '''
28918         Unique human-readable name of the Resource.
28919        '''
28920        self.password = password if password is not None else ''
28921        '''
28922         The password to authenticate with.
28923        '''
28924        self.port = port if port is not None else 0
28925        '''
28926         The port to dial to initiate a connection from the egress node to this resource.
28927        '''
28928        self.port_override = port_override if port_override is not None else 0
28929        '''
28930         The local port used by clients to connect to this resource.
28931        '''
28932        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28933        '''
28934         ID of the proxy cluster for this resource, if any.
28935        '''
28936        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28937        '''
28938         ID of the secret store containing credentials for this resource, if any.
28939        '''
28940        self.subdomain = subdomain if subdomain is not None else ''
28941        '''
28942         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
28943        '''
28944        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28945        '''
28946         Tags is a map of key, value pairs.
28947        '''
28948        self.username = username if username is not None else ''
28949        '''
28950         The username to authenticate with.
28951        '''
bind_interface

The bind interface is the IP 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)
28971    def to_dict(self):
28972        return {
28973            'bind_interface': self.bind_interface,
28974            'egress_filter': self.egress_filter,
28975            'healthy': self.healthy,
28976            'hostname': self.hostname,
28977            'id': self.id,
28978            'name': self.name,
28979            'password': self.password,
28980            'port': self.port,
28981            'port_override': self.port_override,
28982            'proxy_cluster_id': self.proxy_cluster_id,
28983            'secret_store_id': self.secret_store_id,
28984            'subdomain': self.subdomain,
28985            'tags': self.tags,
28986            'username': self.username,
28987        }
@classmethod
def from_dict(cls, d)
28989    @classmethod
28990    def from_dict(cls, d):
28991        return cls(
28992            bind_interface=d.get('bind_interface'),
28993            egress_filter=d.get('egress_filter'),
28994            healthy=d.get('healthy'),
28995            hostname=d.get('hostname'),
28996            id=d.get('id'),
28997            name=d.get('name'),
28998            password=d.get('password'),
28999            port=d.get('port'),
29000            port_override=d.get('port_override'),
29001            proxy_cluster_id=d.get('proxy_cluster_id'),
29002            secret_store_id=d.get('secret_store_id'),
29003            subdomain=d.get('subdomain'),
29004            tags=d.get('tags'),
29005            username=d.get('username'),
29006        )
class Tag:
29009class Tag:
29010    __slots__ = [
29011        'name',
29012        'value',
29013    ]
29014
29015    def __init__(
29016        self,
29017        name=None,
29018        value=None,
29019    ):
29020        self.name = name if name is not None else ''
29021        '''
29022         The name or key of this tag. Each name can only refer to one value on a tagged entity.
29023        '''
29024        self.value = value if value is not None else ''
29025        '''
29026         The value of this tag.
29027        '''
29028
29029    def __repr__(self):
29030        return '<sdm.Tag ' + \
29031            'name: ' + repr(self.name) + ' ' +\
29032            'value: ' + repr(self.value) + ' ' +\
29033            '>'
29034
29035    def to_dict(self):
29036        return {
29037            'name': self.name,
29038            'value': self.value,
29039        }
29040
29041    @classmethod
29042    def from_dict(cls, d):
29043        return cls(
29044            name=d.get('name'),
29045            value=d.get('value'),
29046        )
Tag(name=None, value=None)
29015    def __init__(
29016        self,
29017        name=None,
29018        value=None,
29019    ):
29020        self.name = name if name is not None else ''
29021        '''
29022         The name or key of this tag. Each name can only refer to one value on a tagged entity.
29023        '''
29024        self.value = value if value is not None else ''
29025        '''
29026         The value of this tag.
29027        '''
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)
29035    def to_dict(self):
29036        return {
29037            'name': self.name,
29038            'value': self.value,
29039        }
@classmethod
def from_dict(cls, d)
29041    @classmethod
29042    def from_dict(cls, d):
29043        return cls(
29044            name=d.get('name'),
29045            value=d.get('value'),
29046        )
class Teradata:
29049class Teradata:
29050    __slots__ = [
29051        'bind_interface',
29052        'egress_filter',
29053        'healthy',
29054        'hostname',
29055        'id',
29056        'name',
29057        'password',
29058        'port',
29059        'port_override',
29060        'proxy_cluster_id',
29061        'secret_store_id',
29062        'subdomain',
29063        'tags',
29064        'username',
29065    ]
29066
29067    def __init__(
29068        self,
29069        bind_interface=None,
29070        egress_filter=None,
29071        healthy=None,
29072        hostname=None,
29073        id=None,
29074        name=None,
29075        password=None,
29076        port=None,
29077        port_override=None,
29078        proxy_cluster_id=None,
29079        secret_store_id=None,
29080        subdomain=None,
29081        tags=None,
29082        username=None,
29083    ):
29084        self.bind_interface = bind_interface if bind_interface is not None else ''
29085        '''
29086         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
29087        '''
29088        self.egress_filter = egress_filter if egress_filter is not None else ''
29089        '''
29090         A filter applied to the routing logic to pin datasource to nodes.
29091        '''
29092        self.healthy = healthy if healthy is not None else False
29093        '''
29094         True if the datasource is reachable and the credentials are valid.
29095        '''
29096        self.hostname = hostname if hostname is not None else ''
29097        '''
29098         The host to dial to initiate a connection from the egress node to this resource.
29099        '''
29100        self.id = id if id is not None else ''
29101        '''
29102         Unique identifier of the Resource.
29103        '''
29104        self.name = name if name is not None else ''
29105        '''
29106         Unique human-readable name of the Resource.
29107        '''
29108        self.password = password if password is not None else ''
29109        '''
29110         The password to authenticate with.
29111        '''
29112        self.port = port if port is not None else 0
29113        '''
29114         The port to dial to initiate a connection from the egress node to this resource.
29115        '''
29116        self.port_override = port_override if port_override is not None else 0
29117        '''
29118         The local port used by clients to connect to this resource.
29119        '''
29120        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29121        '''
29122         ID of the proxy cluster for this resource, if any.
29123        '''
29124        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29125        '''
29126         ID of the secret store containing credentials for this resource, if any.
29127        '''
29128        self.subdomain = subdomain if subdomain is not None else ''
29129        '''
29130         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
29131        '''
29132        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29133        '''
29134         Tags is a map of key, value pairs.
29135        '''
29136        self.username = username if username is not None else ''
29137        '''
29138         The username to authenticate with.
29139        '''
29140
29141    def __repr__(self):
29142        return '<sdm.Teradata ' + \
29143            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29144            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29145            'healthy: ' + repr(self.healthy) + ' ' +\
29146            'hostname: ' + repr(self.hostname) + ' ' +\
29147            'id: ' + repr(self.id) + ' ' +\
29148            'name: ' + repr(self.name) + ' ' +\
29149            'password: ' + repr(self.password) + ' ' +\
29150            'port: ' + repr(self.port) + ' ' +\
29151            'port_override: ' + repr(self.port_override) + ' ' +\
29152            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29153            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29154            'subdomain: ' + repr(self.subdomain) + ' ' +\
29155            'tags: ' + repr(self.tags) + ' ' +\
29156            'username: ' + repr(self.username) + ' ' +\
29157            '>'
29158
29159    def to_dict(self):
29160        return {
29161            'bind_interface': self.bind_interface,
29162            'egress_filter': self.egress_filter,
29163            'healthy': self.healthy,
29164            'hostname': self.hostname,
29165            'id': self.id,
29166            'name': self.name,
29167            'password': self.password,
29168            'port': self.port,
29169            'port_override': self.port_override,
29170            'proxy_cluster_id': self.proxy_cluster_id,
29171            'secret_store_id': self.secret_store_id,
29172            'subdomain': self.subdomain,
29173            'tags': self.tags,
29174            'username': self.username,
29175        }
29176
29177    @classmethod
29178    def from_dict(cls, d):
29179        return cls(
29180            bind_interface=d.get('bind_interface'),
29181            egress_filter=d.get('egress_filter'),
29182            healthy=d.get('healthy'),
29183            hostname=d.get('hostname'),
29184            id=d.get('id'),
29185            name=d.get('name'),
29186            password=d.get('password'),
29187            port=d.get('port'),
29188            port_override=d.get('port_override'),
29189            proxy_cluster_id=d.get('proxy_cluster_id'),
29190            secret_store_id=d.get('secret_store_id'),
29191            subdomain=d.get('subdomain'),
29192            tags=d.get('tags'),
29193            username=d.get('username'),
29194        )
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)
29067    def __init__(
29068        self,
29069        bind_interface=None,
29070        egress_filter=None,
29071        healthy=None,
29072        hostname=None,
29073        id=None,
29074        name=None,
29075        password=None,
29076        port=None,
29077        port_override=None,
29078        proxy_cluster_id=None,
29079        secret_store_id=None,
29080        subdomain=None,
29081        tags=None,
29082        username=None,
29083    ):
29084        self.bind_interface = bind_interface if bind_interface is not None else ''
29085        '''
29086         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
29087        '''
29088        self.egress_filter = egress_filter if egress_filter is not None else ''
29089        '''
29090         A filter applied to the routing logic to pin datasource to nodes.
29091        '''
29092        self.healthy = healthy if healthy is not None else False
29093        '''
29094         True if the datasource is reachable and the credentials are valid.
29095        '''
29096        self.hostname = hostname if hostname is not None else ''
29097        '''
29098         The host to dial to initiate a connection from the egress node to this resource.
29099        '''
29100        self.id = id if id is not None else ''
29101        '''
29102         Unique identifier of the Resource.
29103        '''
29104        self.name = name if name is not None else ''
29105        '''
29106         Unique human-readable name of the Resource.
29107        '''
29108        self.password = password if password is not None else ''
29109        '''
29110         The password to authenticate with.
29111        '''
29112        self.port = port if port is not None else 0
29113        '''
29114         The port to dial to initiate a connection from the egress node to this resource.
29115        '''
29116        self.port_override = port_override if port_override is not None else 0
29117        '''
29118         The local port used by clients to connect to this resource.
29119        '''
29120        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29121        '''
29122         ID of the proxy cluster for this resource, if any.
29123        '''
29124        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29125        '''
29126         ID of the secret store containing credentials for this resource, if any.
29127        '''
29128        self.subdomain = subdomain if subdomain is not None else ''
29129        '''
29130         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
29131        '''
29132        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29133        '''
29134         Tags is a map of key, value pairs.
29135        '''
29136        self.username = username if username is not None else ''
29137        '''
29138         The username to authenticate with.
29139        '''
bind_interface

The bind interface is the IP 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)
29159    def to_dict(self):
29160        return {
29161            'bind_interface': self.bind_interface,
29162            'egress_filter': self.egress_filter,
29163            'healthy': self.healthy,
29164            'hostname': self.hostname,
29165            'id': self.id,
29166            'name': self.name,
29167            'password': self.password,
29168            'port': self.port,
29169            'port_override': self.port_override,
29170            'proxy_cluster_id': self.proxy_cluster_id,
29171            'secret_store_id': self.secret_store_id,
29172            'subdomain': self.subdomain,
29173            'tags': self.tags,
29174            'username': self.username,
29175        }
@classmethod
def from_dict(cls, d)
29177    @classmethod
29178    def from_dict(cls, d):
29179        return cls(
29180            bind_interface=d.get('bind_interface'),
29181            egress_filter=d.get('egress_filter'),
29182            healthy=d.get('healthy'),
29183            hostname=d.get('hostname'),
29184            id=d.get('id'),
29185            name=d.get('name'),
29186            password=d.get('password'),
29187            port=d.get('port'),
29188            port_override=d.get('port_override'),
29189            proxy_cluster_id=d.get('proxy_cluster_id'),
29190            secret_store_id=d.get('secret_store_id'),
29191            subdomain=d.get('subdomain'),
29192            tags=d.get('tags'),
29193            username=d.get('username'),
29194        )
class Token:
29197class Token:
29198    '''
29199         A Token is an account providing tokenized access for automation or integration use.
29200     Tokens include admin tokens, API keys, and SCIM tokens.
29201    '''
29202    __slots__ = [
29203        'account_type',
29204        'deadline',
29205        'duration',
29206        'id',
29207        'name',
29208        'permissions',
29209        'rekeyed',
29210        'suspended',
29211        'tags',
29212    ]
29213
29214    def __init__(
29215        self,
29216        account_type=None,
29217        deadline=None,
29218        duration=None,
29219        id=None,
29220        name=None,
29221        permissions=None,
29222        rekeyed=None,
29223        suspended=None,
29224        tags=None,
29225    ):
29226        self.account_type = account_type if account_type is not None else ''
29227        '''
29228         Corresponds to the type of token, e.g. api or admin-token.
29229        '''
29230        self.deadline = deadline if deadline is not None else None
29231        '''
29232         The timestamp when the Token will expire.
29233        '''
29234        self.duration = duration if duration is not None else None
29235        '''
29236         Duration from token creation to expiration.
29237        '''
29238        self.id = id if id is not None else ''
29239        '''
29240         Unique identifier of the Token.
29241        '''
29242        self.name = name if name is not None else ''
29243        '''
29244         Unique human-readable name of the Token.
29245        '''
29246        self.permissions = permissions if permissions is not None else []
29247        '''
29248         Permissions assigned to the token, e.g. role:create.
29249        '''
29250        self.rekeyed = rekeyed if rekeyed is not None else None
29251        '''
29252         The timestamp when the Token was last rekeyed.
29253        '''
29254        self.suspended = suspended if suspended is not None else False
29255        '''
29256         Reserved for future use.  Always false for tokens.
29257        '''
29258        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29259        '''
29260         Tags is a map of key, value pairs.
29261        '''
29262
29263    def __repr__(self):
29264        return '<sdm.Token ' + \
29265            'account_type: ' + repr(self.account_type) + ' ' +\
29266            'deadline: ' + repr(self.deadline) + ' ' +\
29267            'duration: ' + repr(self.duration) + ' ' +\
29268            'id: ' + repr(self.id) + ' ' +\
29269            'name: ' + repr(self.name) + ' ' +\
29270            'permissions: ' + repr(self.permissions) + ' ' +\
29271            'rekeyed: ' + repr(self.rekeyed) + ' ' +\
29272            'suspended: ' + repr(self.suspended) + ' ' +\
29273            'tags: ' + repr(self.tags) + ' ' +\
29274            '>'
29275
29276    def to_dict(self):
29277        return {
29278            'account_type': self.account_type,
29279            'deadline': self.deadline,
29280            'duration': self.duration,
29281            'id': self.id,
29282            'name': self.name,
29283            'permissions': self.permissions,
29284            'rekeyed': self.rekeyed,
29285            'suspended': self.suspended,
29286            'tags': self.tags,
29287        }
29288
29289    @classmethod
29290    def from_dict(cls, d):
29291        return cls(
29292            account_type=d.get('account_type'),
29293            deadline=d.get('deadline'),
29294            duration=d.get('duration'),
29295            id=d.get('id'),
29296            name=d.get('name'),
29297            permissions=d.get('permissions'),
29298            rekeyed=d.get('rekeyed'),
29299            suspended=d.get('suspended'),
29300            tags=d.get('tags'),
29301        )

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)
29214    def __init__(
29215        self,
29216        account_type=None,
29217        deadline=None,
29218        duration=None,
29219        id=None,
29220        name=None,
29221        permissions=None,
29222        rekeyed=None,
29223        suspended=None,
29224        tags=None,
29225    ):
29226        self.account_type = account_type if account_type is not None else ''
29227        '''
29228         Corresponds to the type of token, e.g. api or admin-token.
29229        '''
29230        self.deadline = deadline if deadline is not None else None
29231        '''
29232         The timestamp when the Token will expire.
29233        '''
29234        self.duration = duration if duration is not None else None
29235        '''
29236         Duration from token creation to expiration.
29237        '''
29238        self.id = id if id is not None else ''
29239        '''
29240         Unique identifier of the Token.
29241        '''
29242        self.name = name if name is not None else ''
29243        '''
29244         Unique human-readable name of the Token.
29245        '''
29246        self.permissions = permissions if permissions is not None else []
29247        '''
29248         Permissions assigned to the token, e.g. role:create.
29249        '''
29250        self.rekeyed = rekeyed if rekeyed is not None else None
29251        '''
29252         The timestamp when the Token was last rekeyed.
29253        '''
29254        self.suspended = suspended if suspended is not None else False
29255        '''
29256         Reserved for future use.  Always false for tokens.
29257        '''
29258        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29259        '''
29260         Tags is a map of key, value pairs.
29261        '''
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)
29276    def to_dict(self):
29277        return {
29278            'account_type': self.account_type,
29279            'deadline': self.deadline,
29280            'duration': self.duration,
29281            'id': self.id,
29282            'name': self.name,
29283            'permissions': self.permissions,
29284            'rekeyed': self.rekeyed,
29285            'suspended': self.suspended,
29286            'tags': self.tags,
29287        }
@classmethod
def from_dict(cls, d)
29289    @classmethod
29290    def from_dict(cls, d):
29291        return cls(
29292            account_type=d.get('account_type'),
29293            deadline=d.get('deadline'),
29294            duration=d.get('duration'),
29295            id=d.get('id'),
29296            name=d.get('name'),
29297            permissions=d.get('permissions'),
29298            rekeyed=d.get('rekeyed'),
29299            suspended=d.get('suspended'),
29300            tags=d.get('tags'),
29301        )
class Trino:
29304class Trino:
29305    '''
29306    Trino is currently unstable, and its API may change, or it may be removed,
29307    without a major version bump.
29308    '''
29309    __slots__ = [
29310        'bind_interface',
29311        'egress_filter',
29312        'healthy',
29313        'hostname',
29314        'id',
29315        'name',
29316        'password',
29317        'port',
29318        'port_override',
29319        'proxy_cluster_id',
29320        'secret_store_id',
29321        'subdomain',
29322        'tags',
29323        'username',
29324    ]
29325
29326    def __init__(
29327        self,
29328        bind_interface=None,
29329        egress_filter=None,
29330        healthy=None,
29331        hostname=None,
29332        id=None,
29333        name=None,
29334        password=None,
29335        port=None,
29336        port_override=None,
29337        proxy_cluster_id=None,
29338        secret_store_id=None,
29339        subdomain=None,
29340        tags=None,
29341        username=None,
29342    ):
29343        self.bind_interface = bind_interface if bind_interface is not None else ''
29344        '''
29345         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
29346        '''
29347        self.egress_filter = egress_filter if egress_filter is not None else ''
29348        '''
29349         A filter applied to the routing logic to pin datasource to nodes.
29350        '''
29351        self.healthy = healthy if healthy is not None else False
29352        '''
29353         True if the datasource is reachable and the credentials are valid.
29354        '''
29355        self.hostname = hostname if hostname is not None else ''
29356        '''
29357         The host to dial to initiate a connection from the egress node to this resource.
29358        '''
29359        self.id = id if id is not None else ''
29360        '''
29361         Unique identifier of the Resource.
29362        '''
29363        self.name = name if name is not None else ''
29364        '''
29365         Unique human-readable name of the Resource.
29366        '''
29367        self.password = password if password is not None else ''
29368        '''
29369         The password to authenticate with.
29370        '''
29371        self.port = port if port is not None else 0
29372        '''
29373         The port to dial to initiate a connection from the egress node to this resource.
29374        '''
29375        self.port_override = port_override if port_override is not None else 0
29376        '''
29377         The local port used by clients to connect to this resource.
29378        '''
29379        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29380        '''
29381         ID of the proxy cluster for this resource, if any.
29382        '''
29383        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29384        '''
29385         ID of the secret store containing credentials for this resource, if any.
29386        '''
29387        self.subdomain = subdomain if subdomain is not None else ''
29388        '''
29389         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
29390        '''
29391        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29392        '''
29393         Tags is a map of key, value pairs.
29394        '''
29395        self.username = username if username is not None else ''
29396        '''
29397         The username to authenticate with.
29398        '''
29399
29400    def __repr__(self):
29401        return '<sdm.Trino ' + \
29402            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29403            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29404            'healthy: ' + repr(self.healthy) + ' ' +\
29405            'hostname: ' + repr(self.hostname) + ' ' +\
29406            'id: ' + repr(self.id) + ' ' +\
29407            'name: ' + repr(self.name) + ' ' +\
29408            'password: ' + repr(self.password) + ' ' +\
29409            'port: ' + repr(self.port) + ' ' +\
29410            'port_override: ' + repr(self.port_override) + ' ' +\
29411            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29412            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29413            'subdomain: ' + repr(self.subdomain) + ' ' +\
29414            'tags: ' + repr(self.tags) + ' ' +\
29415            'username: ' + repr(self.username) + ' ' +\
29416            '>'
29417
29418    def to_dict(self):
29419        return {
29420            'bind_interface': self.bind_interface,
29421            'egress_filter': self.egress_filter,
29422            'healthy': self.healthy,
29423            'hostname': self.hostname,
29424            'id': self.id,
29425            'name': self.name,
29426            'password': self.password,
29427            'port': self.port,
29428            'port_override': self.port_override,
29429            'proxy_cluster_id': self.proxy_cluster_id,
29430            'secret_store_id': self.secret_store_id,
29431            'subdomain': self.subdomain,
29432            'tags': self.tags,
29433            'username': self.username,
29434        }
29435
29436    @classmethod
29437    def from_dict(cls, d):
29438        return cls(
29439            bind_interface=d.get('bind_interface'),
29440            egress_filter=d.get('egress_filter'),
29441            healthy=d.get('healthy'),
29442            hostname=d.get('hostname'),
29443            id=d.get('id'),
29444            name=d.get('name'),
29445            password=d.get('password'),
29446            port=d.get('port'),
29447            port_override=d.get('port_override'),
29448            proxy_cluster_id=d.get('proxy_cluster_id'),
29449            secret_store_id=d.get('secret_store_id'),
29450            subdomain=d.get('subdomain'),
29451            tags=d.get('tags'),
29452            username=d.get('username'),
29453        )

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

Trino( bind_interface=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, username=None)
29326    def __init__(
29327        self,
29328        bind_interface=None,
29329        egress_filter=None,
29330        healthy=None,
29331        hostname=None,
29332        id=None,
29333        name=None,
29334        password=None,
29335        port=None,
29336        port_override=None,
29337        proxy_cluster_id=None,
29338        secret_store_id=None,
29339        subdomain=None,
29340        tags=None,
29341        username=None,
29342    ):
29343        self.bind_interface = bind_interface if bind_interface is not None else ''
29344        '''
29345         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
29346        '''
29347        self.egress_filter = egress_filter if egress_filter is not None else ''
29348        '''
29349         A filter applied to the routing logic to pin datasource to nodes.
29350        '''
29351        self.healthy = healthy if healthy is not None else False
29352        '''
29353         True if the datasource is reachable and the credentials are valid.
29354        '''
29355        self.hostname = hostname if hostname is not None else ''
29356        '''
29357         The host to dial to initiate a connection from the egress node to this resource.
29358        '''
29359        self.id = id if id is not None else ''
29360        '''
29361         Unique identifier of the Resource.
29362        '''
29363        self.name = name if name is not None else ''
29364        '''
29365         Unique human-readable name of the Resource.
29366        '''
29367        self.password = password if password is not None else ''
29368        '''
29369         The password to authenticate with.
29370        '''
29371        self.port = port if port is not None else 0
29372        '''
29373         The port to dial to initiate a connection from the egress node to this resource.
29374        '''
29375        self.port_override = port_override if port_override is not None else 0
29376        '''
29377         The local port used by clients to connect to this resource.
29378        '''
29379        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29380        '''
29381         ID of the proxy cluster for this resource, if any.
29382        '''
29383        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29384        '''
29385         ID of the secret store containing credentials for this resource, if any.
29386        '''
29387        self.subdomain = subdomain if subdomain is not None else ''
29388        '''
29389         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
29390        '''
29391        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29392        '''
29393         Tags is a map of key, value pairs.
29394        '''
29395        self.username = username if username is not None else ''
29396        '''
29397         The username to authenticate with.
29398        '''
bind_interface

The bind interface is the IP 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)
29418    def to_dict(self):
29419        return {
29420            'bind_interface': self.bind_interface,
29421            'egress_filter': self.egress_filter,
29422            'healthy': self.healthy,
29423            'hostname': self.hostname,
29424            'id': self.id,
29425            'name': self.name,
29426            'password': self.password,
29427            'port': self.port,
29428            'port_override': self.port_override,
29429            'proxy_cluster_id': self.proxy_cluster_id,
29430            'secret_store_id': self.secret_store_id,
29431            'subdomain': self.subdomain,
29432            'tags': self.tags,
29433            'username': self.username,
29434        }
@classmethod
def from_dict(cls, d)
29436    @classmethod
29437    def from_dict(cls, d):
29438        return cls(
29439            bind_interface=d.get('bind_interface'),
29440            egress_filter=d.get('egress_filter'),
29441            healthy=d.get('healthy'),
29442            hostname=d.get('hostname'),
29443            id=d.get('id'),
29444            name=d.get('name'),
29445            password=d.get('password'),
29446            port=d.get('port'),
29447            port_override=d.get('port_override'),
29448            proxy_cluster_id=d.get('proxy_cluster_id'),
29449            secret_store_id=d.get('secret_store_id'),
29450            subdomain=d.get('subdomain'),
29451            tags=d.get('tags'),
29452            username=d.get('username'),
29453        )
class UpdateResponseMetadata:
29456class UpdateResponseMetadata:
29457    '''
29458         UpdateResponseMetadata is reserved for future use.
29459    '''
29460    __slots__ = []
29461
29462    def __init__(self, ):
29463        pass
29464
29465    def __repr__(self):
29466        return '<sdm.UpdateResponseMetadata ' + \
29467            '>'
29468
29469    def to_dict(self):
29470        return {}
29471
29472    @classmethod
29473    def from_dict(cls, d):
29474        return cls()

UpdateResponseMetadata is reserved for future use.

UpdateResponseMetadata()
29462    def __init__(self, ):
29463        pass
def to_dict(self)
29469    def to_dict(self):
29470        return {}
@classmethod
def from_dict(cls, d)
29472    @classmethod
29473    def from_dict(cls, d):
29474        return cls()
class User:
29477class User:
29478    '''
29479         A User can connect to resources they are granted directly, or granted
29480     via roles.
29481    '''
29482    __slots__ = [
29483        'scim',
29484        'email',
29485        'external_id',
29486        'first_name',
29487        'id',
29488        'last_name',
29489        'managed_by',
29490        'manager_id',
29491        'password',
29492        'permission_level',
29493        'resolved_manager_id',
29494        'suspended',
29495        'tags',
29496    ]
29497
29498    def __init__(
29499        self,
29500        scim=None,
29501        email=None,
29502        external_id=None,
29503        first_name=None,
29504        id=None,
29505        last_name=None,
29506        managed_by=None,
29507        manager_id=None,
29508        password=None,
29509        permission_level=None,
29510        resolved_manager_id=None,
29511        suspended=None,
29512        tags=None,
29513    ):
29514        self.scim = scim if scim is not None else ''
29515        '''
29516         SCIM contains the raw SCIM metadata for the user. This is a read-only field.
29517        '''
29518        self.email = email if email is not None else ''
29519        '''
29520         The User's email address. Must be unique.
29521        '''
29522        self.external_id = external_id if external_id is not None else ''
29523        '''
29524         External ID is an alternative unique ID this user is represented by within an external service.
29525        '''
29526        self.first_name = first_name if first_name is not None else ''
29527        '''
29528         The User's first name.
29529        '''
29530        self.id = id if id is not None else ''
29531        '''
29532         Unique identifier of the User.
29533        '''
29534        self.last_name = last_name if last_name is not None else ''
29535        '''
29536         The User's last name.
29537        '''
29538        self.managed_by = managed_by if managed_by is not None else ''
29539        '''
29540         Managed By is a read only field for what service manages this user, e.g. StrongDM, Okta, Azure.
29541        '''
29542        self.manager_id = manager_id if manager_id is not None else ''
29543        '''
29544         Manager ID is the ID of the user's manager. This field is empty when the user has no manager.
29545        '''
29546        self.password = password if password is not None else ''
29547        '''
29548         Password is a write-only field that can be used to set the user's password.
29549         Currently only supported for update.
29550        '''
29551        self.permission_level = permission_level if permission_level is not None else ''
29552        '''
29553         PermissionLevel is the user's permission level e.g. admin, DBA, user.
29554        '''
29555        self.resolved_manager_id = resolved_manager_id if resolved_manager_id is not None else ''
29556        '''
29557         Resolved Manager ID is the ID of the user's manager derived from the manager_id,
29558         if present, or from the SCIM metadata.
29559         This is a read-only field that's only populated for get and list.
29560        '''
29561        self.suspended = suspended if suspended is not None else False
29562        '''
29563         Suspended is a read only field for the User's suspended state.
29564        '''
29565        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29566        '''
29567         Tags is a map of key, value pairs.
29568        '''
29569
29570    def __repr__(self):
29571        return '<sdm.User ' + \
29572            'scim: ' + repr(self.scim) + ' ' +\
29573            'email: ' + repr(self.email) + ' ' +\
29574            'external_id: ' + repr(self.external_id) + ' ' +\
29575            'first_name: ' + repr(self.first_name) + ' ' +\
29576            'id: ' + repr(self.id) + ' ' +\
29577            'last_name: ' + repr(self.last_name) + ' ' +\
29578            'managed_by: ' + repr(self.managed_by) + ' ' +\
29579            'manager_id: ' + repr(self.manager_id) + ' ' +\
29580            'password: ' + repr(self.password) + ' ' +\
29581            'permission_level: ' + repr(self.permission_level) + ' ' +\
29582            'resolved_manager_id: ' + repr(self.resolved_manager_id) + ' ' +\
29583            'suspended: ' + repr(self.suspended) + ' ' +\
29584            'tags: ' + repr(self.tags) + ' ' +\
29585            '>'
29586
29587    def to_dict(self):
29588        return {
29589            'scim': self.scim,
29590            'email': self.email,
29591            'external_id': self.external_id,
29592            'first_name': self.first_name,
29593            'id': self.id,
29594            'last_name': self.last_name,
29595            'managed_by': self.managed_by,
29596            'manager_id': self.manager_id,
29597            'password': self.password,
29598            'permission_level': self.permission_level,
29599            'resolved_manager_id': self.resolved_manager_id,
29600            'suspended': self.suspended,
29601            'tags': self.tags,
29602        }
29603
29604    @classmethod
29605    def from_dict(cls, d):
29606        return cls(
29607            scim=d.get('scim'),
29608            email=d.get('email'),
29609            external_id=d.get('external_id'),
29610            first_name=d.get('first_name'),
29611            id=d.get('id'),
29612            last_name=d.get('last_name'),
29613            managed_by=d.get('managed_by'),
29614            manager_id=d.get('manager_id'),
29615            password=d.get('password'),
29616            permission_level=d.get('permission_level'),
29617            resolved_manager_id=d.get('resolved_manager_id'),
29618            suspended=d.get('suspended'),
29619            tags=d.get('tags'),
29620        )

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)
29498    def __init__(
29499        self,
29500        scim=None,
29501        email=None,
29502        external_id=None,
29503        first_name=None,
29504        id=None,
29505        last_name=None,
29506        managed_by=None,
29507        manager_id=None,
29508        password=None,
29509        permission_level=None,
29510        resolved_manager_id=None,
29511        suspended=None,
29512        tags=None,
29513    ):
29514        self.scim = scim if scim is not None else ''
29515        '''
29516         SCIM contains the raw SCIM metadata for the user. This is a read-only field.
29517        '''
29518        self.email = email if email is not None else ''
29519        '''
29520         The User's email address. Must be unique.
29521        '''
29522        self.external_id = external_id if external_id is not None else ''
29523        '''
29524         External ID is an alternative unique ID this user is represented by within an external service.
29525        '''
29526        self.first_name = first_name if first_name is not None else ''
29527        '''
29528         The User's first name.
29529        '''
29530        self.id = id if id is not None else ''
29531        '''
29532         Unique identifier of the User.
29533        '''
29534        self.last_name = last_name if last_name is not None else ''
29535        '''
29536         The User's last name.
29537        '''
29538        self.managed_by = managed_by if managed_by is not None else ''
29539        '''
29540         Managed By is a read only field for what service manages this user, e.g. StrongDM, Okta, Azure.
29541        '''
29542        self.manager_id = manager_id if manager_id is not None else ''
29543        '''
29544         Manager ID is the ID of the user's manager. This field is empty when the user has no manager.
29545        '''
29546        self.password = password if password is not None else ''
29547        '''
29548         Password is a write-only field that can be used to set the user's password.
29549         Currently only supported for update.
29550        '''
29551        self.permission_level = permission_level if permission_level is not None else ''
29552        '''
29553         PermissionLevel is the user's permission level e.g. admin, DBA, user.
29554        '''
29555        self.resolved_manager_id = resolved_manager_id if resolved_manager_id is not None else ''
29556        '''
29557         Resolved Manager ID is the ID of the user's manager derived from the manager_id,
29558         if present, or from the SCIM metadata.
29559         This is a read-only field that's only populated for get and list.
29560        '''
29561        self.suspended = suspended if suspended is not None else False
29562        '''
29563         Suspended is a read only field for the User's suspended state.
29564        '''
29565        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29566        '''
29567         Tags is a map of key, value pairs.
29568        '''
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)
29587    def to_dict(self):
29588        return {
29589            'scim': self.scim,
29590            'email': self.email,
29591            'external_id': self.external_id,
29592            'first_name': self.first_name,
29593            'id': self.id,
29594            'last_name': self.last_name,
29595            'managed_by': self.managed_by,
29596            'manager_id': self.manager_id,
29597            'password': self.password,
29598            'permission_level': self.permission_level,
29599            'resolved_manager_id': self.resolved_manager_id,
29600            'suspended': self.suspended,
29601            'tags': self.tags,
29602        }
@classmethod
def from_dict(cls, d)
29604    @classmethod
29605    def from_dict(cls, d):
29606        return cls(
29607            scim=d.get('scim'),
29608            email=d.get('email'),
29609            external_id=d.get('external_id'),
29610            first_name=d.get('first_name'),
29611            id=d.get('id'),
29612            last_name=d.get('last_name'),
29613            managed_by=d.get('managed_by'),
29614            manager_id=d.get('manager_id'),
29615            password=d.get('password'),
29616            permission_level=d.get('permission_level'),
29617            resolved_manager_id=d.get('resolved_manager_id'),
29618            suspended=d.get('suspended'),
29619            tags=d.get('tags'),
29620        )
class VaultAWSEC2Store:
29623class VaultAWSEC2Store:
29624    '''
29625    VaultAWSEC2Store is currently unstable, and its API may change, or it may be removed,
29626    without a major version bump.
29627    '''
29628    __slots__ = [
29629        'id',
29630        'name',
29631        'namespace',
29632        'server_address',
29633        'tags',
29634    ]
29635
29636    def __init__(
29637        self,
29638        id=None,
29639        name=None,
29640        namespace=None,
29641        server_address=None,
29642        tags=None,
29643    ):
29644        self.id = id if id is not None else ''
29645        '''
29646         Unique identifier of the SecretStore.
29647        '''
29648        self.name = name if name is not None else ''
29649        '''
29650         Unique human-readable name of the SecretStore.
29651        '''
29652        self.namespace = namespace if namespace is not None else ''
29653        '''
29654         The namespace to make requests within
29655        '''
29656        self.server_address = server_address if server_address is not None else ''
29657        '''
29658         The URL of the Vault to target
29659        '''
29660        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29661        '''
29662         Tags is a map of key, value pairs.
29663        '''
29664
29665    def __repr__(self):
29666        return '<sdm.VaultAWSEC2Store ' + \
29667            'id: ' + repr(self.id) + ' ' +\
29668            'name: ' + repr(self.name) + ' ' +\
29669            'namespace: ' + repr(self.namespace) + ' ' +\
29670            'server_address: ' + repr(self.server_address) + ' ' +\
29671            'tags: ' + repr(self.tags) + ' ' +\
29672            '>'
29673
29674    def to_dict(self):
29675        return {
29676            'id': self.id,
29677            'name': self.name,
29678            'namespace': self.namespace,
29679            'server_address': self.server_address,
29680            'tags': self.tags,
29681        }
29682
29683    @classmethod
29684    def from_dict(cls, d):
29685        return cls(
29686            id=d.get('id'),
29687            name=d.get('name'),
29688            namespace=d.get('namespace'),
29689            server_address=d.get('server_address'),
29690            tags=d.get('tags'),
29691        )

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

VaultAWSEC2Store(id=None, name=None, namespace=None, server_address=None, tags=None)
29636    def __init__(
29637        self,
29638        id=None,
29639        name=None,
29640        namespace=None,
29641        server_address=None,
29642        tags=None,
29643    ):
29644        self.id = id if id is not None else ''
29645        '''
29646         Unique identifier of the SecretStore.
29647        '''
29648        self.name = name if name is not None else ''
29649        '''
29650         Unique human-readable name of the SecretStore.
29651        '''
29652        self.namespace = namespace if namespace is not None else ''
29653        '''
29654         The namespace to make requests within
29655        '''
29656        self.server_address = server_address if server_address is not None else ''
29657        '''
29658         The URL of the Vault to target
29659        '''
29660        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29661        '''
29662         Tags is a map of key, value pairs.
29663        '''
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)
29674    def to_dict(self):
29675        return {
29676            'id': self.id,
29677            'name': self.name,
29678            'namespace': self.namespace,
29679            'server_address': self.server_address,
29680            'tags': self.tags,
29681        }
@classmethod
def from_dict(cls, d)
29683    @classmethod
29684    def from_dict(cls, d):
29685        return cls(
29686            id=d.get('id'),
29687            name=d.get('name'),
29688            namespace=d.get('namespace'),
29689            server_address=d.get('server_address'),
29690            tags=d.get('tags'),
29691        )
class VaultAWSIAMStore:
29694class VaultAWSIAMStore:
29695    '''
29696    VaultAWSIAMStore is currently unstable, and its API may change, or it may be removed,
29697    without a major version bump.
29698    '''
29699    __slots__ = [
29700        'id',
29701        'name',
29702        'namespace',
29703        'server_address',
29704        'tags',
29705    ]
29706
29707    def __init__(
29708        self,
29709        id=None,
29710        name=None,
29711        namespace=None,
29712        server_address=None,
29713        tags=None,
29714    ):
29715        self.id = id if id is not None else ''
29716        '''
29717         Unique identifier of the SecretStore.
29718        '''
29719        self.name = name if name is not None else ''
29720        '''
29721         Unique human-readable name of the SecretStore.
29722        '''
29723        self.namespace = namespace if namespace is not None else ''
29724        '''
29725         The namespace to make requests within
29726        '''
29727        self.server_address = server_address if server_address is not None else ''
29728        '''
29729         The URL of the Vault to target
29730        '''
29731        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29732        '''
29733         Tags is a map of key, value pairs.
29734        '''
29735
29736    def __repr__(self):
29737        return '<sdm.VaultAWSIAMStore ' + \
29738            'id: ' + repr(self.id) + ' ' +\
29739            'name: ' + repr(self.name) + ' ' +\
29740            'namespace: ' + repr(self.namespace) + ' ' +\
29741            'server_address: ' + repr(self.server_address) + ' ' +\
29742            'tags: ' + repr(self.tags) + ' ' +\
29743            '>'
29744
29745    def to_dict(self):
29746        return {
29747            'id': self.id,
29748            'name': self.name,
29749            'namespace': self.namespace,
29750            'server_address': self.server_address,
29751            'tags': self.tags,
29752        }
29753
29754    @classmethod
29755    def from_dict(cls, d):
29756        return cls(
29757            id=d.get('id'),
29758            name=d.get('name'),
29759            namespace=d.get('namespace'),
29760            server_address=d.get('server_address'),
29761            tags=d.get('tags'),
29762        )

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

VaultAWSIAMStore(id=None, name=None, namespace=None, server_address=None, tags=None)
29707    def __init__(
29708        self,
29709        id=None,
29710        name=None,
29711        namespace=None,
29712        server_address=None,
29713        tags=None,
29714    ):
29715        self.id = id if id is not None else ''
29716        '''
29717         Unique identifier of the SecretStore.
29718        '''
29719        self.name = name if name is not None else ''
29720        '''
29721         Unique human-readable name of the SecretStore.
29722        '''
29723        self.namespace = namespace if namespace is not None else ''
29724        '''
29725         The namespace to make requests within
29726        '''
29727        self.server_address = server_address if server_address is not None else ''
29728        '''
29729         The URL of the Vault to target
29730        '''
29731        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29732        '''
29733         Tags is a map of key, value pairs.
29734        '''
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)
29745    def to_dict(self):
29746        return {
29747            'id': self.id,
29748            'name': self.name,
29749            'namespace': self.namespace,
29750            'server_address': self.server_address,
29751            'tags': self.tags,
29752        }
@classmethod
def from_dict(cls, d)
29754    @classmethod
29755    def from_dict(cls, d):
29756        return cls(
29757            id=d.get('id'),
29758            name=d.get('name'),
29759            namespace=d.get('namespace'),
29760            server_address=d.get('server_address'),
29761            tags=d.get('tags'),
29762        )
class VaultAppRoleCertSSHStore:
29765class VaultAppRoleCertSSHStore:
29766    __slots__ = [
29767        'id',
29768        'issuedcertttlminutes',
29769        'name',
29770        'namespace',
29771        'server_address',
29772        'signing_role',
29773        'ssh_mount_point',
29774        'tags',
29775    ]
29776
29777    def __init__(
29778        self,
29779        id=None,
29780        issuedcertttlminutes=None,
29781        name=None,
29782        namespace=None,
29783        server_address=None,
29784        signing_role=None,
29785        ssh_mount_point=None,
29786        tags=None,
29787    ):
29788        self.id = id if id is not None else ''
29789        '''
29790         Unique identifier of the SecretStore.
29791        '''
29792        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
29793        '''
29794         The lifetime of certificates issued by this CA represented in minutes.
29795        '''
29796        self.name = name if name is not None else ''
29797        '''
29798         Unique human-readable name of the SecretStore.
29799        '''
29800        self.namespace = namespace if namespace is not None else ''
29801        '''
29802         The namespace to make requests within
29803        '''
29804        self.server_address = server_address if server_address is not None else ''
29805        '''
29806         The URL of the Vault to target
29807        '''
29808        self.signing_role = signing_role if signing_role is not None else ''
29809        '''
29810         The signing role to be used for signing certificates
29811        '''
29812        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
29813        '''
29814         The mount point of the SSH engine configured with the desired CA
29815        '''
29816        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29817        '''
29818         Tags is a map of key, value pairs.
29819        '''
29820
29821    def __repr__(self):
29822        return '<sdm.VaultAppRoleCertSSHStore ' + \
29823            'id: ' + repr(self.id) + ' ' +\
29824            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
29825            'name: ' + repr(self.name) + ' ' +\
29826            'namespace: ' + repr(self.namespace) + ' ' +\
29827            'server_address: ' + repr(self.server_address) + ' ' +\
29828            'signing_role: ' + repr(self.signing_role) + ' ' +\
29829            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
29830            'tags: ' + repr(self.tags) + ' ' +\
29831            '>'
29832
29833    def to_dict(self):
29834        return {
29835            'id': self.id,
29836            'issuedcertttlminutes': self.issuedcertttlminutes,
29837            'name': self.name,
29838            'namespace': self.namespace,
29839            'server_address': self.server_address,
29840            'signing_role': self.signing_role,
29841            'ssh_mount_point': self.ssh_mount_point,
29842            'tags': self.tags,
29843        }
29844
29845    @classmethod
29846    def from_dict(cls, d):
29847        return cls(
29848            id=d.get('id'),
29849            issuedcertttlminutes=d.get('issuedcertttlminutes'),
29850            name=d.get('name'),
29851            namespace=d.get('namespace'),
29852            server_address=d.get('server_address'),
29853            signing_role=d.get('signing_role'),
29854            ssh_mount_point=d.get('ssh_mount_point'),
29855            tags=d.get('tags'),
29856        )
VaultAppRoleCertSSHStore( id=None, issuedcertttlminutes=None, name=None, namespace=None, server_address=None, signing_role=None, ssh_mount_point=None, tags=None)
29777    def __init__(
29778        self,
29779        id=None,
29780        issuedcertttlminutes=None,
29781        name=None,
29782        namespace=None,
29783        server_address=None,
29784        signing_role=None,
29785        ssh_mount_point=None,
29786        tags=None,
29787    ):
29788        self.id = id if id is not None else ''
29789        '''
29790         Unique identifier of the SecretStore.
29791        '''
29792        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
29793        '''
29794         The lifetime of certificates issued by this CA represented in minutes.
29795        '''
29796        self.name = name if name is not None else ''
29797        '''
29798         Unique human-readable name of the SecretStore.
29799        '''
29800        self.namespace = namespace if namespace is not None else ''
29801        '''
29802         The namespace to make requests within
29803        '''
29804        self.server_address = server_address if server_address is not None else ''
29805        '''
29806         The URL of the Vault to target
29807        '''
29808        self.signing_role = signing_role if signing_role is not None else ''
29809        '''
29810         The signing role to be used for signing certificates
29811        '''
29812        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
29813        '''
29814         The mount point of the SSH engine configured with the desired CA
29815        '''
29816        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29817        '''
29818         Tags is a map of key, value pairs.
29819        '''
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)
29833    def to_dict(self):
29834        return {
29835            'id': self.id,
29836            'issuedcertttlminutes': self.issuedcertttlminutes,
29837            'name': self.name,
29838            'namespace': self.namespace,
29839            'server_address': self.server_address,
29840            'signing_role': self.signing_role,
29841            'ssh_mount_point': self.ssh_mount_point,
29842            'tags': self.tags,
29843        }
@classmethod
def from_dict(cls, d)
29845    @classmethod
29846    def from_dict(cls, d):
29847        return cls(
29848            id=d.get('id'),
29849            issuedcertttlminutes=d.get('issuedcertttlminutes'),
29850            name=d.get('name'),
29851            namespace=d.get('namespace'),
29852            server_address=d.get('server_address'),
29853            signing_role=d.get('signing_role'),
29854            ssh_mount_point=d.get('ssh_mount_point'),
29855            tags=d.get('tags'),
29856        )
class VaultAppRoleCertX509Store:
29859class VaultAppRoleCertX509Store:
29860    __slots__ = [
29861        'id',
29862        'issuedcertttlminutes',
29863        'name',
29864        'namespace',
29865        'pki_mount_point',
29866        'server_address',
29867        'signing_role',
29868        'tags',
29869    ]
29870
29871    def __init__(
29872        self,
29873        id=None,
29874        issuedcertttlminutes=None,
29875        name=None,
29876        namespace=None,
29877        pki_mount_point=None,
29878        server_address=None,
29879        signing_role=None,
29880        tags=None,
29881    ):
29882        self.id = id if id is not None else ''
29883        '''
29884         Unique identifier of the SecretStore.
29885        '''
29886        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
29887        '''
29888         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
29889        '''
29890        self.name = name if name is not None else ''
29891        '''
29892         Unique human-readable name of the SecretStore.
29893        '''
29894        self.namespace = namespace if namespace is not None else ''
29895        '''
29896         The namespace to make requests within
29897        '''
29898        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
29899        '''
29900         The mount point of the PKI engine configured with the desired CA
29901        '''
29902        self.server_address = server_address if server_address is not None else ''
29903        '''
29904         The URL of the Vault to target
29905        '''
29906        self.signing_role = signing_role if signing_role is not None else ''
29907        '''
29908         The signing role to be used for signing certificates
29909        '''
29910        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29911        '''
29912         Tags is a map of key, value pairs.
29913        '''
29914
29915    def __repr__(self):
29916        return '<sdm.VaultAppRoleCertX509Store ' + \
29917            'id: ' + repr(self.id) + ' ' +\
29918            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
29919            'name: ' + repr(self.name) + ' ' +\
29920            'namespace: ' + repr(self.namespace) + ' ' +\
29921            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
29922            'server_address: ' + repr(self.server_address) + ' ' +\
29923            'signing_role: ' + repr(self.signing_role) + ' ' +\
29924            'tags: ' + repr(self.tags) + ' ' +\
29925            '>'
29926
29927    def to_dict(self):
29928        return {
29929            'id': self.id,
29930            'issuedcertttlminutes': self.issuedcertttlminutes,
29931            'name': self.name,
29932            'namespace': self.namespace,
29933            'pki_mount_point': self.pki_mount_point,
29934            'server_address': self.server_address,
29935            'signing_role': self.signing_role,
29936            'tags': self.tags,
29937        }
29938
29939    @classmethod
29940    def from_dict(cls, d):
29941        return cls(
29942            id=d.get('id'),
29943            issuedcertttlminutes=d.get('issuedcertttlminutes'),
29944            name=d.get('name'),
29945            namespace=d.get('namespace'),
29946            pki_mount_point=d.get('pki_mount_point'),
29947            server_address=d.get('server_address'),
29948            signing_role=d.get('signing_role'),
29949            tags=d.get('tags'),
29950        )
VaultAppRoleCertX509Store( id=None, issuedcertttlminutes=None, name=None, namespace=None, pki_mount_point=None, server_address=None, signing_role=None, tags=None)
29871    def __init__(
29872        self,
29873        id=None,
29874        issuedcertttlminutes=None,
29875        name=None,
29876        namespace=None,
29877        pki_mount_point=None,
29878        server_address=None,
29879        signing_role=None,
29880        tags=None,
29881    ):
29882        self.id = id if id is not None else ''
29883        '''
29884         Unique identifier of the SecretStore.
29885        '''
29886        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
29887        '''
29888         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
29889        '''
29890        self.name = name if name is not None else ''
29891        '''
29892         Unique human-readable name of the SecretStore.
29893        '''
29894        self.namespace = namespace if namespace is not None else ''
29895        '''
29896         The namespace to make requests within
29897        '''
29898        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
29899        '''
29900         The mount point of the PKI engine configured with the desired CA
29901        '''
29902        self.server_address = server_address if server_address is not None else ''
29903        '''
29904         The URL of the Vault to target
29905        '''
29906        self.signing_role = signing_role if signing_role is not None else ''
29907        '''
29908         The signing role to be used for signing certificates
29909        '''
29910        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29911        '''
29912         Tags is a map of key, value pairs.
29913        '''
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)
29927    def to_dict(self):
29928        return {
29929            'id': self.id,
29930            'issuedcertttlminutes': self.issuedcertttlminutes,
29931            'name': self.name,
29932            'namespace': self.namespace,
29933            'pki_mount_point': self.pki_mount_point,
29934            'server_address': self.server_address,
29935            'signing_role': self.signing_role,
29936            'tags': self.tags,
29937        }
@classmethod
def from_dict(cls, d)
29939    @classmethod
29940    def from_dict(cls, d):
29941        return cls(
29942            id=d.get('id'),
29943            issuedcertttlminutes=d.get('issuedcertttlminutes'),
29944            name=d.get('name'),
29945            namespace=d.get('namespace'),
29946            pki_mount_point=d.get('pki_mount_point'),
29947            server_address=d.get('server_address'),
29948            signing_role=d.get('signing_role'),
29949            tags=d.get('tags'),
29950        )
class VaultAppRoleStore:
29953class VaultAppRoleStore:
29954    __slots__ = [
29955        'id',
29956        'name',
29957        'namespace',
29958        'server_address',
29959        'tags',
29960    ]
29961
29962    def __init__(
29963        self,
29964        id=None,
29965        name=None,
29966        namespace=None,
29967        server_address=None,
29968        tags=None,
29969    ):
29970        self.id = id if id is not None else ''
29971        '''
29972         Unique identifier of the SecretStore.
29973        '''
29974        self.name = name if name is not None else ''
29975        '''
29976         Unique human-readable name of the SecretStore.
29977        '''
29978        self.namespace = namespace if namespace is not None else ''
29979        '''
29980         The namespace to make requests within
29981        '''
29982        self.server_address = server_address if server_address is not None else ''
29983        '''
29984         The URL of the Vault to target
29985        '''
29986        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29987        '''
29988         Tags is a map of key, value pairs.
29989        '''
29990
29991    def __repr__(self):
29992        return '<sdm.VaultAppRoleStore ' + \
29993            'id: ' + repr(self.id) + ' ' +\
29994            'name: ' + repr(self.name) + ' ' +\
29995            'namespace: ' + repr(self.namespace) + ' ' +\
29996            'server_address: ' + repr(self.server_address) + ' ' +\
29997            'tags: ' + repr(self.tags) + ' ' +\
29998            '>'
29999
30000    def to_dict(self):
30001        return {
30002            'id': self.id,
30003            'name': self.name,
30004            'namespace': self.namespace,
30005            'server_address': self.server_address,
30006            'tags': self.tags,
30007        }
30008
30009    @classmethod
30010    def from_dict(cls, d):
30011        return cls(
30012            id=d.get('id'),
30013            name=d.get('name'),
30014            namespace=d.get('namespace'),
30015            server_address=d.get('server_address'),
30016            tags=d.get('tags'),
30017        )
VaultAppRoleStore(id=None, name=None, namespace=None, server_address=None, tags=None)
29962    def __init__(
29963        self,
29964        id=None,
29965        name=None,
29966        namespace=None,
29967        server_address=None,
29968        tags=None,
29969    ):
29970        self.id = id if id is not None else ''
29971        '''
29972         Unique identifier of the SecretStore.
29973        '''
29974        self.name = name if name is not None else ''
29975        '''
29976         Unique human-readable name of the SecretStore.
29977        '''
29978        self.namespace = namespace if namespace is not None else ''
29979        '''
29980         The namespace to make requests within
29981        '''
29982        self.server_address = server_address if server_address is not None else ''
29983        '''
29984         The URL of the Vault to target
29985        '''
29986        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29987        '''
29988         Tags is a map of key, value pairs.
29989        '''
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)
30000    def to_dict(self):
30001        return {
30002            'id': self.id,
30003            'name': self.name,
30004            'namespace': self.namespace,
30005            'server_address': self.server_address,
30006            'tags': self.tags,
30007        }
@classmethod
def from_dict(cls, d)
30009    @classmethod
30010    def from_dict(cls, d):
30011        return cls(
30012            id=d.get('id'),
30013            name=d.get('name'),
30014            namespace=d.get('namespace'),
30015            server_address=d.get('server_address'),
30016            tags=d.get('tags'),
30017        )
class VaultTLSCertSSHStore:
30020class VaultTLSCertSSHStore:
30021    __slots__ = [
30022        'ca_cert_path',
30023        'client_cert_path',
30024        'client_key_path',
30025        'id',
30026        'issuedcertttlminutes',
30027        'name',
30028        'namespace',
30029        'server_address',
30030        'signing_role',
30031        'ssh_mount_point',
30032        'tags',
30033    ]
30034
30035    def __init__(
30036        self,
30037        ca_cert_path=None,
30038        client_cert_path=None,
30039        client_key_path=None,
30040        id=None,
30041        issuedcertttlminutes=None,
30042        name=None,
30043        namespace=None,
30044        server_address=None,
30045        signing_role=None,
30046        ssh_mount_point=None,
30047        tags=None,
30048    ):
30049        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
30050        '''
30051         A path to a CA file accessible by a Node
30052        '''
30053        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
30054        '''
30055         A path to a client certificate file accessible by a Node
30056        '''
30057        self.client_key_path = client_key_path if client_key_path is not None else ''
30058        '''
30059         A path to a client key file accessible by a Node
30060        '''
30061        self.id = id if id is not None else ''
30062        '''
30063         Unique identifier of the SecretStore.
30064        '''
30065        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30066        '''
30067         The lifetime of certificates issued by this CA represented in minutes.
30068        '''
30069        self.name = name if name is not None else ''
30070        '''
30071         Unique human-readable name of the SecretStore.
30072        '''
30073        self.namespace = namespace if namespace is not None else ''
30074        '''
30075         The namespace to make requests within
30076        '''
30077        self.server_address = server_address if server_address is not None else ''
30078        '''
30079         The URL of the Vault to target
30080        '''
30081        self.signing_role = signing_role if signing_role is not None else ''
30082        '''
30083         The signing role to be used for signing certificates
30084        '''
30085        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
30086        '''
30087         The mount point of the SSH engine configured with the desired CA
30088        '''
30089        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30090        '''
30091         Tags is a map of key, value pairs.
30092        '''
30093
30094    def __repr__(self):
30095        return '<sdm.VaultTLSCertSSHStore ' + \
30096            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
30097            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
30098            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
30099            'id: ' + repr(self.id) + ' ' +\
30100            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
30101            'name: ' + repr(self.name) + ' ' +\
30102            'namespace: ' + repr(self.namespace) + ' ' +\
30103            'server_address: ' + repr(self.server_address) + ' ' +\
30104            'signing_role: ' + repr(self.signing_role) + ' ' +\
30105            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
30106            'tags: ' + repr(self.tags) + ' ' +\
30107            '>'
30108
30109    def to_dict(self):
30110        return {
30111            'ca_cert_path': self.ca_cert_path,
30112            'client_cert_path': self.client_cert_path,
30113            'client_key_path': self.client_key_path,
30114            'id': self.id,
30115            'issuedcertttlminutes': self.issuedcertttlminutes,
30116            'name': self.name,
30117            'namespace': self.namespace,
30118            'server_address': self.server_address,
30119            'signing_role': self.signing_role,
30120            'ssh_mount_point': self.ssh_mount_point,
30121            'tags': self.tags,
30122        }
30123
30124    @classmethod
30125    def from_dict(cls, d):
30126        return cls(
30127            ca_cert_path=d.get('ca_cert_path'),
30128            client_cert_path=d.get('client_cert_path'),
30129            client_key_path=d.get('client_key_path'),
30130            id=d.get('id'),
30131            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30132            name=d.get('name'),
30133            namespace=d.get('namespace'),
30134            server_address=d.get('server_address'),
30135            signing_role=d.get('signing_role'),
30136            ssh_mount_point=d.get('ssh_mount_point'),
30137            tags=d.get('tags'),
30138        )
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)
30035    def __init__(
30036        self,
30037        ca_cert_path=None,
30038        client_cert_path=None,
30039        client_key_path=None,
30040        id=None,
30041        issuedcertttlminutes=None,
30042        name=None,
30043        namespace=None,
30044        server_address=None,
30045        signing_role=None,
30046        ssh_mount_point=None,
30047        tags=None,
30048    ):
30049        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
30050        '''
30051         A path to a CA file accessible by a Node
30052        '''
30053        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
30054        '''
30055         A path to a client certificate file accessible by a Node
30056        '''
30057        self.client_key_path = client_key_path if client_key_path is not None else ''
30058        '''
30059         A path to a client key file accessible by a Node
30060        '''
30061        self.id = id if id is not None else ''
30062        '''
30063         Unique identifier of the SecretStore.
30064        '''
30065        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30066        '''
30067         The lifetime of certificates issued by this CA represented in minutes.
30068        '''
30069        self.name = name if name is not None else ''
30070        '''
30071         Unique human-readable name of the SecretStore.
30072        '''
30073        self.namespace = namespace if namespace is not None else ''
30074        '''
30075         The namespace to make requests within
30076        '''
30077        self.server_address = server_address if server_address is not None else ''
30078        '''
30079         The URL of the Vault to target
30080        '''
30081        self.signing_role = signing_role if signing_role is not None else ''
30082        '''
30083         The signing role to be used for signing certificates
30084        '''
30085        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
30086        '''
30087         The mount point of the SSH engine configured with the desired CA
30088        '''
30089        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30090        '''
30091         Tags is a map of key, value pairs.
30092        '''
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)
30109    def to_dict(self):
30110        return {
30111            'ca_cert_path': self.ca_cert_path,
30112            'client_cert_path': self.client_cert_path,
30113            'client_key_path': self.client_key_path,
30114            'id': self.id,
30115            'issuedcertttlminutes': self.issuedcertttlminutes,
30116            'name': self.name,
30117            'namespace': self.namespace,
30118            'server_address': self.server_address,
30119            'signing_role': self.signing_role,
30120            'ssh_mount_point': self.ssh_mount_point,
30121            'tags': self.tags,
30122        }
@classmethod
def from_dict(cls, d)
30124    @classmethod
30125    def from_dict(cls, d):
30126        return cls(
30127            ca_cert_path=d.get('ca_cert_path'),
30128            client_cert_path=d.get('client_cert_path'),
30129            client_key_path=d.get('client_key_path'),
30130            id=d.get('id'),
30131            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30132            name=d.get('name'),
30133            namespace=d.get('namespace'),
30134            server_address=d.get('server_address'),
30135            signing_role=d.get('signing_role'),
30136            ssh_mount_point=d.get('ssh_mount_point'),
30137            tags=d.get('tags'),
30138        )
class VaultTLSCertX509Store:
30141class VaultTLSCertX509Store:
30142    __slots__ = [
30143        'ca_cert_path',
30144        'client_cert_path',
30145        'client_key_path',
30146        'id',
30147        'issuedcertttlminutes',
30148        'name',
30149        'namespace',
30150        'pki_mount_point',
30151        'server_address',
30152        'signing_role',
30153        'tags',
30154    ]
30155
30156    def __init__(
30157        self,
30158        ca_cert_path=None,
30159        client_cert_path=None,
30160        client_key_path=None,
30161        id=None,
30162        issuedcertttlminutes=None,
30163        name=None,
30164        namespace=None,
30165        pki_mount_point=None,
30166        server_address=None,
30167        signing_role=None,
30168        tags=None,
30169    ):
30170        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
30171        '''
30172         A path to a CA file accessible by a Node
30173        '''
30174        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
30175        '''
30176         A path to a client certificate file accessible by a Node
30177        '''
30178        self.client_key_path = client_key_path if client_key_path is not None else ''
30179        '''
30180         A path to a client key file accessible by a Node
30181        '''
30182        self.id = id if id is not None else ''
30183        '''
30184         Unique identifier of the SecretStore.
30185        '''
30186        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30187        '''
30188         The lifetime of certificates issued by this CA represented in minutes.
30189        '''
30190        self.name = name if name is not None else ''
30191        '''
30192         Unique human-readable name of the SecretStore.
30193        '''
30194        self.namespace = namespace if namespace is not None else ''
30195        '''
30196         The namespace to make requests within
30197        '''
30198        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
30199        '''
30200         The mount point of the PKI engine configured with the desired CA
30201        '''
30202        self.server_address = server_address if server_address is not None else ''
30203        '''
30204         The URL of the Vault to target
30205        '''
30206        self.signing_role = signing_role if signing_role is not None else ''
30207        '''
30208         The signing role to be used for signing certificates
30209        '''
30210        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30211        '''
30212         Tags is a map of key, value pairs.
30213        '''
30214
30215    def __repr__(self):
30216        return '<sdm.VaultTLSCertX509Store ' + \
30217            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
30218            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
30219            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
30220            'id: ' + repr(self.id) + ' ' +\
30221            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
30222            'name: ' + repr(self.name) + ' ' +\
30223            'namespace: ' + repr(self.namespace) + ' ' +\
30224            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
30225            'server_address: ' + repr(self.server_address) + ' ' +\
30226            'signing_role: ' + repr(self.signing_role) + ' ' +\
30227            'tags: ' + repr(self.tags) + ' ' +\
30228            '>'
30229
30230    def to_dict(self):
30231        return {
30232            'ca_cert_path': self.ca_cert_path,
30233            'client_cert_path': self.client_cert_path,
30234            'client_key_path': self.client_key_path,
30235            'id': self.id,
30236            'issuedcertttlminutes': self.issuedcertttlminutes,
30237            'name': self.name,
30238            'namespace': self.namespace,
30239            'pki_mount_point': self.pki_mount_point,
30240            'server_address': self.server_address,
30241            'signing_role': self.signing_role,
30242            'tags': self.tags,
30243        }
30244
30245    @classmethod
30246    def from_dict(cls, d):
30247        return cls(
30248            ca_cert_path=d.get('ca_cert_path'),
30249            client_cert_path=d.get('client_cert_path'),
30250            client_key_path=d.get('client_key_path'),
30251            id=d.get('id'),
30252            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30253            name=d.get('name'),
30254            namespace=d.get('namespace'),
30255            pki_mount_point=d.get('pki_mount_point'),
30256            server_address=d.get('server_address'),
30257            signing_role=d.get('signing_role'),
30258            tags=d.get('tags'),
30259        )
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)
30156    def __init__(
30157        self,
30158        ca_cert_path=None,
30159        client_cert_path=None,
30160        client_key_path=None,
30161        id=None,
30162        issuedcertttlminutes=None,
30163        name=None,
30164        namespace=None,
30165        pki_mount_point=None,
30166        server_address=None,
30167        signing_role=None,
30168        tags=None,
30169    ):
30170        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
30171        '''
30172         A path to a CA file accessible by a Node
30173        '''
30174        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
30175        '''
30176         A path to a client certificate file accessible by a Node
30177        '''
30178        self.client_key_path = client_key_path if client_key_path is not None else ''
30179        '''
30180         A path to a client key file accessible by a Node
30181        '''
30182        self.id = id if id is not None else ''
30183        '''
30184         Unique identifier of the SecretStore.
30185        '''
30186        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30187        '''
30188         The lifetime of certificates issued by this CA represented in minutes.
30189        '''
30190        self.name = name if name is not None else ''
30191        '''
30192         Unique human-readable name of the SecretStore.
30193        '''
30194        self.namespace = namespace if namespace is not None else ''
30195        '''
30196         The namespace to make requests within
30197        '''
30198        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
30199        '''
30200         The mount point of the PKI engine configured with the desired CA
30201        '''
30202        self.server_address = server_address if server_address is not None else ''
30203        '''
30204         The URL of the Vault to target
30205        '''
30206        self.signing_role = signing_role if signing_role is not None else ''
30207        '''
30208         The signing role to be used for signing certificates
30209        '''
30210        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30211        '''
30212         Tags is a map of key, value pairs.
30213        '''
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)
30230    def to_dict(self):
30231        return {
30232            'ca_cert_path': self.ca_cert_path,
30233            'client_cert_path': self.client_cert_path,
30234            'client_key_path': self.client_key_path,
30235            'id': self.id,
30236            'issuedcertttlminutes': self.issuedcertttlminutes,
30237            'name': self.name,
30238            'namespace': self.namespace,
30239            'pki_mount_point': self.pki_mount_point,
30240            'server_address': self.server_address,
30241            'signing_role': self.signing_role,
30242            'tags': self.tags,
30243        }
@classmethod
def from_dict(cls, d)
30245    @classmethod
30246    def from_dict(cls, d):
30247        return cls(
30248            ca_cert_path=d.get('ca_cert_path'),
30249            client_cert_path=d.get('client_cert_path'),
30250            client_key_path=d.get('client_key_path'),
30251            id=d.get('id'),
30252            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30253            name=d.get('name'),
30254            namespace=d.get('namespace'),
30255            pki_mount_point=d.get('pki_mount_point'),
30256            server_address=d.get('server_address'),
30257            signing_role=d.get('signing_role'),
30258            tags=d.get('tags'),
30259        )
class VaultTLSStore:
30262class VaultTLSStore:
30263    __slots__ = [
30264        'ca_cert_path',
30265        'client_cert_path',
30266        'client_key_path',
30267        'id',
30268        'name',
30269        'namespace',
30270        'server_address',
30271        'tags',
30272    ]
30273
30274    def __init__(
30275        self,
30276        ca_cert_path=None,
30277        client_cert_path=None,
30278        client_key_path=None,
30279        id=None,
30280        name=None,
30281        namespace=None,
30282        server_address=None,
30283        tags=None,
30284    ):
30285        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
30286        '''
30287         A path to a CA file accessible by a Node
30288        '''
30289        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
30290        '''
30291         A path to a client certificate file accessible by a Node
30292        '''
30293        self.client_key_path = client_key_path if client_key_path is not None else ''
30294        '''
30295         A path to a client key file accessible by a Node
30296        '''
30297        self.id = id if id is not None else ''
30298        '''
30299         Unique identifier of the SecretStore.
30300        '''
30301        self.name = name if name is not None else ''
30302        '''
30303         Unique human-readable name of the SecretStore.
30304        '''
30305        self.namespace = namespace if namespace is not None else ''
30306        '''
30307         The namespace to make requests within
30308        '''
30309        self.server_address = server_address if server_address is not None else ''
30310        '''
30311         The URL of the Vault to target
30312        '''
30313        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30314        '''
30315         Tags is a map of key, value pairs.
30316        '''
30317
30318    def __repr__(self):
30319        return '<sdm.VaultTLSStore ' + \
30320            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
30321            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
30322            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
30323            'id: ' + repr(self.id) + ' ' +\
30324            'name: ' + repr(self.name) + ' ' +\
30325            'namespace: ' + repr(self.namespace) + ' ' +\
30326            'server_address: ' + repr(self.server_address) + ' ' +\
30327            'tags: ' + repr(self.tags) + ' ' +\
30328            '>'
30329
30330    def to_dict(self):
30331        return {
30332            'ca_cert_path': self.ca_cert_path,
30333            'client_cert_path': self.client_cert_path,
30334            'client_key_path': self.client_key_path,
30335            'id': self.id,
30336            'name': self.name,
30337            'namespace': self.namespace,
30338            'server_address': self.server_address,
30339            'tags': self.tags,
30340        }
30341
30342    @classmethod
30343    def from_dict(cls, d):
30344        return cls(
30345            ca_cert_path=d.get('ca_cert_path'),
30346            client_cert_path=d.get('client_cert_path'),
30347            client_key_path=d.get('client_key_path'),
30348            id=d.get('id'),
30349            name=d.get('name'),
30350            namespace=d.get('namespace'),
30351            server_address=d.get('server_address'),
30352            tags=d.get('tags'),
30353        )
VaultTLSStore( ca_cert_path=None, client_cert_path=None, client_key_path=None, id=None, name=None, namespace=None, server_address=None, tags=None)
30274    def __init__(
30275        self,
30276        ca_cert_path=None,
30277        client_cert_path=None,
30278        client_key_path=None,
30279        id=None,
30280        name=None,
30281        namespace=None,
30282        server_address=None,
30283        tags=None,
30284    ):
30285        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
30286        '''
30287         A path to a CA file accessible by a Node
30288        '''
30289        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
30290        '''
30291         A path to a client certificate file accessible by a Node
30292        '''
30293        self.client_key_path = client_key_path if client_key_path is not None else ''
30294        '''
30295         A path to a client key file accessible by a Node
30296        '''
30297        self.id = id if id is not None else ''
30298        '''
30299         Unique identifier of the SecretStore.
30300        '''
30301        self.name = name if name is not None else ''
30302        '''
30303         Unique human-readable name of the SecretStore.
30304        '''
30305        self.namespace = namespace if namespace is not None else ''
30306        '''
30307         The namespace to make requests within
30308        '''
30309        self.server_address = server_address if server_address is not None else ''
30310        '''
30311         The URL of the Vault to target
30312        '''
30313        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30314        '''
30315         Tags is a map of key, value pairs.
30316        '''
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)
30330    def to_dict(self):
30331        return {
30332            'ca_cert_path': self.ca_cert_path,
30333            'client_cert_path': self.client_cert_path,
30334            'client_key_path': self.client_key_path,
30335            'id': self.id,
30336            'name': self.name,
30337            'namespace': self.namespace,
30338            'server_address': self.server_address,
30339            'tags': self.tags,
30340        }
@classmethod
def from_dict(cls, d)
30342    @classmethod
30343    def from_dict(cls, d):
30344        return cls(
30345            ca_cert_path=d.get('ca_cert_path'),
30346            client_cert_path=d.get('client_cert_path'),
30347            client_key_path=d.get('client_key_path'),
30348            id=d.get('id'),
30349            name=d.get('name'),
30350            namespace=d.get('namespace'),
30351            server_address=d.get('server_address'),
30352            tags=d.get('tags'),
30353        )
class VaultTokenCertSSHStore:
30356class VaultTokenCertSSHStore:
30357    __slots__ = [
30358        'id',
30359        'issuedcertttlminutes',
30360        'name',
30361        'namespace',
30362        'server_address',
30363        'signing_role',
30364        'ssh_mount_point',
30365        'tags',
30366    ]
30367
30368    def __init__(
30369        self,
30370        id=None,
30371        issuedcertttlminutes=None,
30372        name=None,
30373        namespace=None,
30374        server_address=None,
30375        signing_role=None,
30376        ssh_mount_point=None,
30377        tags=None,
30378    ):
30379        self.id = id if id is not None else ''
30380        '''
30381         Unique identifier of the SecretStore.
30382        '''
30383        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30384        '''
30385         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
30386        '''
30387        self.name = name if name is not None else ''
30388        '''
30389         Unique human-readable name of the SecretStore.
30390        '''
30391        self.namespace = namespace if namespace is not None else ''
30392        '''
30393         The namespace to make requests within
30394        '''
30395        self.server_address = server_address if server_address is not None else ''
30396        '''
30397         The URL of the Vault to target
30398        '''
30399        self.signing_role = signing_role if signing_role is not None else ''
30400        '''
30401         The signing role to be used for signing certificates
30402        '''
30403        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
30404        '''
30405         The mount point of the SSH engine configured with the desired CA
30406        '''
30407        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30408        '''
30409         Tags is a map of key, value pairs.
30410        '''
30411
30412    def __repr__(self):
30413        return '<sdm.VaultTokenCertSSHStore ' + \
30414            'id: ' + repr(self.id) + ' ' +\
30415            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
30416            'name: ' + repr(self.name) + ' ' +\
30417            'namespace: ' + repr(self.namespace) + ' ' +\
30418            'server_address: ' + repr(self.server_address) + ' ' +\
30419            'signing_role: ' + repr(self.signing_role) + ' ' +\
30420            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
30421            'tags: ' + repr(self.tags) + ' ' +\
30422            '>'
30423
30424    def to_dict(self):
30425        return {
30426            'id': self.id,
30427            'issuedcertttlminutes': self.issuedcertttlminutes,
30428            'name': self.name,
30429            'namespace': self.namespace,
30430            'server_address': self.server_address,
30431            'signing_role': self.signing_role,
30432            'ssh_mount_point': self.ssh_mount_point,
30433            'tags': self.tags,
30434        }
30435
30436    @classmethod
30437    def from_dict(cls, d):
30438        return cls(
30439            id=d.get('id'),
30440            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30441            name=d.get('name'),
30442            namespace=d.get('namespace'),
30443            server_address=d.get('server_address'),
30444            signing_role=d.get('signing_role'),
30445            ssh_mount_point=d.get('ssh_mount_point'),
30446            tags=d.get('tags'),
30447        )
VaultTokenCertSSHStore( id=None, issuedcertttlminutes=None, name=None, namespace=None, server_address=None, signing_role=None, ssh_mount_point=None, tags=None)
30368    def __init__(
30369        self,
30370        id=None,
30371        issuedcertttlminutes=None,
30372        name=None,
30373        namespace=None,
30374        server_address=None,
30375        signing_role=None,
30376        ssh_mount_point=None,
30377        tags=None,
30378    ):
30379        self.id = id if id is not None else ''
30380        '''
30381         Unique identifier of the SecretStore.
30382        '''
30383        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30384        '''
30385         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
30386        '''
30387        self.name = name if name is not None else ''
30388        '''
30389         Unique human-readable name of the SecretStore.
30390        '''
30391        self.namespace = namespace if namespace is not None else ''
30392        '''
30393         The namespace to make requests within
30394        '''
30395        self.server_address = server_address if server_address is not None else ''
30396        '''
30397         The URL of the Vault to target
30398        '''
30399        self.signing_role = signing_role if signing_role is not None else ''
30400        '''
30401         The signing role to be used for signing certificates
30402        '''
30403        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
30404        '''
30405         The mount point of the SSH engine configured with the desired CA
30406        '''
30407        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30408        '''
30409         Tags is a map of key, value pairs.
30410        '''
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)
30424    def to_dict(self):
30425        return {
30426            'id': self.id,
30427            'issuedcertttlminutes': self.issuedcertttlminutes,
30428            'name': self.name,
30429            'namespace': self.namespace,
30430            'server_address': self.server_address,
30431            'signing_role': self.signing_role,
30432            'ssh_mount_point': self.ssh_mount_point,
30433            'tags': self.tags,
30434        }
@classmethod
def from_dict(cls, d)
30436    @classmethod
30437    def from_dict(cls, d):
30438        return cls(
30439            id=d.get('id'),
30440            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30441            name=d.get('name'),
30442            namespace=d.get('namespace'),
30443            server_address=d.get('server_address'),
30444            signing_role=d.get('signing_role'),
30445            ssh_mount_point=d.get('ssh_mount_point'),
30446            tags=d.get('tags'),
30447        )
class VaultTokenCertX509Store:
30450class VaultTokenCertX509Store:
30451    __slots__ = [
30452        'id',
30453        'issuedcertttlminutes',
30454        'name',
30455        'namespace',
30456        'pki_mount_point',
30457        'server_address',
30458        'signing_role',
30459        'tags',
30460    ]
30461
30462    def __init__(
30463        self,
30464        id=None,
30465        issuedcertttlminutes=None,
30466        name=None,
30467        namespace=None,
30468        pki_mount_point=None,
30469        server_address=None,
30470        signing_role=None,
30471        tags=None,
30472    ):
30473        self.id = id if id is not None else ''
30474        '''
30475         Unique identifier of the SecretStore.
30476        '''
30477        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30478        '''
30479         The lifetime of certificates issued by this CA represented in minutes.
30480        '''
30481        self.name = name if name is not None else ''
30482        '''
30483         Unique human-readable name of the SecretStore.
30484        '''
30485        self.namespace = namespace if namespace is not None else ''
30486        '''
30487         The namespace to make requests within
30488        '''
30489        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
30490        '''
30491         The mount point of the PKI engine configured with the desired CA
30492        '''
30493        self.server_address = server_address if server_address is not None else ''
30494        '''
30495         The URL of the Vault to target
30496        '''
30497        self.signing_role = signing_role if signing_role is not None else ''
30498        '''
30499         The signing role to be used for signing certificates
30500        '''
30501        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30502        '''
30503         Tags is a map of key, value pairs.
30504        '''
30505
30506    def __repr__(self):
30507        return '<sdm.VaultTokenCertX509Store ' + \
30508            'id: ' + repr(self.id) + ' ' +\
30509            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
30510            'name: ' + repr(self.name) + ' ' +\
30511            'namespace: ' + repr(self.namespace) + ' ' +\
30512            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
30513            'server_address: ' + repr(self.server_address) + ' ' +\
30514            'signing_role: ' + repr(self.signing_role) + ' ' +\
30515            'tags: ' + repr(self.tags) + ' ' +\
30516            '>'
30517
30518    def to_dict(self):
30519        return {
30520            'id': self.id,
30521            'issuedcertttlminutes': self.issuedcertttlminutes,
30522            'name': self.name,
30523            'namespace': self.namespace,
30524            'pki_mount_point': self.pki_mount_point,
30525            'server_address': self.server_address,
30526            'signing_role': self.signing_role,
30527            'tags': self.tags,
30528        }
30529
30530    @classmethod
30531    def from_dict(cls, d):
30532        return cls(
30533            id=d.get('id'),
30534            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30535            name=d.get('name'),
30536            namespace=d.get('namespace'),
30537            pki_mount_point=d.get('pki_mount_point'),
30538            server_address=d.get('server_address'),
30539            signing_role=d.get('signing_role'),
30540            tags=d.get('tags'),
30541        )
VaultTokenCertX509Store( id=None, issuedcertttlminutes=None, name=None, namespace=None, pki_mount_point=None, server_address=None, signing_role=None, tags=None)
30462    def __init__(
30463        self,
30464        id=None,
30465        issuedcertttlminutes=None,
30466        name=None,
30467        namespace=None,
30468        pki_mount_point=None,
30469        server_address=None,
30470        signing_role=None,
30471        tags=None,
30472    ):
30473        self.id = id if id is not None else ''
30474        '''
30475         Unique identifier of the SecretStore.
30476        '''
30477        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30478        '''
30479         The lifetime of certificates issued by this CA represented in minutes.
30480        '''
30481        self.name = name if name is not None else ''
30482        '''
30483         Unique human-readable name of the SecretStore.
30484        '''
30485        self.namespace = namespace if namespace is not None else ''
30486        '''
30487         The namespace to make requests within
30488        '''
30489        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
30490        '''
30491         The mount point of the PKI engine configured with the desired CA
30492        '''
30493        self.server_address = server_address if server_address is not None else ''
30494        '''
30495         The URL of the Vault to target
30496        '''
30497        self.signing_role = signing_role if signing_role is not None else ''
30498        '''
30499         The signing role to be used for signing certificates
30500        '''
30501        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30502        '''
30503         Tags is a map of key, value pairs.
30504        '''
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)
30518    def to_dict(self):
30519        return {
30520            'id': self.id,
30521            'issuedcertttlminutes': self.issuedcertttlminutes,
30522            'name': self.name,
30523            'namespace': self.namespace,
30524            'pki_mount_point': self.pki_mount_point,
30525            'server_address': self.server_address,
30526            'signing_role': self.signing_role,
30527            'tags': self.tags,
30528        }
@classmethod
def from_dict(cls, d)
30530    @classmethod
30531    def from_dict(cls, d):
30532        return cls(
30533            id=d.get('id'),
30534            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30535            name=d.get('name'),
30536            namespace=d.get('namespace'),
30537            pki_mount_point=d.get('pki_mount_point'),
30538            server_address=d.get('server_address'),
30539            signing_role=d.get('signing_role'),
30540            tags=d.get('tags'),
30541        )
class VaultTokenStore:
30544class VaultTokenStore:
30545    __slots__ = [
30546        'id',
30547        'name',
30548        'namespace',
30549        'server_address',
30550        'tags',
30551    ]
30552
30553    def __init__(
30554        self,
30555        id=None,
30556        name=None,
30557        namespace=None,
30558        server_address=None,
30559        tags=None,
30560    ):
30561        self.id = id if id is not None else ''
30562        '''
30563         Unique identifier of the SecretStore.
30564        '''
30565        self.name = name if name is not None else ''
30566        '''
30567         Unique human-readable name of the SecretStore.
30568        '''
30569        self.namespace = namespace if namespace is not None else ''
30570        '''
30571         The namespace to make requests within
30572        '''
30573        self.server_address = server_address if server_address is not None else ''
30574        '''
30575         The URL of the Vault to target
30576        '''
30577        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30578        '''
30579         Tags is a map of key, value pairs.
30580        '''
30581
30582    def __repr__(self):
30583        return '<sdm.VaultTokenStore ' + \
30584            'id: ' + repr(self.id) + ' ' +\
30585            'name: ' + repr(self.name) + ' ' +\
30586            'namespace: ' + repr(self.namespace) + ' ' +\
30587            'server_address: ' + repr(self.server_address) + ' ' +\
30588            'tags: ' + repr(self.tags) + ' ' +\
30589            '>'
30590
30591    def to_dict(self):
30592        return {
30593            'id': self.id,
30594            'name': self.name,
30595            'namespace': self.namespace,
30596            'server_address': self.server_address,
30597            'tags': self.tags,
30598        }
30599
30600    @classmethod
30601    def from_dict(cls, d):
30602        return cls(
30603            id=d.get('id'),
30604            name=d.get('name'),
30605            namespace=d.get('namespace'),
30606            server_address=d.get('server_address'),
30607            tags=d.get('tags'),
30608        )
VaultTokenStore(id=None, name=None, namespace=None, server_address=None, tags=None)
30553    def __init__(
30554        self,
30555        id=None,
30556        name=None,
30557        namespace=None,
30558        server_address=None,
30559        tags=None,
30560    ):
30561        self.id = id if id is not None else ''
30562        '''
30563         Unique identifier of the SecretStore.
30564        '''
30565        self.name = name if name is not None else ''
30566        '''
30567         Unique human-readable name of the SecretStore.
30568        '''
30569        self.namespace = namespace if namespace is not None else ''
30570        '''
30571         The namespace to make requests within
30572        '''
30573        self.server_address = server_address if server_address is not None else ''
30574        '''
30575         The URL of the Vault to target
30576        '''
30577        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30578        '''
30579         Tags is a map of key, value pairs.
30580        '''
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)
30591    def to_dict(self):
30592        return {
30593            'id': self.id,
30594            'name': self.name,
30595            'namespace': self.namespace,
30596            'server_address': self.server_address,
30597            'tags': self.tags,
30598        }
@classmethod
def from_dict(cls, d)
30600    @classmethod
30601    def from_dict(cls, d):
30602        return cls(
30603            id=d.get('id'),
30604            name=d.get('name'),
30605            namespace=d.get('namespace'),
30606            server_address=d.get('server_address'),
30607            tags=d.get('tags'),
30608        )
class Vertica:
30611class Vertica:
30612    __slots__ = [
30613        'bind_interface',
30614        'database',
30615        'egress_filter',
30616        'healthy',
30617        'hostname',
30618        'id',
30619        'name',
30620        'password',
30621        'port',
30622        'port_override',
30623        'proxy_cluster_id',
30624        'secret_store_id',
30625        'subdomain',
30626        'tags',
30627        'username',
30628    ]
30629
30630    def __init__(
30631        self,
30632        bind_interface=None,
30633        database=None,
30634        egress_filter=None,
30635        healthy=None,
30636        hostname=None,
30637        id=None,
30638        name=None,
30639        password=None,
30640        port=None,
30641        port_override=None,
30642        proxy_cluster_id=None,
30643        secret_store_id=None,
30644        subdomain=None,
30645        tags=None,
30646        username=None,
30647    ):
30648        self.bind_interface = bind_interface if bind_interface is not None else ''
30649        '''
30650         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
30651        '''
30652        self.database = database if database is not None else ''
30653        '''
30654         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
30655        '''
30656        self.egress_filter = egress_filter if egress_filter is not None else ''
30657        '''
30658         A filter applied to the routing logic to pin datasource to nodes.
30659        '''
30660        self.healthy = healthy if healthy is not None else False
30661        '''
30662         True if the datasource is reachable and the credentials are valid.
30663        '''
30664        self.hostname = hostname if hostname is not None else ''
30665        '''
30666         The host to dial to initiate a connection from the egress node to this resource.
30667        '''
30668        self.id = id if id is not None else ''
30669        '''
30670         Unique identifier of the Resource.
30671        '''
30672        self.name = name if name is not None else ''
30673        '''
30674         Unique human-readable name of the Resource.
30675        '''
30676        self.password = password if password is not None else ''
30677        '''
30678         The password to authenticate with.
30679        '''
30680        self.port = port if port is not None else 0
30681        '''
30682         The port to dial to initiate a connection from the egress node to this resource.
30683        '''
30684        self.port_override = port_override if port_override is not None else 0
30685        '''
30686         The local port used by clients to connect to this resource.
30687        '''
30688        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
30689        '''
30690         ID of the proxy cluster for this resource, if any.
30691        '''
30692        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
30693        '''
30694         ID of the secret store containing credentials for this resource, if any.
30695        '''
30696        self.subdomain = subdomain if subdomain is not None else ''
30697        '''
30698         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
30699        '''
30700        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30701        '''
30702         Tags is a map of key, value pairs.
30703        '''
30704        self.username = username if username is not None else ''
30705        '''
30706         The username to authenticate with.
30707        '''
30708
30709    def __repr__(self):
30710        return '<sdm.Vertica ' + \
30711            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
30712            'database: ' + repr(self.database) + ' ' +\
30713            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
30714            'healthy: ' + repr(self.healthy) + ' ' +\
30715            'hostname: ' + repr(self.hostname) + ' ' +\
30716            'id: ' + repr(self.id) + ' ' +\
30717            'name: ' + repr(self.name) + ' ' +\
30718            'password: ' + repr(self.password) + ' ' +\
30719            'port: ' + repr(self.port) + ' ' +\
30720            'port_override: ' + repr(self.port_override) + ' ' +\
30721            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
30722            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
30723            'subdomain: ' + repr(self.subdomain) + ' ' +\
30724            'tags: ' + repr(self.tags) + ' ' +\
30725            'username: ' + repr(self.username) + ' ' +\
30726            '>'
30727
30728    def to_dict(self):
30729        return {
30730            'bind_interface': self.bind_interface,
30731            'database': self.database,
30732            'egress_filter': self.egress_filter,
30733            'healthy': self.healthy,
30734            'hostname': self.hostname,
30735            'id': self.id,
30736            'name': self.name,
30737            'password': self.password,
30738            'port': self.port,
30739            'port_override': self.port_override,
30740            'proxy_cluster_id': self.proxy_cluster_id,
30741            'secret_store_id': self.secret_store_id,
30742            'subdomain': self.subdomain,
30743            'tags': self.tags,
30744            'username': self.username,
30745        }
30746
30747    @classmethod
30748    def from_dict(cls, d):
30749        return cls(
30750            bind_interface=d.get('bind_interface'),
30751            database=d.get('database'),
30752            egress_filter=d.get('egress_filter'),
30753            healthy=d.get('healthy'),
30754            hostname=d.get('hostname'),
30755            id=d.get('id'),
30756            name=d.get('name'),
30757            password=d.get('password'),
30758            port=d.get('port'),
30759            port_override=d.get('port_override'),
30760            proxy_cluster_id=d.get('proxy_cluster_id'),
30761            secret_store_id=d.get('secret_store_id'),
30762            subdomain=d.get('subdomain'),
30763            tags=d.get('tags'),
30764            username=d.get('username'),
30765        )
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)
30630    def __init__(
30631        self,
30632        bind_interface=None,
30633        database=None,
30634        egress_filter=None,
30635        healthy=None,
30636        hostname=None,
30637        id=None,
30638        name=None,
30639        password=None,
30640        port=None,
30641        port_override=None,
30642        proxy_cluster_id=None,
30643        secret_store_id=None,
30644        subdomain=None,
30645        tags=None,
30646        username=None,
30647    ):
30648        self.bind_interface = bind_interface if bind_interface is not None else ''
30649        '''
30650         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
30651        '''
30652        self.database = database if database is not None else ''
30653        '''
30654         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
30655        '''
30656        self.egress_filter = egress_filter if egress_filter is not None else ''
30657        '''
30658         A filter applied to the routing logic to pin datasource to nodes.
30659        '''
30660        self.healthy = healthy if healthy is not None else False
30661        '''
30662         True if the datasource is reachable and the credentials are valid.
30663        '''
30664        self.hostname = hostname if hostname is not None else ''
30665        '''
30666         The host to dial to initiate a connection from the egress node to this resource.
30667        '''
30668        self.id = id if id is not None else ''
30669        '''
30670         Unique identifier of the Resource.
30671        '''
30672        self.name = name if name is not None else ''
30673        '''
30674         Unique human-readable name of the Resource.
30675        '''
30676        self.password = password if password is not None else ''
30677        '''
30678         The password to authenticate with.
30679        '''
30680        self.port = port if port is not None else 0
30681        '''
30682         The port to dial to initiate a connection from the egress node to this resource.
30683        '''
30684        self.port_override = port_override if port_override is not None else 0
30685        '''
30686         The local port used by clients to connect to this resource.
30687        '''
30688        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
30689        '''
30690         ID of the proxy cluster for this resource, if any.
30691        '''
30692        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
30693        '''
30694         ID of the secret store containing credentials for this resource, if any.
30695        '''
30696        self.subdomain = subdomain if subdomain is not None else ''
30697        '''
30698         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
30699        '''
30700        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30701        '''
30702         Tags is a map of key, value pairs.
30703        '''
30704        self.username = username if username is not None else ''
30705        '''
30706         The username to authenticate with.
30707        '''
bind_interface

The bind interface is the IP 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)
30728    def to_dict(self):
30729        return {
30730            'bind_interface': self.bind_interface,
30731            'database': self.database,
30732            'egress_filter': self.egress_filter,
30733            'healthy': self.healthy,
30734            'hostname': self.hostname,
30735            'id': self.id,
30736            'name': self.name,
30737            'password': self.password,
30738            'port': self.port,
30739            'port_override': self.port_override,
30740            'proxy_cluster_id': self.proxy_cluster_id,
30741            'secret_store_id': self.secret_store_id,
30742            'subdomain': self.subdomain,
30743            'tags': self.tags,
30744            'username': self.username,
30745        }
@classmethod
def from_dict(cls, d)
30747    @classmethod
30748    def from_dict(cls, d):
30749        return cls(
30750            bind_interface=d.get('bind_interface'),
30751            database=d.get('database'),
30752            egress_filter=d.get('egress_filter'),
30753            healthy=d.get('healthy'),
30754            hostname=d.get('hostname'),
30755            id=d.get('id'),
30756            name=d.get('name'),
30757            password=d.get('password'),
30758            port=d.get('port'),
30759            port_override=d.get('port_override'),
30760            proxy_cluster_id=d.get('proxy_cluster_id'),
30761            secret_store_id=d.get('secret_store_id'),
30762            subdomain=d.get('subdomain'),
30763            tags=d.get('tags'),
30764            username=d.get('username'),
30765        )
class Workflow:
30768class Workflow:
30769    '''
30770         Workflows are the collection of rules that define the resources to which access can be requested,
30771     the users that can request that access, and the mechanism for approving those requests which can either
30772     but automatic approval or a set of users authorized to approve the requests.
30773    '''
30774    __slots__ = [
30775        'access_request_fixed_duration',
30776        'access_request_max_duration',
30777        'access_rules',
30778        'approval_flow_id',
30779        'auto_grant',
30780        'description',
30781        'enabled',
30782        'id',
30783        'name',
30784        'weight',
30785    ]
30786
30787    def __init__(
30788        self,
30789        access_request_fixed_duration=None,
30790        access_request_max_duration=None,
30791        access_rules=None,
30792        approval_flow_id=None,
30793        auto_grant=None,
30794        description=None,
30795        enabled=None,
30796        id=None,
30797        name=None,
30798        weight=None,
30799    ):
30800        self.access_request_fixed_duration = access_request_fixed_duration if access_request_fixed_duration is not None else None
30801        '''
30802         Fixed Duration of access requests bound to this workflow. If fixed duration is provided, max duration must be empty.
30803         If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.
30804        '''
30805        self.access_request_max_duration = access_request_max_duration if access_request_max_duration is not None else None
30806        '''
30807         Maximum Duration of access requests bound to this workflow. If max duration is provided, fixed duration must be empty.
30808         If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.
30809        '''
30810        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
30811        )
30812        '''
30813         AccessRules is a list of access rules defining the resources this Workflow provides access to.
30814        '''
30815        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
30816        '''
30817         Optional approval flow ID identifies an approval flow that linked to the workflow
30818        '''
30819        self.auto_grant = auto_grant if auto_grant is not None else False
30820        '''
30821         Optional auto grant setting to automatically approve requests or not, defaults to false.
30822        '''
30823        self.description = description if description is not None else ''
30824        '''
30825         Optional description of the Workflow.
30826        '''
30827        self.enabled = enabled if enabled is not None else False
30828        '''
30829         Optional enabled state for workflow. This setting may be overridden by the system if
30830         the workflow doesn't meet the requirements to be enabled or if other conditions prevent
30831         enabling the workflow. The requirements to enable a workflow are that the workflow must be
30832         either set up for with auto grant enabled or have one or more WorkflowApprovers created for
30833         the workflow.
30834        '''
30835        self.id = id if id is not None else ''
30836        '''
30837         Unique identifier of the Workflow.
30838        '''
30839        self.name = name if name is not None else ''
30840        '''
30841         Unique human-readable name of the Workflow.
30842        '''
30843        self.weight = weight if weight is not None else 0
30844        '''
30845         Optional weight for workflow to specify it's priority in matching a request.
30846        '''
30847
30848    def __repr__(self):
30849        return '<sdm.Workflow ' + \
30850            'access_request_fixed_duration: ' + repr(self.access_request_fixed_duration) + ' ' +\
30851            'access_request_max_duration: ' + repr(self.access_request_max_duration) + ' ' +\
30852            'access_rules: ' + repr(self.access_rules) + ' ' +\
30853            'approval_flow_id: ' + repr(self.approval_flow_id) + ' ' +\
30854            'auto_grant: ' + repr(self.auto_grant) + ' ' +\
30855            'description: ' + repr(self.description) + ' ' +\
30856            'enabled: ' + repr(self.enabled) + ' ' +\
30857            'id: ' + repr(self.id) + ' ' +\
30858            'name: ' + repr(self.name) + ' ' +\
30859            'weight: ' + repr(self.weight) + ' ' +\
30860            '>'
30861
30862    def to_dict(self):
30863        return {
30864            'access_request_fixed_duration':
30865            self.access_request_fixed_duration,
30866            'access_request_max_duration': self.access_request_max_duration,
30867            'access_rules': self.access_rules,
30868            'approval_flow_id': self.approval_flow_id,
30869            'auto_grant': self.auto_grant,
30870            'description': self.description,
30871            'enabled': self.enabled,
30872            'id': self.id,
30873            'name': self.name,
30874            'weight': self.weight,
30875        }
30876
30877    @classmethod
30878    def from_dict(cls, d):
30879        return cls(
30880            access_request_fixed_duration=d.get(
30881                'access_request_fixed_duration'),
30882            access_request_max_duration=d.get('access_request_max_duration'),
30883            access_rules=d.get('access_rules'),
30884            approval_flow_id=d.get('approval_flow_id'),
30885            auto_grant=d.get('auto_grant'),
30886            description=d.get('description'),
30887            enabled=d.get('enabled'),
30888            id=d.get('id'),
30889            name=d.get('name'),
30890            weight=d.get('weight'),
30891        )

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)
30787    def __init__(
30788        self,
30789        access_request_fixed_duration=None,
30790        access_request_max_duration=None,
30791        access_rules=None,
30792        approval_flow_id=None,
30793        auto_grant=None,
30794        description=None,
30795        enabled=None,
30796        id=None,
30797        name=None,
30798        weight=None,
30799    ):
30800        self.access_request_fixed_duration = access_request_fixed_duration if access_request_fixed_duration is not None else None
30801        '''
30802         Fixed Duration of access requests bound to this workflow. If fixed duration is provided, max duration must be empty.
30803         If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.
30804        '''
30805        self.access_request_max_duration = access_request_max_duration if access_request_max_duration is not None else None
30806        '''
30807         Maximum Duration of access requests bound to this workflow. If max duration is provided, fixed duration must be empty.
30808         If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.
30809        '''
30810        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
30811        )
30812        '''
30813         AccessRules is a list of access rules defining the resources this Workflow provides access to.
30814        '''
30815        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
30816        '''
30817         Optional approval flow ID identifies an approval flow that linked to the workflow
30818        '''
30819        self.auto_grant = auto_grant if auto_grant is not None else False
30820        '''
30821         Optional auto grant setting to automatically approve requests or not, defaults to false.
30822        '''
30823        self.description = description if description is not None else ''
30824        '''
30825         Optional description of the Workflow.
30826        '''
30827        self.enabled = enabled if enabled is not None else False
30828        '''
30829         Optional enabled state for workflow. This setting may be overridden by the system if
30830         the workflow doesn't meet the requirements to be enabled or if other conditions prevent
30831         enabling the workflow. The requirements to enable a workflow are that the workflow must be
30832         either set up for with auto grant enabled or have one or more WorkflowApprovers created for
30833         the workflow.
30834        '''
30835        self.id = id if id is not None else ''
30836        '''
30837         Unique identifier of the Workflow.
30838        '''
30839        self.name = name if name is not None else ''
30840        '''
30841         Unique human-readable name of the Workflow.
30842        '''
30843        self.weight = weight if weight is not None else 0
30844        '''
30845         Optional weight for workflow to specify it's priority in matching a request.
30846        '''
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)
30862    def to_dict(self):
30863        return {
30864            'access_request_fixed_duration':
30865            self.access_request_fixed_duration,
30866            'access_request_max_duration': self.access_request_max_duration,
30867            'access_rules': self.access_rules,
30868            'approval_flow_id': self.approval_flow_id,
30869            'auto_grant': self.auto_grant,
30870            'description': self.description,
30871            'enabled': self.enabled,
30872            'id': self.id,
30873            'name': self.name,
30874            'weight': self.weight,
30875        }
@classmethod
def from_dict(cls, d)
30877    @classmethod
30878    def from_dict(cls, d):
30879        return cls(
30880            access_request_fixed_duration=d.get(
30881                'access_request_fixed_duration'),
30882            access_request_max_duration=d.get('access_request_max_duration'),
30883            access_rules=d.get('access_rules'),
30884            approval_flow_id=d.get('approval_flow_id'),
30885            auto_grant=d.get('auto_grant'),
30886            description=d.get('description'),
30887            enabled=d.get('enabled'),
30888            id=d.get('id'),
30889            name=d.get('name'),
30890            weight=d.get('weight'),
30891        )
class WorkflowApprover:
30894class WorkflowApprover:
30895    '''
30896         WorkflowApprover is an account or a role with the ability to approve requests bound to a workflow.
30897    '''
30898    __slots__ = [
30899        'account_id',
30900        'id',
30901        'role_id',
30902        'workflow_id',
30903    ]
30904
30905    def __init__(
30906        self,
30907        account_id=None,
30908        id=None,
30909        role_id=None,
30910        workflow_id=None,
30911    ):
30912        self.account_id = account_id if account_id is not None else ''
30913        '''
30914         The approver account id.
30915        '''
30916        self.id = id if id is not None else ''
30917        '''
30918         Unique identifier of the WorkflowApprover.
30919        '''
30920        self.role_id = role_id if role_id is not None else ''
30921        '''
30922         The approver role id
30923        '''
30924        self.workflow_id = workflow_id if workflow_id is not None else ''
30925        '''
30926         The workflow id.
30927        '''
30928
30929    def __repr__(self):
30930        return '<sdm.WorkflowApprover ' + \
30931            'account_id: ' + repr(self.account_id) + ' ' +\
30932            'id: ' + repr(self.id) + ' ' +\
30933            'role_id: ' + repr(self.role_id) + ' ' +\
30934            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
30935            '>'
30936
30937    def to_dict(self):
30938        return {
30939            'account_id': self.account_id,
30940            'id': self.id,
30941            'role_id': self.role_id,
30942            'workflow_id': self.workflow_id,
30943        }
30944
30945    @classmethod
30946    def from_dict(cls, d):
30947        return cls(
30948            account_id=d.get('account_id'),
30949            id=d.get('id'),
30950            role_id=d.get('role_id'),
30951            workflow_id=d.get('workflow_id'),
30952        )

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)
30905    def __init__(
30906        self,
30907        account_id=None,
30908        id=None,
30909        role_id=None,
30910        workflow_id=None,
30911    ):
30912        self.account_id = account_id if account_id is not None else ''
30913        '''
30914         The approver account id.
30915        '''
30916        self.id = id if id is not None else ''
30917        '''
30918         Unique identifier of the WorkflowApprover.
30919        '''
30920        self.role_id = role_id if role_id is not None else ''
30921        '''
30922         The approver role id
30923        '''
30924        self.workflow_id = workflow_id if workflow_id is not None else ''
30925        '''
30926         The workflow id.
30927        '''
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)
30937    def to_dict(self):
30938        return {
30939            'account_id': self.account_id,
30940            'id': self.id,
30941            'role_id': self.role_id,
30942            'workflow_id': self.workflow_id,
30943        }
@classmethod
def from_dict(cls, d)
30945    @classmethod
30946    def from_dict(cls, d):
30947        return cls(
30948            account_id=d.get('account_id'),
30949            id=d.get('id'),
30950            role_id=d.get('role_id'),
30951            workflow_id=d.get('workflow_id'),
30952        )
class WorkflowApproverGetResponse:
30955class WorkflowApproverGetResponse:
30956    '''
30957         WorkflowApproverGetResponse returns a requested WorkflowApprover.
30958    '''
30959    __slots__ = [
30960        'meta',
30961        'rate_limit',
30962        'workflow_approver',
30963    ]
30964
30965    def __init__(
30966        self,
30967        meta=None,
30968        rate_limit=None,
30969        workflow_approver=None,
30970    ):
30971        self.meta = meta if meta is not None else None
30972        '''
30973         Reserved for future use.
30974        '''
30975        self.rate_limit = rate_limit if rate_limit is not None else None
30976        '''
30977         Rate limit information.
30978        '''
30979        self.workflow_approver = workflow_approver if workflow_approver is not None else None
30980        '''
30981         The requested WorkflowApprover.
30982        '''
30983
30984    def __repr__(self):
30985        return '<sdm.WorkflowApproverGetResponse ' + \
30986            'meta: ' + repr(self.meta) + ' ' +\
30987            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
30988            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
30989            '>'
30990
30991    def to_dict(self):
30992        return {
30993            'meta': self.meta,
30994            'rate_limit': self.rate_limit,
30995            'workflow_approver': self.workflow_approver,
30996        }
30997
30998    @classmethod
30999    def from_dict(cls, d):
31000        return cls(
31001            meta=d.get('meta'),
31002            rate_limit=d.get('rate_limit'),
31003            workflow_approver=d.get('workflow_approver'),
31004        )

WorkflowApproverGetResponse returns a requested WorkflowApprover.

WorkflowApproverGetResponse(meta=None, rate_limit=None, workflow_approver=None)
30965    def __init__(
30966        self,
30967        meta=None,
30968        rate_limit=None,
30969        workflow_approver=None,
30970    ):
30971        self.meta = meta if meta is not None else None
30972        '''
30973         Reserved for future use.
30974        '''
30975        self.rate_limit = rate_limit if rate_limit is not None else None
30976        '''
30977         Rate limit information.
30978        '''
30979        self.workflow_approver = workflow_approver if workflow_approver is not None else None
30980        '''
30981         The requested WorkflowApprover.
30982        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

workflow_approver

The requested WorkflowApprover.

def to_dict(self)
30991    def to_dict(self):
30992        return {
30993            'meta': self.meta,
30994            'rate_limit': self.rate_limit,
30995            'workflow_approver': self.workflow_approver,
30996        }
@classmethod
def from_dict(cls, d)
30998    @classmethod
30999    def from_dict(cls, d):
31000        return cls(
31001            meta=d.get('meta'),
31002            rate_limit=d.get('rate_limit'),
31003            workflow_approver=d.get('workflow_approver'),
31004        )
class WorkflowApproverHistory:
31007class WorkflowApproverHistory:
31008    '''
31009         WorkflowApproverHistory provides records of all changes to the state of a WorkflowApprover.
31010    '''
31011    __slots__ = [
31012        'activity_id',
31013        'deleted_at',
31014        'timestamp',
31015        'workflow_approver',
31016    ]
31017
31018    def __init__(
31019        self,
31020        activity_id=None,
31021        deleted_at=None,
31022        timestamp=None,
31023        workflow_approver=None,
31024    ):
31025        self.activity_id = activity_id if activity_id is not None else ''
31026        '''
31027         The unique identifier of the Activity that produced this change to the WorkflowApprover.
31028         May be empty for some system-initiated updates.
31029        '''
31030        self.deleted_at = deleted_at if deleted_at is not None else None
31031        '''
31032         If this WorkflowApprover was deleted, the time it was deleted.
31033        '''
31034        self.timestamp = timestamp if timestamp is not None else None
31035        '''
31036         The time at which the WorkflowApprover state was recorded.
31037        '''
31038        self.workflow_approver = workflow_approver if workflow_approver is not None else None
31039        '''
31040         The complete WorkflowApprover state at this time.
31041        '''
31042
31043    def __repr__(self):
31044        return '<sdm.WorkflowApproverHistory ' + \
31045            'activity_id: ' + repr(self.activity_id) + ' ' +\
31046            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
31047            'timestamp: ' + repr(self.timestamp) + ' ' +\
31048            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
31049            '>'
31050
31051    def to_dict(self):
31052        return {
31053            'activity_id': self.activity_id,
31054            'deleted_at': self.deleted_at,
31055            'timestamp': self.timestamp,
31056            'workflow_approver': self.workflow_approver,
31057        }
31058
31059    @classmethod
31060    def from_dict(cls, d):
31061        return cls(
31062            activity_id=d.get('activity_id'),
31063            deleted_at=d.get('deleted_at'),
31064            timestamp=d.get('timestamp'),
31065            workflow_approver=d.get('workflow_approver'),
31066        )

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

WorkflowApproverHistory( activity_id=None, deleted_at=None, timestamp=None, workflow_approver=None)
31018    def __init__(
31019        self,
31020        activity_id=None,
31021        deleted_at=None,
31022        timestamp=None,
31023        workflow_approver=None,
31024    ):
31025        self.activity_id = activity_id if activity_id is not None else ''
31026        '''
31027         The unique identifier of the Activity that produced this change to the WorkflowApprover.
31028         May be empty for some system-initiated updates.
31029        '''
31030        self.deleted_at = deleted_at if deleted_at is not None else None
31031        '''
31032         If this WorkflowApprover was deleted, the time it was deleted.
31033        '''
31034        self.timestamp = timestamp if timestamp is not None else None
31035        '''
31036         The time at which the WorkflowApprover state was recorded.
31037        '''
31038        self.workflow_approver = workflow_approver if workflow_approver is not None else None
31039        '''
31040         The complete WorkflowApprover state at this time.
31041        '''
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)
31051    def to_dict(self):
31052        return {
31053            'activity_id': self.activity_id,
31054            'deleted_at': self.deleted_at,
31055            'timestamp': self.timestamp,
31056            'workflow_approver': self.workflow_approver,
31057        }
@classmethod
def from_dict(cls, d)
31059    @classmethod
31060    def from_dict(cls, d):
31061        return cls(
31062            activity_id=d.get('activity_id'),
31063            deleted_at=d.get('deleted_at'),
31064            timestamp=d.get('timestamp'),
31065            workflow_approver=d.get('workflow_approver'),
31066        )
class WorkflowApproversCreateRequest:
31069class WorkflowApproversCreateRequest:
31070    '''
31071         WorkflowApproversCreateRequest specifies the workflowID and approverID of a new
31072     workflow approver to be created.
31073    '''
31074    __slots__ = [
31075        'workflow_approver',
31076    ]
31077
31078    def __init__(
31079        self,
31080        workflow_approver=None,
31081    ):
31082        self.workflow_approver = workflow_approver if workflow_approver is not None else None
31083        '''
31084         Parameters to define the new WorkflowApprover.
31085        '''
31086
31087    def __repr__(self):
31088        return '<sdm.WorkflowApproversCreateRequest ' + \
31089            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
31090            '>'
31091
31092    def to_dict(self):
31093        return {
31094            'workflow_approver': self.workflow_approver,
31095        }
31096
31097    @classmethod
31098    def from_dict(cls, d):
31099        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)
31078    def __init__(
31079        self,
31080        workflow_approver=None,
31081    ):
31082        self.workflow_approver = workflow_approver if workflow_approver is not None else None
31083        '''
31084         Parameters to define the new WorkflowApprover.
31085        '''
workflow_approver

Parameters to define the new WorkflowApprover.

def to_dict(self)
31092    def to_dict(self):
31093        return {
31094            'workflow_approver': self.workflow_approver,
31095        }
@classmethod
def from_dict(cls, d)
31097    @classmethod
31098    def from_dict(cls, d):
31099        return cls(workflow_approver=d.get('workflow_approver'), )
class WorkflowApproversCreateResponse:
31102class WorkflowApproversCreateResponse:
31103    '''
31104         WorkflowApproversCreateResponse reports how the WorkflowApprover was created in the system.
31105    '''
31106    __slots__ = [
31107        'rate_limit',
31108        'workflow_approver',
31109    ]
31110
31111    def __init__(
31112        self,
31113        rate_limit=None,
31114        workflow_approver=None,
31115    ):
31116        self.rate_limit = rate_limit if rate_limit is not None else None
31117        '''
31118         Rate limit information.
31119        '''
31120        self.workflow_approver = workflow_approver if workflow_approver is not None else None
31121        '''
31122         The created workflow approver.
31123        '''
31124
31125    def __repr__(self):
31126        return '<sdm.WorkflowApproversCreateResponse ' + \
31127            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31128            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
31129            '>'
31130
31131    def to_dict(self):
31132        return {
31133            'rate_limit': self.rate_limit,
31134            'workflow_approver': self.workflow_approver,
31135        }
31136
31137    @classmethod
31138    def from_dict(cls, d):
31139        return cls(
31140            rate_limit=d.get('rate_limit'),
31141            workflow_approver=d.get('workflow_approver'),
31142        )

WorkflowApproversCreateResponse reports how the WorkflowApprover was created in the system.

WorkflowApproversCreateResponse(rate_limit=None, workflow_approver=None)
31111    def __init__(
31112        self,
31113        rate_limit=None,
31114        workflow_approver=None,
31115    ):
31116        self.rate_limit = rate_limit if rate_limit is not None else None
31117        '''
31118         Rate limit information.
31119        '''
31120        self.workflow_approver = workflow_approver if workflow_approver is not None else None
31121        '''
31122         The created workflow approver.
31123        '''
rate_limit

Rate limit information.

workflow_approver

The created workflow approver.

def to_dict(self)
31131    def to_dict(self):
31132        return {
31133            'rate_limit': self.rate_limit,
31134            'workflow_approver': self.workflow_approver,
31135        }
@classmethod
def from_dict(cls, d)
31137    @classmethod
31138    def from_dict(cls, d):
31139        return cls(
31140            rate_limit=d.get('rate_limit'),
31141            workflow_approver=d.get('workflow_approver'),
31142        )
class WorkflowApproversDeleteRequest:
31145class WorkflowApproversDeleteRequest:
31146    '''
31147         WorkflowApproversDeleteRequest specifies the ID of a WorkflowApprover to be deleted.
31148    '''
31149    __slots__ = [
31150        'id',
31151    ]
31152
31153    def __init__(
31154        self,
31155        id=None,
31156    ):
31157        self.id = id if id is not None else ''
31158        '''
31159         The unique identifier of the WorkflowApprover to delete.
31160        '''
31161
31162    def __repr__(self):
31163        return '<sdm.WorkflowApproversDeleteRequest ' + \
31164            'id: ' + repr(self.id) + ' ' +\
31165            '>'
31166
31167    def to_dict(self):
31168        return {
31169            'id': self.id,
31170        }
31171
31172    @classmethod
31173    def from_dict(cls, d):
31174        return cls(id=d.get('id'), )

WorkflowApproversDeleteRequest specifies the ID of a WorkflowApprover to be deleted.

WorkflowApproversDeleteRequest(id=None)
31153    def __init__(
31154        self,
31155        id=None,
31156    ):
31157        self.id = id if id is not None else ''
31158        '''
31159         The unique identifier of the WorkflowApprover to delete.
31160        '''
id

The unique identifier of the WorkflowApprover to delete.

def to_dict(self)
31167    def to_dict(self):
31168        return {
31169            'id': self.id,
31170        }
@classmethod
def from_dict(cls, d)
31172    @classmethod
31173    def from_dict(cls, d):
31174        return cls(id=d.get('id'), )
class WorkflowApproversDeleteResponse:
31177class WorkflowApproversDeleteResponse:
31178    '''
31179         WorkflowApproversDeleteResponse reports how the WorkflowApprover was deleted in the system.
31180    '''
31181    __slots__ = [
31182        'rate_limit',
31183    ]
31184
31185    def __init__(
31186        self,
31187        rate_limit=None,
31188    ):
31189        self.rate_limit = rate_limit if rate_limit is not None else None
31190        '''
31191         Rate limit information.
31192        '''
31193
31194    def __repr__(self):
31195        return '<sdm.WorkflowApproversDeleteResponse ' + \
31196            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31197            '>'
31198
31199    def to_dict(self):
31200        return {
31201            'rate_limit': self.rate_limit,
31202        }
31203
31204    @classmethod
31205    def from_dict(cls, d):
31206        return cls(rate_limit=d.get('rate_limit'), )

WorkflowApproversDeleteResponse reports how the WorkflowApprover was deleted in the system.

WorkflowApproversDeleteResponse(rate_limit=None)
31185    def __init__(
31186        self,
31187        rate_limit=None,
31188    ):
31189        self.rate_limit = rate_limit if rate_limit is not None else None
31190        '''
31191         Rate limit information.
31192        '''
rate_limit

Rate limit information.

def to_dict(self)
31199    def to_dict(self):
31200        return {
31201            'rate_limit': self.rate_limit,
31202        }
@classmethod
def from_dict(cls, d)
31204    @classmethod
31205    def from_dict(cls, d):
31206        return cls(rate_limit=d.get('rate_limit'), )
class WorkflowApproversListRequest:
31209class WorkflowApproversListRequest:
31210    '''
31211         WorkflowApproversListRequest specifies criteria for retrieving a list of
31212     WorkflowApprover records
31213    '''
31214    __slots__ = [
31215        'filter',
31216    ]
31217
31218    def __init__(
31219        self,
31220        filter=None,
31221    ):
31222        self.filter = filter if filter is not None else ''
31223        '''
31224         A human-readable filter query string.
31225        '''
31226
31227    def __repr__(self):
31228        return '<sdm.WorkflowApproversListRequest ' + \
31229            'filter: ' + repr(self.filter) + ' ' +\
31230            '>'
31231
31232    def to_dict(self):
31233        return {
31234            'filter': self.filter,
31235        }
31236
31237    @classmethod
31238    def from_dict(cls, d):
31239        return cls(filter=d.get('filter'), )

WorkflowApproversListRequest specifies criteria for retrieving a list of WorkflowApprover records

WorkflowApproversListRequest(filter=None)
31218    def __init__(
31219        self,
31220        filter=None,
31221    ):
31222        self.filter = filter if filter is not None else ''
31223        '''
31224         A human-readable filter query string.
31225        '''
filter

A human-readable filter query string.

def to_dict(self)
31232    def to_dict(self):
31233        return {
31234            'filter': self.filter,
31235        }
@classmethod
def from_dict(cls, d)
31237    @classmethod
31238    def from_dict(cls, d):
31239        return cls(filter=d.get('filter'), )
class WorkflowApproversListResponse:
31242class WorkflowApproversListResponse:
31243    '''
31244         WorkflowApproversListResponse returns a list of WorkflowApprover records that meet
31245     the criteria of a WorkflowApproversListRequest.
31246    '''
31247    __slots__ = [
31248        'rate_limit',
31249    ]
31250
31251    def __init__(
31252        self,
31253        rate_limit=None,
31254    ):
31255        self.rate_limit = rate_limit if rate_limit is not None else None
31256        '''
31257         Rate limit information.
31258        '''
31259
31260    def __repr__(self):
31261        return '<sdm.WorkflowApproversListResponse ' + \
31262            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31263            '>'
31264
31265    def to_dict(self):
31266        return {
31267            'rate_limit': self.rate_limit,
31268        }
31269
31270    @classmethod
31271    def from_dict(cls, d):
31272        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)
31251    def __init__(
31252        self,
31253        rate_limit=None,
31254    ):
31255        self.rate_limit = rate_limit if rate_limit is not None else None
31256        '''
31257         Rate limit information.
31258        '''
rate_limit

Rate limit information.

def to_dict(self)
31265    def to_dict(self):
31266        return {
31267            'rate_limit': self.rate_limit,
31268        }
@classmethod
def from_dict(cls, d)
31270    @classmethod
31271    def from_dict(cls, d):
31272        return cls(rate_limit=d.get('rate_limit'), )
class WorkflowAssignment:
31275class WorkflowAssignment:
31276    '''
31277         WorkflowAssignment links a Resource to a Workflow. The assigned resources are those that a user can request
31278     access to via the workflow.
31279    '''
31280    __slots__ = [
31281        'resource_id',
31282        'workflow_id',
31283    ]
31284
31285    def __init__(
31286        self,
31287        resource_id=None,
31288        workflow_id=None,
31289    ):
31290        self.resource_id = resource_id if resource_id is not None else ''
31291        '''
31292         The resource id.
31293        '''
31294        self.workflow_id = workflow_id if workflow_id is not None else ''
31295        '''
31296         The workflow id.
31297        '''
31298
31299    def __repr__(self):
31300        return '<sdm.WorkflowAssignment ' + \
31301            'resource_id: ' + repr(self.resource_id) + ' ' +\
31302            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
31303            '>'
31304
31305    def to_dict(self):
31306        return {
31307            'resource_id': self.resource_id,
31308            'workflow_id': self.workflow_id,
31309        }
31310
31311    @classmethod
31312    def from_dict(cls, d):
31313        return cls(
31314            resource_id=d.get('resource_id'),
31315            workflow_id=d.get('workflow_id'),
31316        )

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

WorkflowAssignment(resource_id=None, workflow_id=None)
31285    def __init__(
31286        self,
31287        resource_id=None,
31288        workflow_id=None,
31289    ):
31290        self.resource_id = resource_id if resource_id is not None else ''
31291        '''
31292         The resource id.
31293        '''
31294        self.workflow_id = workflow_id if workflow_id is not None else ''
31295        '''
31296         The workflow id.
31297        '''
resource_id

The resource id.

workflow_id

The workflow id.

def to_dict(self)
31305    def to_dict(self):
31306        return {
31307            'resource_id': self.resource_id,
31308            'workflow_id': self.workflow_id,
31309        }
@classmethod
def from_dict(cls, d)
31311    @classmethod
31312    def from_dict(cls, d):
31313        return cls(
31314            resource_id=d.get('resource_id'),
31315            workflow_id=d.get('workflow_id'),
31316        )
class WorkflowAssignmentHistory:
31319class WorkflowAssignmentHistory:
31320    '''
31321         WorkflowAssignmentsHistory provides records of all changes to the state of a WorkflowAssignment.
31322    '''
31323    __slots__ = [
31324        'activity_id',
31325        'deleted_at',
31326        'timestamp',
31327        'workflow_assignment',
31328    ]
31329
31330    def __init__(
31331        self,
31332        activity_id=None,
31333        deleted_at=None,
31334        timestamp=None,
31335        workflow_assignment=None,
31336    ):
31337        self.activity_id = activity_id if activity_id is not None else ''
31338        '''
31339         The unique identifier of the Activity that produced this change to the WorkflowAssignment.
31340         May be empty for some system-initiated updates.
31341        '''
31342        self.deleted_at = deleted_at if deleted_at is not None else None
31343        '''
31344         If this WorkflowAssignment was deleted, the time it was deleted.
31345        '''
31346        self.timestamp = timestamp if timestamp is not None else None
31347        '''
31348         The time at which the WorkflowAssignment state was recorded.
31349        '''
31350        self.workflow_assignment = workflow_assignment if workflow_assignment is not None else None
31351        '''
31352         The complete WorkflowAssignment state at this time.
31353        '''
31354
31355    def __repr__(self):
31356        return '<sdm.WorkflowAssignmentHistory ' + \
31357            'activity_id: ' + repr(self.activity_id) + ' ' +\
31358            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
31359            'timestamp: ' + repr(self.timestamp) + ' ' +\
31360            'workflow_assignment: ' + repr(self.workflow_assignment) + ' ' +\
31361            '>'
31362
31363    def to_dict(self):
31364        return {
31365            'activity_id': self.activity_id,
31366            'deleted_at': self.deleted_at,
31367            'timestamp': self.timestamp,
31368            'workflow_assignment': self.workflow_assignment,
31369        }
31370
31371    @classmethod
31372    def from_dict(cls, d):
31373        return cls(
31374            activity_id=d.get('activity_id'),
31375            deleted_at=d.get('deleted_at'),
31376            timestamp=d.get('timestamp'),
31377            workflow_assignment=d.get('workflow_assignment'),
31378        )

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

WorkflowAssignmentHistory( activity_id=None, deleted_at=None, timestamp=None, workflow_assignment=None)
31330    def __init__(
31331        self,
31332        activity_id=None,
31333        deleted_at=None,
31334        timestamp=None,
31335        workflow_assignment=None,
31336    ):
31337        self.activity_id = activity_id if activity_id is not None else ''
31338        '''
31339         The unique identifier of the Activity that produced this change to the WorkflowAssignment.
31340         May be empty for some system-initiated updates.
31341        '''
31342        self.deleted_at = deleted_at if deleted_at is not None else None
31343        '''
31344         If this WorkflowAssignment was deleted, the time it was deleted.
31345        '''
31346        self.timestamp = timestamp if timestamp is not None else None
31347        '''
31348         The time at which the WorkflowAssignment state was recorded.
31349        '''
31350        self.workflow_assignment = workflow_assignment if workflow_assignment is not None else None
31351        '''
31352         The complete WorkflowAssignment state at this time.
31353        '''
activity_id

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

deleted_at

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

timestamp

The time at which the WorkflowAssignment state was recorded.

workflow_assignment

The complete WorkflowAssignment state at this time.

def to_dict(self)
31363    def to_dict(self):
31364        return {
31365            'activity_id': self.activity_id,
31366            'deleted_at': self.deleted_at,
31367            'timestamp': self.timestamp,
31368            'workflow_assignment': self.workflow_assignment,
31369        }
@classmethod
def from_dict(cls, d)
31371    @classmethod
31372    def from_dict(cls, d):
31373        return cls(
31374            activity_id=d.get('activity_id'),
31375            deleted_at=d.get('deleted_at'),
31376            timestamp=d.get('timestamp'),
31377            workflow_assignment=d.get('workflow_assignment'),
31378        )
class WorkflowAssignmentsListRequest:
31381class WorkflowAssignmentsListRequest:
31382    '''
31383         WorkflowAssignmentsListRequest specifies criteria for retrieving a list of
31384     WorkflowAssignment records
31385    '''
31386    __slots__ = [
31387        'filter',
31388    ]
31389
31390    def __init__(
31391        self,
31392        filter=None,
31393    ):
31394        self.filter = filter if filter is not None else ''
31395        '''
31396         A human-readable filter query string.
31397        '''
31398
31399    def __repr__(self):
31400        return '<sdm.WorkflowAssignmentsListRequest ' + \
31401            'filter: ' + repr(self.filter) + ' ' +\
31402            '>'
31403
31404    def to_dict(self):
31405        return {
31406            'filter': self.filter,
31407        }
31408
31409    @classmethod
31410    def from_dict(cls, d):
31411        return cls(filter=d.get('filter'), )

WorkflowAssignmentsListRequest specifies criteria for retrieving a list of WorkflowAssignment records

WorkflowAssignmentsListRequest(filter=None)
31390    def __init__(
31391        self,
31392        filter=None,
31393    ):
31394        self.filter = filter if filter is not None else ''
31395        '''
31396         A human-readable filter query string.
31397        '''
filter

A human-readable filter query string.

def to_dict(self)
31404    def to_dict(self):
31405        return {
31406            'filter': self.filter,
31407        }
@classmethod
def from_dict(cls, d)
31409    @classmethod
31410    def from_dict(cls, d):
31411        return cls(filter=d.get('filter'), )
class WorkflowAssignmentsListResponse:
31414class WorkflowAssignmentsListResponse:
31415    '''
31416         WorkflowAssignmentsListResponse returns a list of WorkflowAssignment records that meet
31417     the criteria of a WorkflowAssignmentsListRequest.
31418    '''
31419    __slots__ = [
31420        'rate_limit',
31421    ]
31422
31423    def __init__(
31424        self,
31425        rate_limit=None,
31426    ):
31427        self.rate_limit = rate_limit if rate_limit is not None else None
31428        '''
31429         Rate limit information.
31430        '''
31431
31432    def __repr__(self):
31433        return '<sdm.WorkflowAssignmentsListResponse ' + \
31434            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31435            '>'
31436
31437    def to_dict(self):
31438        return {
31439            'rate_limit': self.rate_limit,
31440        }
31441
31442    @classmethod
31443    def from_dict(cls, d):
31444        return cls(rate_limit=d.get('rate_limit'), )

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

WorkflowAssignmentsListResponse(rate_limit=None)
31423    def __init__(
31424        self,
31425        rate_limit=None,
31426    ):
31427        self.rate_limit = rate_limit if rate_limit is not None else None
31428        '''
31429         Rate limit information.
31430        '''
rate_limit

Rate limit information.

def to_dict(self)
31437    def to_dict(self):
31438        return {
31439            'rate_limit': self.rate_limit,
31440        }
@classmethod
def from_dict(cls, d)
31442    @classmethod
31443    def from_dict(cls, d):
31444        return cls(rate_limit=d.get('rate_limit'), )
class WorkflowCreateResponse:
31447class WorkflowCreateResponse:
31448    '''
31449         WorkflowCreateResponse reports how the Workflow was created in the system.
31450    '''
31451    __slots__ = [
31452        'rate_limit',
31453        'workflow',
31454    ]
31455
31456    def __init__(
31457        self,
31458        rate_limit=None,
31459        workflow=None,
31460    ):
31461        self.rate_limit = rate_limit if rate_limit is not None else None
31462        '''
31463         Rate limit information.
31464        '''
31465        self.workflow = workflow if workflow is not None else None
31466        '''
31467         The created workflow.
31468        '''
31469
31470    def __repr__(self):
31471        return '<sdm.WorkflowCreateResponse ' + \
31472            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31473            'workflow: ' + repr(self.workflow) + ' ' +\
31474            '>'
31475
31476    def to_dict(self):
31477        return {
31478            'rate_limit': self.rate_limit,
31479            'workflow': self.workflow,
31480        }
31481
31482    @classmethod
31483    def from_dict(cls, d):
31484        return cls(
31485            rate_limit=d.get('rate_limit'),
31486            workflow=d.get('workflow'),
31487        )

WorkflowCreateResponse reports how the Workflow was created in the system.

WorkflowCreateResponse(rate_limit=None, workflow=None)
31456    def __init__(
31457        self,
31458        rate_limit=None,
31459        workflow=None,
31460    ):
31461        self.rate_limit = rate_limit if rate_limit is not None else None
31462        '''
31463         Rate limit information.
31464        '''
31465        self.workflow = workflow if workflow is not None else None
31466        '''
31467         The created workflow.
31468        '''
rate_limit

Rate limit information.

workflow

The created workflow.

def to_dict(self)
31476    def to_dict(self):
31477        return {
31478            'rate_limit': self.rate_limit,
31479            'workflow': self.workflow,
31480        }
@classmethod
def from_dict(cls, d)
31482    @classmethod
31483    def from_dict(cls, d):
31484        return cls(
31485            rate_limit=d.get('rate_limit'),
31486            workflow=d.get('workflow'),
31487        )
class WorkflowDeleteResponse:
31490class WorkflowDeleteResponse:
31491    '''
31492         WorkflowDeleteResponse returns information about a Workflow that was deleted.
31493    '''
31494    __slots__ = [
31495        'id',
31496        'rate_limit',
31497    ]
31498
31499    def __init__(
31500        self,
31501        id=None,
31502        rate_limit=None,
31503    ):
31504        self.id = id if id is not None else ''
31505        '''
31506         The deleted workflow id.
31507        '''
31508        self.rate_limit = rate_limit if rate_limit is not None else None
31509        '''
31510         Rate limit information.
31511        '''
31512
31513    def __repr__(self):
31514        return '<sdm.WorkflowDeleteResponse ' + \
31515            'id: ' + repr(self.id) + ' ' +\
31516            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31517            '>'
31518
31519    def to_dict(self):
31520        return {
31521            'id': self.id,
31522            'rate_limit': self.rate_limit,
31523        }
31524
31525    @classmethod
31526    def from_dict(cls, d):
31527        return cls(
31528            id=d.get('id'),
31529            rate_limit=d.get('rate_limit'),
31530        )

WorkflowDeleteResponse returns information about a Workflow that was deleted.

WorkflowDeleteResponse(id=None, rate_limit=None)
31499    def __init__(
31500        self,
31501        id=None,
31502        rate_limit=None,
31503    ):
31504        self.id = id if id is not None else ''
31505        '''
31506         The deleted workflow id.
31507        '''
31508        self.rate_limit = rate_limit if rate_limit is not None else None
31509        '''
31510         Rate limit information.
31511        '''
id

The deleted workflow id.

rate_limit

Rate limit information.

def to_dict(self)
31519    def to_dict(self):
31520        return {
31521            'id': self.id,
31522            'rate_limit': self.rate_limit,
31523        }
@classmethod
def from_dict(cls, d)
31525    @classmethod
31526    def from_dict(cls, d):
31527        return cls(
31528            id=d.get('id'),
31529            rate_limit=d.get('rate_limit'),
31530        )
class WorkflowGetResponse:
31533class WorkflowGetResponse:
31534    '''
31535         WorkflowGetResponse returns a requested Workflow.
31536    '''
31537    __slots__ = [
31538        'meta',
31539        'rate_limit',
31540        'workflow',
31541    ]
31542
31543    def __init__(
31544        self,
31545        meta=None,
31546        rate_limit=None,
31547        workflow=None,
31548    ):
31549        self.meta = meta if meta is not None else None
31550        '''
31551         Reserved for future use.
31552        '''
31553        self.rate_limit = rate_limit if rate_limit is not None else None
31554        '''
31555         Rate limit information.
31556        '''
31557        self.workflow = workflow if workflow is not None else None
31558        '''
31559         The requested Workflow.
31560        '''
31561
31562    def __repr__(self):
31563        return '<sdm.WorkflowGetResponse ' + \
31564            'meta: ' + repr(self.meta) + ' ' +\
31565            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31566            'workflow: ' + repr(self.workflow) + ' ' +\
31567            '>'
31568
31569    def to_dict(self):
31570        return {
31571            'meta': self.meta,
31572            'rate_limit': self.rate_limit,
31573            'workflow': self.workflow,
31574        }
31575
31576    @classmethod
31577    def from_dict(cls, d):
31578        return cls(
31579            meta=d.get('meta'),
31580            rate_limit=d.get('rate_limit'),
31581            workflow=d.get('workflow'),
31582        )

WorkflowGetResponse returns a requested Workflow.

WorkflowGetResponse(meta=None, rate_limit=None, workflow=None)
31543    def __init__(
31544        self,
31545        meta=None,
31546        rate_limit=None,
31547        workflow=None,
31548    ):
31549        self.meta = meta if meta is not None else None
31550        '''
31551         Reserved for future use.
31552        '''
31553        self.rate_limit = rate_limit if rate_limit is not None else None
31554        '''
31555         Rate limit information.
31556        '''
31557        self.workflow = workflow if workflow is not None else None
31558        '''
31559         The requested Workflow.
31560        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

workflow

The requested Workflow.

def to_dict(self)
31569    def to_dict(self):
31570        return {
31571            'meta': self.meta,
31572            'rate_limit': self.rate_limit,
31573            'workflow': self.workflow,
31574        }
@classmethod
def from_dict(cls, d)
31576    @classmethod
31577    def from_dict(cls, d):
31578        return cls(
31579            meta=d.get('meta'),
31580            rate_limit=d.get('rate_limit'),
31581            workflow=d.get('workflow'),
31582        )
class WorkflowHistory:
31585class WorkflowHistory:
31586    '''
31587         WorkflowsHistory provides records of all changes to the state of a Workflow.
31588    '''
31589    __slots__ = [
31590        'activity_id',
31591        'deleted_at',
31592        'timestamp',
31593        'workflow',
31594    ]
31595
31596    def __init__(
31597        self,
31598        activity_id=None,
31599        deleted_at=None,
31600        timestamp=None,
31601        workflow=None,
31602    ):
31603        self.activity_id = activity_id if activity_id is not None else ''
31604        '''
31605         The unique identifier of the Activity that produced this change to the Workflow.
31606         May be empty for some system-initiated updates.
31607        '''
31608        self.deleted_at = deleted_at if deleted_at is not None else None
31609        '''
31610         If this Workflow was deleted, the time it was deleted.
31611        '''
31612        self.timestamp = timestamp if timestamp is not None else None
31613        '''
31614         The time at which the Workflow state was recorded.
31615        '''
31616        self.workflow = workflow if workflow is not None else None
31617        '''
31618         The complete Workflow state at this time.
31619        '''
31620
31621    def __repr__(self):
31622        return '<sdm.WorkflowHistory ' + \
31623            'activity_id: ' + repr(self.activity_id) + ' ' +\
31624            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
31625            'timestamp: ' + repr(self.timestamp) + ' ' +\
31626            'workflow: ' + repr(self.workflow) + ' ' +\
31627            '>'
31628
31629    def to_dict(self):
31630        return {
31631            'activity_id': self.activity_id,
31632            'deleted_at': self.deleted_at,
31633            'timestamp': self.timestamp,
31634            'workflow': self.workflow,
31635        }
31636
31637    @classmethod
31638    def from_dict(cls, d):
31639        return cls(
31640            activity_id=d.get('activity_id'),
31641            deleted_at=d.get('deleted_at'),
31642            timestamp=d.get('timestamp'),
31643            workflow=d.get('workflow'),
31644        )

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

WorkflowHistory(activity_id=None, deleted_at=None, timestamp=None, workflow=None)
31596    def __init__(
31597        self,
31598        activity_id=None,
31599        deleted_at=None,
31600        timestamp=None,
31601        workflow=None,
31602    ):
31603        self.activity_id = activity_id if activity_id is not None else ''
31604        '''
31605         The unique identifier of the Activity that produced this change to the Workflow.
31606         May be empty for some system-initiated updates.
31607        '''
31608        self.deleted_at = deleted_at if deleted_at is not None else None
31609        '''
31610         If this Workflow was deleted, the time it was deleted.
31611        '''
31612        self.timestamp = timestamp if timestamp is not None else None
31613        '''
31614         The time at which the Workflow state was recorded.
31615        '''
31616        self.workflow = workflow if workflow is not None else None
31617        '''
31618         The complete Workflow state at this time.
31619        '''
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)
31629    def to_dict(self):
31630        return {
31631            'activity_id': self.activity_id,
31632            'deleted_at': self.deleted_at,
31633            'timestamp': self.timestamp,
31634            'workflow': self.workflow,
31635        }
@classmethod
def from_dict(cls, d)
31637    @classmethod
31638    def from_dict(cls, d):
31639        return cls(
31640            activity_id=d.get('activity_id'),
31641            deleted_at=d.get('deleted_at'),
31642            timestamp=d.get('timestamp'),
31643            workflow=d.get('workflow'),
31644        )
class WorkflowListResponse:
31647class WorkflowListResponse:
31648    '''
31649         WorkflowListResponse returns a list of Workflow records that meet
31650     the criteria of a WorkflowListRequest.
31651    '''
31652    __slots__ = [
31653        'rate_limit',
31654    ]
31655
31656    def __init__(
31657        self,
31658        rate_limit=None,
31659    ):
31660        self.rate_limit = rate_limit if rate_limit is not None else None
31661        '''
31662         Rate limit information.
31663        '''
31664
31665    def __repr__(self):
31666        return '<sdm.WorkflowListResponse ' + \
31667            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31668            '>'
31669
31670    def to_dict(self):
31671        return {
31672            'rate_limit': self.rate_limit,
31673        }
31674
31675    @classmethod
31676    def from_dict(cls, d):
31677        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)
31656    def __init__(
31657        self,
31658        rate_limit=None,
31659    ):
31660        self.rate_limit = rate_limit if rate_limit is not None else None
31661        '''
31662         Rate limit information.
31663        '''
rate_limit

Rate limit information.

def to_dict(self)
31670    def to_dict(self):
31671        return {
31672            'rate_limit': self.rate_limit,
31673        }
@classmethod
def from_dict(cls, d)
31675    @classmethod
31676    def from_dict(cls, d):
31677        return cls(rate_limit=d.get('rate_limit'), )
class WorkflowRole:
31680class WorkflowRole:
31681    '''
31682         WorkflowRole links a role to a workflow. The linked roles indicate which roles a user must be a part of
31683     to request access to a resource via the workflow.
31684    '''
31685    __slots__ = [
31686        'id',
31687        'role_id',
31688        'workflow_id',
31689    ]
31690
31691    def __init__(
31692        self,
31693        id=None,
31694        role_id=None,
31695        workflow_id=None,
31696    ):
31697        self.id = id if id is not None else ''
31698        '''
31699         Unique identifier of the WorkflowRole.
31700        '''
31701        self.role_id = role_id if role_id is not None else ''
31702        '''
31703         The role id.
31704        '''
31705        self.workflow_id = workflow_id if workflow_id is not None else ''
31706        '''
31707         The workflow id.
31708        '''
31709
31710    def __repr__(self):
31711        return '<sdm.WorkflowRole ' + \
31712            'id: ' + repr(self.id) + ' ' +\
31713            'role_id: ' + repr(self.role_id) + ' ' +\
31714            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
31715            '>'
31716
31717    def to_dict(self):
31718        return {
31719            'id': self.id,
31720            'role_id': self.role_id,
31721            'workflow_id': self.workflow_id,
31722        }
31723
31724    @classmethod
31725    def from_dict(cls, d):
31726        return cls(
31727            id=d.get('id'),
31728            role_id=d.get('role_id'),
31729            workflow_id=d.get('workflow_id'),
31730        )

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)
31691    def __init__(
31692        self,
31693        id=None,
31694        role_id=None,
31695        workflow_id=None,
31696    ):
31697        self.id = id if id is not None else ''
31698        '''
31699         Unique identifier of the WorkflowRole.
31700        '''
31701        self.role_id = role_id if role_id is not None else ''
31702        '''
31703         The role id.
31704        '''
31705        self.workflow_id = workflow_id if workflow_id is not None else ''
31706        '''
31707         The workflow id.
31708        '''
id

Unique identifier of the WorkflowRole.

role_id

The role id.

workflow_id

The workflow id.

def to_dict(self)
31717    def to_dict(self):
31718        return {
31719            'id': self.id,
31720            'role_id': self.role_id,
31721            'workflow_id': self.workflow_id,
31722        }
@classmethod
def from_dict(cls, d)
31724    @classmethod
31725    def from_dict(cls, d):
31726        return cls(
31727            id=d.get('id'),
31728            role_id=d.get('role_id'),
31729            workflow_id=d.get('workflow_id'),
31730        )
class WorkflowRoleGetResponse:
31733class WorkflowRoleGetResponse:
31734    '''
31735         WorkflowRoleGetResponse returns a requested WorkflowRole.
31736    '''
31737    __slots__ = [
31738        'meta',
31739        'rate_limit',
31740        'workflow_role',
31741    ]
31742
31743    def __init__(
31744        self,
31745        meta=None,
31746        rate_limit=None,
31747        workflow_role=None,
31748    ):
31749        self.meta = meta if meta is not None else None
31750        '''
31751         Reserved for future use.
31752        '''
31753        self.rate_limit = rate_limit if rate_limit is not None else None
31754        '''
31755         Rate limit information.
31756        '''
31757        self.workflow_role = workflow_role if workflow_role is not None else None
31758        '''
31759         The requested WorkflowRole.
31760        '''
31761
31762    def __repr__(self):
31763        return '<sdm.WorkflowRoleGetResponse ' + \
31764            'meta: ' + repr(self.meta) + ' ' +\
31765            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31766            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
31767            '>'
31768
31769    def to_dict(self):
31770        return {
31771            'meta': self.meta,
31772            'rate_limit': self.rate_limit,
31773            'workflow_role': self.workflow_role,
31774        }
31775
31776    @classmethod
31777    def from_dict(cls, d):
31778        return cls(
31779            meta=d.get('meta'),
31780            rate_limit=d.get('rate_limit'),
31781            workflow_role=d.get('workflow_role'),
31782        )

WorkflowRoleGetResponse returns a requested WorkflowRole.

WorkflowRoleGetResponse(meta=None, rate_limit=None, workflow_role=None)
31743    def __init__(
31744        self,
31745        meta=None,
31746        rate_limit=None,
31747        workflow_role=None,
31748    ):
31749        self.meta = meta if meta is not None else None
31750        '''
31751         Reserved for future use.
31752        '''
31753        self.rate_limit = rate_limit if rate_limit is not None else None
31754        '''
31755         Rate limit information.
31756        '''
31757        self.workflow_role = workflow_role if workflow_role is not None else None
31758        '''
31759         The requested WorkflowRole.
31760        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

workflow_role

The requested WorkflowRole.

def to_dict(self)
31769    def to_dict(self):
31770        return {
31771            'meta': self.meta,
31772            'rate_limit': self.rate_limit,
31773            'workflow_role': self.workflow_role,
31774        }
@classmethod
def from_dict(cls, d)
31776    @classmethod
31777    def from_dict(cls, d):
31778        return cls(
31779            meta=d.get('meta'),
31780            rate_limit=d.get('rate_limit'),
31781            workflow_role=d.get('workflow_role'),
31782        )
class WorkflowRoleHistory:
31785class WorkflowRoleHistory:
31786    '''
31787         WorkflowRolesHistory provides records of all changes to the state of a WorkflowRole
31788    '''
31789    __slots__ = [
31790        'activity_id',
31791        'deleted_at',
31792        'timestamp',
31793        'workflow_role',
31794    ]
31795
31796    def __init__(
31797        self,
31798        activity_id=None,
31799        deleted_at=None,
31800        timestamp=None,
31801        workflow_role=None,
31802    ):
31803        self.activity_id = activity_id if activity_id is not None else ''
31804        '''
31805         The unique identifier of the Activity that produced this change to the WorkflowRole.
31806         May be empty for some system-initiated updates.
31807        '''
31808        self.deleted_at = deleted_at if deleted_at is not None else None
31809        '''
31810         If this WorkflowRole was deleted, the time it was deleted.
31811        '''
31812        self.timestamp = timestamp if timestamp is not None else None
31813        '''
31814         The time at which the WorkflowRole state was recorded.
31815        '''
31816        self.workflow_role = workflow_role if workflow_role is not None else None
31817        '''
31818         The complete WorkflowRole state at this time.
31819        '''
31820
31821    def __repr__(self):
31822        return '<sdm.WorkflowRoleHistory ' + \
31823            'activity_id: ' + repr(self.activity_id) + ' ' +\
31824            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
31825            'timestamp: ' + repr(self.timestamp) + ' ' +\
31826            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
31827            '>'
31828
31829    def to_dict(self):
31830        return {
31831            'activity_id': self.activity_id,
31832            'deleted_at': self.deleted_at,
31833            'timestamp': self.timestamp,
31834            'workflow_role': self.workflow_role,
31835        }
31836
31837    @classmethod
31838    def from_dict(cls, d):
31839        return cls(
31840            activity_id=d.get('activity_id'),
31841            deleted_at=d.get('deleted_at'),
31842            timestamp=d.get('timestamp'),
31843            workflow_role=d.get('workflow_role'),
31844        )

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

WorkflowRoleHistory( activity_id=None, deleted_at=None, timestamp=None, workflow_role=None)
31796    def __init__(
31797        self,
31798        activity_id=None,
31799        deleted_at=None,
31800        timestamp=None,
31801        workflow_role=None,
31802    ):
31803        self.activity_id = activity_id if activity_id is not None else ''
31804        '''
31805         The unique identifier of the Activity that produced this change to the WorkflowRole.
31806         May be empty for some system-initiated updates.
31807        '''
31808        self.deleted_at = deleted_at if deleted_at is not None else None
31809        '''
31810         If this WorkflowRole was deleted, the time it was deleted.
31811        '''
31812        self.timestamp = timestamp if timestamp is not None else None
31813        '''
31814         The time at which the WorkflowRole state was recorded.
31815        '''
31816        self.workflow_role = workflow_role if workflow_role is not None else None
31817        '''
31818         The complete WorkflowRole state at this time.
31819        '''
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)
31829    def to_dict(self):
31830        return {
31831            'activity_id': self.activity_id,
31832            'deleted_at': self.deleted_at,
31833            'timestamp': self.timestamp,
31834            'workflow_role': self.workflow_role,
31835        }
@classmethod
def from_dict(cls, d)
31837    @classmethod
31838    def from_dict(cls, d):
31839        return cls(
31840            activity_id=d.get('activity_id'),
31841            deleted_at=d.get('deleted_at'),
31842            timestamp=d.get('timestamp'),
31843            workflow_role=d.get('workflow_role'),
31844        )
class WorkflowRolesCreateRequest:
31847class WorkflowRolesCreateRequest:
31848    '''
31849         WorkflowRolesCreateRequest specifies the workflowID and roleID of a new
31850     workflow role to be created.
31851    '''
31852    __slots__ = [
31853        'workflow_role',
31854    ]
31855
31856    def __init__(
31857        self,
31858        workflow_role=None,
31859    ):
31860        self.workflow_role = workflow_role if workflow_role is not None else None
31861        '''
31862         Parameters to define the new WorkflowRole.
31863        '''
31864
31865    def __repr__(self):
31866        return '<sdm.WorkflowRolesCreateRequest ' + \
31867            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
31868            '>'
31869
31870    def to_dict(self):
31871        return {
31872            'workflow_role': self.workflow_role,
31873        }
31874
31875    @classmethod
31876    def from_dict(cls, d):
31877        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)
31856    def __init__(
31857        self,
31858        workflow_role=None,
31859    ):
31860        self.workflow_role = workflow_role if workflow_role is not None else None
31861        '''
31862         Parameters to define the new WorkflowRole.
31863        '''
workflow_role

Parameters to define the new WorkflowRole.

def to_dict(self)
31870    def to_dict(self):
31871        return {
31872            'workflow_role': self.workflow_role,
31873        }
@classmethod
def from_dict(cls, d)
31875    @classmethod
31876    def from_dict(cls, d):
31877        return cls(workflow_role=d.get('workflow_role'), )
class WorkflowRolesCreateResponse:
31880class WorkflowRolesCreateResponse:
31881    '''
31882         WorkflowRolesCreateResponse reports how the WorkflowRole was created in the system.
31883    '''
31884    __slots__ = [
31885        'rate_limit',
31886        'workflow_role',
31887    ]
31888
31889    def __init__(
31890        self,
31891        rate_limit=None,
31892        workflow_role=None,
31893    ):
31894        self.rate_limit = rate_limit if rate_limit is not None else None
31895        '''
31896         Rate limit information.
31897        '''
31898        self.workflow_role = workflow_role if workflow_role is not None else None
31899        '''
31900         The created workflow role.
31901        '''
31902
31903    def __repr__(self):
31904        return '<sdm.WorkflowRolesCreateResponse ' + \
31905            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31906            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
31907            '>'
31908
31909    def to_dict(self):
31910        return {
31911            'rate_limit': self.rate_limit,
31912            'workflow_role': self.workflow_role,
31913        }
31914
31915    @classmethod
31916    def from_dict(cls, d):
31917        return cls(
31918            rate_limit=d.get('rate_limit'),
31919            workflow_role=d.get('workflow_role'),
31920        )

WorkflowRolesCreateResponse reports how the WorkflowRole was created in the system.

WorkflowRolesCreateResponse(rate_limit=None, workflow_role=None)
31889    def __init__(
31890        self,
31891        rate_limit=None,
31892        workflow_role=None,
31893    ):
31894        self.rate_limit = rate_limit if rate_limit is not None else None
31895        '''
31896         Rate limit information.
31897        '''
31898        self.workflow_role = workflow_role if workflow_role is not None else None
31899        '''
31900         The created workflow role.
31901        '''
rate_limit

Rate limit information.

workflow_role

The created workflow role.

def to_dict(self)
31909    def to_dict(self):
31910        return {
31911            'rate_limit': self.rate_limit,
31912            'workflow_role': self.workflow_role,
31913        }
@classmethod
def from_dict(cls, d)
31915    @classmethod
31916    def from_dict(cls, d):
31917        return cls(
31918            rate_limit=d.get('rate_limit'),
31919            workflow_role=d.get('workflow_role'),
31920        )
class WorkflowRolesDeleteRequest:
31923class WorkflowRolesDeleteRequest:
31924    '''
31925         WorkflowRolesDeleteRequest specifies the ID of a WorkflowRole to be deleted.
31926    '''
31927    __slots__ = [
31928        'id',
31929    ]
31930
31931    def __init__(
31932        self,
31933        id=None,
31934    ):
31935        self.id = id if id is not None else ''
31936        '''
31937         The unique identifier of the WorkflowRole to delete.
31938        '''
31939
31940    def __repr__(self):
31941        return '<sdm.WorkflowRolesDeleteRequest ' + \
31942            'id: ' + repr(self.id) + ' ' +\
31943            '>'
31944
31945    def to_dict(self):
31946        return {
31947            'id': self.id,
31948        }
31949
31950    @classmethod
31951    def from_dict(cls, d):
31952        return cls(id=d.get('id'), )

WorkflowRolesDeleteRequest specifies the ID of a WorkflowRole to be deleted.

WorkflowRolesDeleteRequest(id=None)
31931    def __init__(
31932        self,
31933        id=None,
31934    ):
31935        self.id = id if id is not None else ''
31936        '''
31937         The unique identifier of the WorkflowRole to delete.
31938        '''
id

The unique identifier of the WorkflowRole to delete.

def to_dict(self)
31945    def to_dict(self):
31946        return {
31947            'id': self.id,
31948        }
@classmethod
def from_dict(cls, d)
31950    @classmethod
31951    def from_dict(cls, d):
31952        return cls(id=d.get('id'), )
class WorkflowRolesDeleteResponse:
31955class WorkflowRolesDeleteResponse:
31956    '''
31957         WorkflowRolesDeleteResponse reports how the WorkflowRole was deleted in the system.
31958    '''
31959    __slots__ = [
31960        'rate_limit',
31961    ]
31962
31963    def __init__(
31964        self,
31965        rate_limit=None,
31966    ):
31967        self.rate_limit = rate_limit if rate_limit is not None else None
31968        '''
31969         Rate limit information.
31970        '''
31971
31972    def __repr__(self):
31973        return '<sdm.WorkflowRolesDeleteResponse ' + \
31974            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31975            '>'
31976
31977    def to_dict(self):
31978        return {
31979            'rate_limit': self.rate_limit,
31980        }
31981
31982    @classmethod
31983    def from_dict(cls, d):
31984        return cls(rate_limit=d.get('rate_limit'), )

WorkflowRolesDeleteResponse reports how the WorkflowRole was deleted in the system.

WorkflowRolesDeleteResponse(rate_limit=None)
31963    def __init__(
31964        self,
31965        rate_limit=None,
31966    ):
31967        self.rate_limit = rate_limit if rate_limit is not None else None
31968        '''
31969         Rate limit information.
31970        '''
rate_limit

Rate limit information.

def to_dict(self)
31977    def to_dict(self):
31978        return {
31979            'rate_limit': self.rate_limit,
31980        }
@classmethod
def from_dict(cls, d)
31982    @classmethod
31983    def from_dict(cls, d):
31984        return cls(rate_limit=d.get('rate_limit'), )
class WorkflowRolesListRequest:
31987class WorkflowRolesListRequest:
31988    '''
31989         WorkflowRolesListRequest specifies criteria for retrieving a list of
31990     WorkflowRole records
31991    '''
31992    __slots__ = [
31993        'filter',
31994    ]
31995
31996    def __init__(
31997        self,
31998        filter=None,
31999    ):
32000        self.filter = filter if filter is not None else ''
32001        '''
32002         A human-readable filter query string.
32003        '''
32004
32005    def __repr__(self):
32006        return '<sdm.WorkflowRolesListRequest ' + \
32007            'filter: ' + repr(self.filter) + ' ' +\
32008            '>'
32009
32010    def to_dict(self):
32011        return {
32012            'filter': self.filter,
32013        }
32014
32015    @classmethod
32016    def from_dict(cls, d):
32017        return cls(filter=d.get('filter'), )

WorkflowRolesListRequest specifies criteria for retrieving a list of WorkflowRole records

WorkflowRolesListRequest(filter=None)
31996    def __init__(
31997        self,
31998        filter=None,
31999    ):
32000        self.filter = filter if filter is not None else ''
32001        '''
32002         A human-readable filter query string.
32003        '''
filter

A human-readable filter query string.

def to_dict(self)
32010    def to_dict(self):
32011        return {
32012            'filter': self.filter,
32013        }
@classmethod
def from_dict(cls, d)
32015    @classmethod
32016    def from_dict(cls, d):
32017        return cls(filter=d.get('filter'), )
class WorkflowRolesListResponse:
32020class WorkflowRolesListResponse:
32021    '''
32022         WorkflowRolesListResponse returns a list of WorkflowRole records that meet
32023     the criteria of a WorkflowRolesListRequest.
32024    '''
32025    __slots__ = [
32026        'rate_limit',
32027    ]
32028
32029    def __init__(
32030        self,
32031        rate_limit=None,
32032    ):
32033        self.rate_limit = rate_limit if rate_limit is not None else None
32034        '''
32035         Rate limit information.
32036        '''
32037
32038    def __repr__(self):
32039        return '<sdm.WorkflowRolesListResponse ' + \
32040            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
32041            '>'
32042
32043    def to_dict(self):
32044        return {
32045            'rate_limit': self.rate_limit,
32046        }
32047
32048    @classmethod
32049    def from_dict(cls, d):
32050        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)
32029    def __init__(
32030        self,
32031        rate_limit=None,
32032    ):
32033        self.rate_limit = rate_limit if rate_limit is not None else None
32034        '''
32035         Rate limit information.
32036        '''
rate_limit

Rate limit information.

def to_dict(self)
32043    def to_dict(self):
32044        return {
32045            'rate_limit': self.rate_limit,
32046        }
@classmethod
def from_dict(cls, d)
32048    @classmethod
32049    def from_dict(cls, d):
32050        return cls(rate_limit=d.get('rate_limit'), )
class WorkflowUpdateResponse:
32053class WorkflowUpdateResponse:
32054    '''
32055         WorkflowUpdateResponse returns the fields of a Workflow after it has been updated by
32056     a WorkflowUpdateRequest.
32057    '''
32058    __slots__ = [
32059        'rate_limit',
32060        'workflow',
32061    ]
32062
32063    def __init__(
32064        self,
32065        rate_limit=None,
32066        workflow=None,
32067    ):
32068        self.rate_limit = rate_limit if rate_limit is not None else None
32069        '''
32070         Rate limit information.
32071        '''
32072        self.workflow = workflow if workflow is not None else None
32073        '''
32074         The updated workflow.
32075        '''
32076
32077    def __repr__(self):
32078        return '<sdm.WorkflowUpdateResponse ' + \
32079            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
32080            'workflow: ' + repr(self.workflow) + ' ' +\
32081            '>'
32082
32083    def to_dict(self):
32084        return {
32085            'rate_limit': self.rate_limit,
32086            'workflow': self.workflow,
32087        }
32088
32089    @classmethod
32090    def from_dict(cls, d):
32091        return cls(
32092            rate_limit=d.get('rate_limit'),
32093            workflow=d.get('workflow'),
32094        )

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

WorkflowUpdateResponse(rate_limit=None, workflow=None)
32063    def __init__(
32064        self,
32065        rate_limit=None,
32066        workflow=None,
32067    ):
32068        self.rate_limit = rate_limit if rate_limit is not None else None
32069        '''
32070         Rate limit information.
32071        '''
32072        self.workflow = workflow if workflow is not None else None
32073        '''
32074         The updated workflow.
32075        '''
rate_limit

Rate limit information.

workflow

The updated workflow.

def to_dict(self)
32083    def to_dict(self):
32084        return {
32085            'rate_limit': self.rate_limit,
32086            'workflow': self.workflow,
32087        }
@classmethod
def from_dict(cls, d)
32089    @classmethod
32090    def from_dict(cls, d):
32091        return cls(
32092            rate_limit=d.get('rate_limit'),
32093            workflow=d.get('workflow'),
32094        )